Примеры практического применения МК48.
Примеры программ и приемы программирования.
SEL MB0 (1-1)
SEL RB0 (1-1)
Команды управления режимами.
JF0 ad8 (2-2)
JT1 ad8 (2-2)
JT0 ad8 (2-2)
JNT0 ad8 (2-2). Условный переход по состоянию сигнала на выводе T0.
JNT1 ad8 (2-2). Условный переход по состоянию сигнала на выводе T1.
JF1 ad8 (2-2). Условный переход, если установлен флаг пользователя F0 или F1.
JTF ad8 (2-2) Условный переход по переполнению таймер-счетчика.
JNI ad8 (2-2) Условный переход, если на входе INT низкий уровень.
JBb ad8 (2-2) Переход по метке, если бит b аккумулятора равен 1.
JB2 M1 (2-2) Переход на метку М1, если второй бит аккумулятора равен 1.
Команды для работы с подпрограммами.
CALL ad11 (2-2) Переход на подпрограмму, начало которой расположено по адресу ad11.
RET (1-2) Возврат из подпрограммы. Из стека восстанавливается только значение счетчика команд.
RETR (1-2) Возврат из подпрограммы обработки прерывания. Из стека восстанавливается значение счетчика команд регистра PSW.
|
|
NOP (1-1) Холостая команда. Реализует временную выдержку в 2,5 микросекунды.
STRT T (1-1) Запуск таймера-счетчика в режиме таймера.
STRT CNT (1-1) Запуск таймера-счетчика в режиме счетчика событий.
STOP TCNT (1-1) Останов таймера-счетчика
EN TCNTI (1-1) Разрешить прерывания от таймера-счетчика.
DIS TCNTI (1-1) Запретить прерывания от таймера-счетчика.
EN I (1-1) Разрешить внешние прерывания.
DIS I (1-1) Запретить внешние прерывания.
SEL RB1 (1-1) Выбор банка рабочих регистров.
SEL MB1 (1-1) Выбор банка памяти программ.
ENTO CLK (1-1) Разрешить выдачу синхросигнала на вывод T0.
Система команд МК48 имеет кроме вышеприведенных еще несколько команд, которые будут рассмотрены в примерах применения ОМЭВМ.
Рассмотрим подсистему аналогового ввода-вывода на основе микроЭВМ, имеющих внутреннюю память программ. Рассматриваемая подсистема имеет 8 аналоговых входов и один аналоговый выход.
Функциональная схема приведена для аналогового коммутатора КР590КН6 и АЦП К1113ПВ1.
Здесь MX – аналоговый мультиплексор или 8-канальный аналоговый коммутатор, подключает один из 8 аналоговых входов к аналоговому входу U(АС) АЦП. Номер подключаемого входа определяется кодом на входах 0,1,2 коммутатора и выбирается программно с помощью разрядов P10…P12 микроЭВМ в соответствии с таблицей.
Номер канала | |||
Сигналом запуска по входу Г//П (гашение и преобразование) запускается цикл преобразования АЦП, по окончании которого на выходах Q АЦП появляется код, соответствующий напряжению на входе U(АС) АЦП, а на выходе ГД (готовность данных) АЦП устанавливается низкий логический уровень, означающий готовность данных на выходе АЦП и вызывающий прерывание микроЭВМ по входу /INT. В подпрограмме обработки этого прерывания микроЭВМ вводит код с выходов АЦП через порт P0. Временная диаграмма, поясняющая принцип работы микроЭВМ и АЦП.
|
|
Программа, реализующая непрерывный циклический процесс ввода аналогового сигнала с канала 1.