Составители:
10
ких участках программы, чтобы время выполнения программы между
двумя соседними командами CLRWDT не превышало периода сраба
тывания сторожевого таймера, т. е. интервала времени, в течение ко
торого WDT проходит все состояния и возвращается в исходное состо
яние (аппаратный сброс). Программный сброс не влияет на работу си
стемы, возникновение аппаратного сброса указывает на наличие сбоя
в работе системы, вызванного зацикливанием программы. Обработка
прерывания, вызванного аппаратным сбросом, предусматривает дей
ствия, направленные на устранение последствий от сбоя.
Команда SLEEP предназначена для перевода процессора в режим
пониженного энергопотребления. После выполнения этой команды
тактовый генератор процессора выключается, и обратно в рабочий
режим процессор можно перевести либо по входу сброса, либо по сра
батыванию сторожевого таймера, либо по прерыванию.
Система команд приведена в табл. П1.1. Большинство команд
выполняется за 1 цикл (4 такта, 200 нс при F = 20 МГц). Команды
байтовой обработки включают обычный набор арифметических, ло
гических и сдвиговых операций. При наличии двух операндов один
из них всегда находится в аккумуляторе W.
Для организации циклов и условных переходов в программе ис
пользуются команды пропуска DECFSZ, INCFSZ, BTFSC, BTFSS,
которые в случае выполнения заданного условия пропускают следу
ющую команду – увеличивают счетчик команд PC сразу на 2.
При переходах по команде GOTO 11битовый адрес перехода из кода
команды загружается в разряды PC.10–0, а два старших разряда бе
рутся из 5битового регистра PCLATH (PC.12–11 = PCLATH.4–3),
т. е. без переустановки PCLATH переход возможен в пределах 2 кслов.
Аналогично формируется адрес перехода командой CALL, однако она
предварительно спасает в стеке содержимое PC. Аппаратный стек
глубиной 8 слов пользователю недоступен, загрузка PC из стека про
изводится командами RETURN, RETFIE, RETLW, причем последняя
команда перед возвратом загружает в W константу и используется
для организации таблиц данных в памяти программ. Формирование
признаков отмечено в последней графе табл. П1.1, сами признаки
фиксируются в младших разрядах регистра STATUS (табл. П2.3).
При записи программ на Ассемблере имя команды можно указы
вать строчными или прописными буквами, в имени переменных эти
буквы имеют различные значения. Целые числа можно задавать
в двоичном, десятичном или шестнадцатиричном формате в следую
щей форме:
MOVLW b’10100110' ; двоичное число
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »