Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Рекомендуемая процедура инициализации микроконтроллера




Сразу после сброса микроконтроллера практически всегда необходимо выполнить инициализацию микроконтроллера. При инициализации микроконтроллера может быть использована процедура, приведённая в листинге 3.1.

 

Листинг 3.1 – Процедура инициализации микроконтроллера

  .ORG 0000H ; Адрес начала программы
  JMP BEGIN ; Переход к основной части ; программы
  .ORG 0003H ; Адрес обработчика ; прерываний по входу INT0
  JMP EXT0 ; Переход на процедуру ; обработки прерываний по ; входу INT0
  .ORG 000BH ; Адрес обработчика ; прерываний от таймера ; T/C0
  JMP TIMER0 ; Переход на процедуру ; обработки прерываний от ; таймера T/C0
  .ORG 0013H ; Адрес обработчика ; прерываний по входу INT1
  JMP EXT1 ; Переход на процедуру ; обработки прерываний по ; входу INT1
  .ORG 001BH ; Адрес обработчика ; прерываний от таймера ; T/C0
  JMP TIMER1 ; Переход на процедуру ; обработки прерываний от ; таймера T/C0
  .ORG 0023H ; Адрес обработчика ; прерываний от ; последовательного порта
  JMP SERIAL ; Переход на процедуру ; обработки прерываний от ; последовательного порта
BEGIN:   CLR EA ; Запрет всех прерываний
  CLEAR: MOV R0, #7FH MOV @R0, #00H DJNZ R0, CLEAR   ; Очистка оперативной ; памяти микроконтроллера ;
  MOV SP, #30H   …   ; Переопределение дна стека ; Здесь должна находиться ; основная программа
  JMP $ ; Останов программы ; (команда перехода «сама на ; себя»)
EXT0:   …     RETI ; Здесь может находиться ; процедура обработки ; прерывания от входа INT0 ; Команда выхода из ; прерывания
  EXT1:     …     RETI ; Здесь может находиться ; процедура обработки ; прерывания от входа INT1 ; Команда выхода из ; прерывания
TIMER0:   …     RETI ; Здесь может находиться ; процедура обработки ; прерывания от таймера ; T/C0 ; Команда выхода из ; прерывания
TIMER1:   …     RETI ; Здесь может находиться ; процедура обработки ; прерывания от таймера ; T/C1 ; Команда выхода из ; прерывания
SERIAL:   …     RETI ; Здесь может находиться ; процедура обработки ; прерывания от ; последовательного порта ; Команда выхода из ; прерывания

 

В данной процедуре выполняется определение векторов и процедур всех прерываний. Эта процедура позволяет исключить все возможные последствия «случайного попадания» в область векторов прерывания.

Сброс флага EA необходим для запрета всех прерываний до момента инициализации всех переменных, используемых как основной программой, так и подпрограммами обработки прерываний.

Очистку оперативной памяти микроконтроллера рекомендуется выполнять тем программистам, которые привыкли «рассчитывать» на нулевые значения впервые используемых регистров и ячеек памяти.

Переопределение дна стека рекомендуется выполнять, если предполагается активная работа со стеком (команды POP, PUSH, CALL, ACALL, LCALL, RET). Данная операция необходима и при использовании аппаратных прерываний, т.к. при прерывании адрес программы, которая была прервана, сохраняется в стеке и извлекается из стека при выходе из прерывания по команде RETI.

Контрольные вопросы

1 Какая система счисления по умолчанию предполагается компилятором?

2 Является ли компилятор регистрозависимым?

3 Допускается ли писать текст программы, начиная с первой колонки?

4 Как оформляются комментарии?

5 Обязательно ли ставить точку перед именем директивы?

6 Что такое макроопределения?

7 Для чего при инициализации микроконтроллера рекомендуется настраивать все вектора прерываний?

8 Обязательно ли переопределение указателя стека и очистка внутреннего ОЗУ? Почему?






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных