Команды логического преобразования содержимого регистров ANL Рр, # data и ORL Рр, # (p= 1,2) позволяют разработчику использовать одни линии порта для ввода, а другие — для вывода (квазидвунаправленный режим передачи).
Порт BUS представляет собой двунаправленный буфер с тремя состояниями выхода и служит для побайтного ввода, вывода или ввода/вывода информации. При этом используются команды OUTL BUS,А и INS BUS,А для однонаправленной передачи и команда MOVX для двунаправленной передачи. Необходимо помнить, что команда OUTL фиксирует передаваемый байт в выходном регистре, а команда MOVX уничтожает содержимое этого регистра.
Стандартное использование порта BUS — это организация обмена с внешней памятью данных и программ.
При работе в реальном масштабе времени микроконтроллер связан с объектом управления тремя входами T0, T1 и INT, которые командами условной передачи могут воздействовать на ход программы управления (INT может воздействовать и непосредственно). Кроме того, сигнал со входа T1 может восприниматься как сигнал счета внешних событий. Число входных сигналов может быть увеличено за счет их подачи в виде параллельного кода на порты ввода-вывода. Опрос этих сигналов осуществляется программно при помощи команд IN и INS. Наличие внутреннего 8-разрядного счетчика/таймера позволяет подсчитывать внешние (T1) или внутренние (импульсы с периодом 80 мкс) события и вырабатывать сигнал переполнения TF, воспринимаемый микроконтроллером как сигнал внутреннего прерывания. Группа команд разрешает и запрещает прерывание по TF, устанавливает начальный код счета, запускает и останавливает счет, тестирует состояние счетчика/таймера путем пересылки его кода в аккумулятор.
Счетчик/таймер работает в инкрементном режиме по модулю 256, сигнал TF вырабатывается при перехода от 255 к нулю.
Для подсчета N событий в счетчик/таймер должно быть предварительно записано число (-N) в дополнительном коде. Пусть, например, нам необходимо сформировать задержку в 240 мкс. Фрагмент программы инициализации счетчика таймера примет вид:
MOV A,#NOT (240/80- 1) ;загрузка таймера
MOV T, A ; кодом [-3]доп;
STRT Т ; запуск таймера;
EN TCNTI ; разрешение прерывания по сигналу TF.
2.4. Программирование и проверка ППЗУ
Процесс загрузки прикладных программ в резидентную память программ МК требует специального устройства — программатора, который, с одной стороны, обеспечивает генерацию управляющих сигналов, необходимых для ввода в МК адреса/данных, а, с другой, дает возможность проверки правильности введенных программ.
Вне зависимости от технического выполнения программатора (ручное/ автоматическое, программное управление) процесс загрузки должен подчиняться определенному протоколу.
Работа программатора демонстрируется эпюрами напряжений, изображенными на рис. 2.3.
Глава 3. ПРИМЕР ПРОЕКТИРОВАНИЯ МИКРОКОНТРОЛЛЕРА
3.1. Постановка задачи
На основе однокристальной ЭВМ К1816ВБ48 разработать устройство охранной сигнализации (УОС) автомобиля. УОС служит для предупреждения о несанкционированном доступе путем генерации звуковых, световых и радиосигналов. В стандартном режиме УОС запитывается от основного аккумулятора (ОА), а при его "несанкционированном отключении" автоматически переключается на дополнительный аккумулятор (DA),встроенный в специальный звуковой сигнал.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.