STRT CNT ;3апуск счетчика
МТ: MOV А,Т ;3агрузка аккумулятора из счетчика
JB5MET ;Переход к метке МЕТ при А5=1, т.е. (А)=32
JMP МТ ;Переход к метке МТ
Р6.87. Фрагмент программы:
COUNT: STRT CNT ;Запуск счетчика
BEG: CLR А ;Очистка аккумулятора
MOV Т,А ;Очистка счетчика
L1: JTF L2 ;Условный переход к метке L2 по признаку
;переполнения счетчика
JMP L1 ;Возврат к L1
L2: INC А ;Инкремент аккумулятору
OUTL P1,A ;Вывод (А) в порт Р1
JB8 BEG ;Возврат к метке BEG при А8 = 1, т.е.
;при (А) = 128
JMP L2 ;Возврат к L2
Р6.88. При тактовой частоте МК1816 6 МГц во внутреннем. Датчике (таймере) состояние инкрементируется каждые 80 мкс. Таким образом, заданный интервал 8 мс соответствует состоянию таймера 100 = 64Н. Вариант программы приведен ниже. Подпрограмма PROG1 выполняется в начале каждого интервала (предполагается, что время ее выполнения меньше 8 мс). Проверка состояния таймера производится с помощью команд XPL и JZ.
INT: CLR А ;Очистка аккумулятора
MOV Т, А ;Очистка таймера
STRT Т ;3апуск таймера
CALL PROG1 ;Вызов подпрограммы PROG1
L1: MOV А, Т ;Пересылка из таймера в аккумулятор
XRL A,#64H ;(А)←(А)+01100100
JZ INT ; Переход к метке INT, если (А) = 0
JMP L1 ;Возврат к метке L1
ROG1: ................... ;
................... ; Подпрограмма
RET ; ;
P6.89. Схема МПС на базе МК1816 с дополнительным одним ОЗУ емкостью 256 байт приведена на рис. Р6.4. ОЗУ показано условно: оно может состоять и из нескольких микросхем. Управление ОЗУ производится через многорежимный буферный регистр (МБР) с помощью сигналов «строб веса внешней памяти» (САВП), и , снимаемых выходов МК. Адреса выбираемых ячеек ОЗУ и данные подаются через двунаправленный внутренний порт BUS.
Рис. Р6.4. Схема подключения дополнительного (внешнего) ОЗУ к микроконтроллеру КМ 1816
При ВР = 1 информационные выходы МБР постоянно открыты. В исходном состоянии САВП = ВК2 = 0 и информационные входы МБР от шины BUS отключены. Обращение к внешнему ОЗУ осуществляется с помощью команд пересылки MOVX A, (@ Rr и MOVX (@ Rr, А с косвенной адресацией выбираемых ячеек ОЗУ в регистрах R0 и R1 внутреннего ОЗУ МК. При выполнении этих команд в МК образуйся сигнал САВП=1, который открывает информационные входы МБР, в результате чего байт адреса ячейки ОЗУ выводится через порт BUS на адресные входы внешнего ОЗУ А0…7.После этого МК выдает сигналы , и обменивается информацией с ОЗУ опять же через порт BUS, но теперь по входам D0…7 ОЗУ. При Зп = 0, Чт = 1 информация выводится из МК в ОЗУ, а при Зп = 1,Чт = 0 — вводится в МК из ОЗУ.
Р6.90. Схема МПС с расширенной памятью программ представлена на рис. Р6.5. При обращении к внутренней памяти программ емкостью 1 Кбайт (адреса 0 ... 1023) МК
Рис. Р6.5. Схема подключения дополнительного (внешнего) ПЗУ к микроконтроллеру КМ 1816
генерирует внешних управляющих сигналов (кроме сигнала САВП, сопровождающего каждый машинный цикл).Начиная с адреса 1024, МК при выполнении команд JMP и CALL автоматически выводит содержимое счетчика команд 1 бит) через порт BUS (биты А0 ... А7) и младшую тетраду порта Р2 (биты А8 ... а11), а также формирует сигнал «разрешение внешней памяти» РВП = 0. Последний используется для фиксации байта адреса А0 ... А7 в регистре МБР (биты А8 ... а11 фиксируются в порте Р2). Поскольку при ВР=1коды МБР всегда открыты, адрес выбираемой ячейки А0 ... а9по сигналу РВП = 0 подается параллельно на все сразу ПЗУ.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.