Помогите разобраться с прерываниями PIC микроконтроллеров !

Короче, немного научился программировать в машинных кодах контроллер PIC12F629, так как в ассемблере чуть что не так и программа не компилируется в код. Вот до чего дошел! Пока для изучения пишу програмки, занимающие не боле 20 ячек памяти. Но застрял на прерываниях. Как пишут в литературе, когда включается бит прерывания, например при переполнении счётчика, основная программа контроллера приостанавливается и происходит переход на подпрограмму обработки прерываний. Но какой командой из этого списка команд (всего в таблице 35 команд) установить адрес расположения подпрограммы прерывания и где его записать, в какой ячейке памяти ?
4 года назад от Лось

2 Ответы



0 голосов
обычно, это делается не инструкцией ЦП, а директивой ORG (или что там у PIC) обявляется адрес обработчика прерывания (вектор) , откуда идет jump на саму подпрограмму. Завершается подпрограмма обработки прерывания инструкцией возврата (RETFIE/RETLW)
Но я так предполагаю, т. к ни разу не занимался PIC ассемблером, но так сделано почти везде.
4 года назад от RosariaSeabo
0 голосов
у любого МК есть так называемые векторы прерывания, куда переходит МК при возникновении конкретного прерывания, всё это прописано в даташите. и примеров в сети куча.
обработка прерывания это функция, выход из этой функции команда RETFIE.
RETLW это выход из обычной функции.
4 года назад от Ринат

Связанные вопросы