Инициализация однокристальных микроконтроллеров

Страницы работы

Содержание работы

Выполнил:

Студент группы ЭС-41

Матылицкий И. В.

Лабораторная работа № 2

Инициализация однокристальных микроконтроллеров

Цель работы: Изучить принципы инициализации функциональных модулей ОЭВМ MCS-51. Изучить принципы отладки программ в среде ProView (Franklin Software).

Индивидуальное задание.

Вариант 2:

  • Режим последовательного порта: 1 (через TXD передаются или из RXD принимаются 10 бит: старт-бит (0), 8 бит данных и стоп-бит (1); скорость приёма/передачи – величина переменная и задаётся таймером)
  • Скорость последовательного порта: 1200 (необходима инициализация бита SMOD и перегружаемого значения для таймера 1; таймер должен быть установлен в режим 2 – 8-битный с перезагрузкой)
  • Разрешено прерывание INT0, приоритет 1 (установка глобального разрешения прерываний EA, бита разрешения прерывания по внешней линии EX0 и битов в IPH)
  • Разрешено прерывание от таймера 1, приоритет 3 (бит ET1)
  • Порт 0, вывод 7 как выход, выходное значение 0 (запись в регистр порта соответствующего значения)
  • Порт 1, вывод 1 как выход, выходное значение 0
  • Порт 2, вывод 2 как выход, выходное значение 0
  • Порт 3, вывод 0 как выход, выходное значение 1

Листинг составленной программы

IPH   EQU 0B7H

init:

 lcall init_hards

 ljmp init

init_hards:

 mov SCON, #01000000b ;режим 1 последовательного порта

 ;установка скорости передачи

 mov A, #01111111 ;скорость передачи не удваивать

 anl A, PCON

 mov PCON, A

 mov TCON, #00000000b ;инициализация таймера 1

 mov TMOD, #00100000b ;режим 2 для таймера 1

 mov TH1, #0E8h ;установка таймера для частоты передачи = 1200 Гц

 clr TI ;готов к передаче

 setb TR1

 mov   IE, #0A9h ;инициализация системы прерываний

 mov   IP, #09h

 mov   IPH, #08h

 mov P0, #07Fh ;инициализация порта 0

 mov P1, #0FDh ;инициализация порта 1

 mov P2, #0FBh ;инициализация порта 2

 mov  P3, #0FFh ;инициализация порта 3

 ret

end

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

Похожие материалы

Информация о работе