Отговори на тема  [ 14 мнения ] 
Въпрос от начинаещ 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Въпрос от начинаещ
От скоро се занимавам с микроконтролери. Намерих си книжка за програмиране на микроконтролери на С. Може ли някой да ми обясни как да задам източник на прекъсване? Примерно като се промени състоянието на порт В бит 0 от low към high, да се регистрира прекъсване. В книжката дето я чета това не е показано. Има само стандартните прекъсвания за контролера, който използват - PIC 16F877.
Трябва ми да накарам контролера да прави различни неща при подаване на импулс от бутон към различни входове. Искам като подам импулс да се задейства различно прекъсване и да си изпълни там, каквото трябва. За това, което правя трябва да задам поне 20 източника(20 пина).
Благодаря!


Сря Авг 19, 2009 7:15 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Вто Яну 31, 2006 11:11 pm
Мнения: 295
Местоположение: София
Мнение Re: Въпрос от начинаещ
За четене на бутони не е необходимо прекъсване. Това са бавни процеси които се четат чрез сканиране на порта през определено време


Сря Авг 19, 2009 9:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение 
Да обаче понеже трябва да регистрирам от кое точно краче идва, ако сканирам целия порт ще трябва да си направя алгоритъм за това. Мисля че ще стане по-лесно ако дефинирам всеки пин като източник на прекъсване. Като идея това със сканирането може да стане. Не е точно, както аз искам, но мисля че ще стане.
А иначе има ли начин да си дефинирам мои източници на прекъсване???


Сря Авг 19, 2009 11:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
stoyanoff написа:
Да обаче понеже трябва да регистрирам от кое точно краче идва, ако сканирам целия порт ще трябва да си направя алгоритъм за това. Мисля че ще стане по-лесно ако дефинирам всеки пин като източник на прекъсване. Като идея това със сканирането може да стане. Не е точно, както аз искам, но мисля че ще стане.
А иначе има ли начин да си дефинирам мои източници на прекъсване???


Така или иначе, всичко ще отива в едно прекъсване и ще трябва, щеш-не щеш, да си сканираш порта за да видиш конкретния пин, от който е дошло прекъсването.


Чет Авг 20, 2009 10:35 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Експандерите от типа на MCP23S17 поддържат прекъсване по промяна на всеки пин.


Чет Авг 20, 2009 11:29 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение 
Това го направих. Може ли да ми кажете какъв интерфейс да използвам за комуникация м/у много контролери -примерно 4. Трябва да могат да си обменят малка по обем информация, като се използват, колкото може по- малко входове. Понеже има 2 мастъра(главни) и 2 второстепенни(слейв). Обмена на инфо трябва да може да се извършва всеки с всеки. Харесах си И2С, но не съм много сигурен дали е подходящо. А и не ми емного ясно как точно се инициализират чиповете. Може ли да дадете мнение по въпроса и ако може някакъв линк, от където да се образовам??? :)


Чет Авг 20, 2009 1:54 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Вто Яну 31, 2006 11:11 pm
Мнения: 295
Местоположение: София
Мнение 
Избора на интерфейс зависи не само от броя на контролерите но и от разстоянието между тях както и в каква среда ще работят, дали вкъщи или в индустриална зашумена среда.


Чет Авг 20, 2009 6:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение 
Средата не е зашумена. Максималното разстояние е 2 метра.


Чет Авг 20, 2009 8:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Ползвай CANBUS, тъкмо ще го изучиш.


Чет Авг 20, 2009 9:56 pm
Профил ICQ WWW
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 15, 2008 10:00 am
Мнения: 12
Мнение 
Каква книжка за програмиране на микроконтролери на С ползваш?


Съб Авг 22, 2009 5:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение 
Ами изтеглих си Programming 8Bit PIC Micro Controllers in C и Advanced PIC Microcontroller Projects in C


Сря Авг 26, 2009 2:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение 
да попитам нещо друго Като дам на MPlab да конпилира нещо ми изписва
*** Error 24 "C:\Users\User\Desktop\proj\16F876A.h" Line 2(9,19): Unknown device type -- Try PCM
1 Errors, 0 Warnings.
Сложил съм файла на чипа в проекта и съм гозаредил в хедъра. Пробвах с различни чипове. Мисля че версията на MPlab не е демо.
Какво да правя???


Сря Сеп 02, 2009 8:53 am
Профил
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 11, 2006 8:19 pm
Мнения: 373
Местоположение: София/Edinburgh, UK
Мнение 
Въпроса е дали версията на CCS е демо, защото ако е не можеш да програмираш 16Ф876а, дори и да имаш хедър файла. Другия вариянт е да си объркал компилатора, който ти трябва. Ето да разгледаш кой компилатор за кое семейство е : http://www.ccsinfo.com/content.php?page=Purchasing1

_________________
Българският портал за РОБОТИКА


Сря Сеп 02, 2009 11:09 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
А ето ти и компилатор за цялото родословно дърво :)

http://www.mikroe.com/en/compilers/mikroc/pro/pic/


Сря Сеп 02, 2009 11:46 am
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 14 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 8 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни