Программируемый таймер К1810ВИ54 относится к классу функционально ориентированных программно управляемых интерфейсных БИС, поэтому перед началом работы в него необходимо загрузить управляющее слово (УС) и константу пересчета. УС задает режим работы, тип счета (двоичный или двоично-десятичный), порядок загрузки и размерность (один или два байта) константы пересчёта.
Проектируемой системой используются только один (нулевой) канал таймера, функционирующий во втором режиме, генерируя сигналы запуска на АЦП с определённой периодичностью.
Управляющее слово нулевого канала (24h),
загружаемое по адресу 13h, содержит в себе следующую информацию:
Рис.3 Содержание регистра управляющего слова нулевого канала таймера
В режиме 2 – импульсного генератора частоты – канал работает как делитель входной частоты PCLK на N, где N- константа пересчета. Режим 2 является режимом с автозагрузкой, т.е. после окончания цикла счета счетчик автоматически перезагружается и счет повторяется.
0000h: mov ax, 4FFFh ; инициализация указателя стека
mov sp, ax
mov ax, 0000h ; инициализация сегмента данных
mov ds, ax
mov al, 24h ; инициализация таймера
out 5003h, al
mov al, N ; загружается константа пересчёта
out 5000h, al ; в нулевой канал
xor dl, dl ;обнуляем dl
sti ; разрешение прерывания
hlt ; ожидание прерывания
0060h:
CIKL:
mov cx,3 ;в CX загружаем 3
inc si ;увеличиваем si на 1
mov al,dl
out 3000h, al
in al, 6000h ; считывание информации с АЦП
cmp al, 25h ; сравниваем показания датчика температуры
; с верхним допустимым пределом 37˚
ja M1 ; переход на M1, если al>25h
cmp al, 24h ; сравниваем показания датчика с...
; ...нижним допустимым пределом 36˚
ja M2 ; переход на M2, если al>24h
mov [bx],si ; записать в ОЗУ номер больного
M1: mov [bx+1], al ; пересылка al в ячейку памяти
M2: inc bx ;увеличиваем bx на 1
inc dl ;увеличиваем dl на 1
mov al,dl
out 3000h, al
in al, 6000h ; коммутация АЦП на следующий канал
cmp al, 82h ; сравниваем показания датчика ВАД с...
; ...верхним допустимым пределом 120
ja M3 ; переход на M3, если al>120
cmp al, 6Eh ; сравниваем показания датчика с...
;... нижним допустимым пределом 110
ja M4 ; переход на M4, если al>100
mov [bx], si ; записать в ОЗУ номер больного
M3: mov [bx+1], al ; пересылка al в ячейку памяти
M4: inc bx ;увеличиваем bx на 1
inc dl ; увеличиваем dl на 1
mov al,dl
out 3000h, al
in al, 6000h ; коммутация АЦП на следующий канал
cmp al, 50h ; сравниваем показания датчика НАД с...
; ...верхним допустимым пределом 80
ja M5 ; переход на M5, если al>80
cmp al, 3Ch ; сравниваем показания датчика с...
; ...нижним допустимым пределом 60
ja M6 ; переход на M6, если al>60
mov [bx], si ; записать в ОЗУ номер больного
M5: mov [bx+1], al ; пересылка al в ячейку памяти
M6: inc bx ;увеличиваем bx на 1
inc dl ;увеличиваем dl на 1
loop CIKL ; вернуться на метку CIKL
xor dl, dl ;обнуляем dl
cmp si, FAh ; сколько пациентов было всего обследовано
je VIXOD ;переход на метку VIXOD, если были...
; ...обследованы все пациенты
jmp CIKL ;безусловный переход на метку CIKL
VIXOD: xor bx,bx ;обнуляем bx
xor si,si ;обнуляем si
hlt ; ожидание прерывания
cli ; запрещение прерывания
3FCh: 60h,00h,00h,00h
7FF0h: jmp 00000000h ; и переход на основную программу
7. Список использованных источников
1. Ю.М. Казаринов – «Микропроцессорный комплект К1810», “Высшая школа”, Москва, 1990г.
2. Ю.М. Казаринов – «Применение микропроцессоров и микроЭВМ в радиотехнических системах», “Высшая школа”, Москва, 1988г.
3. М.М. Мичурина, И.Н. Сушкин – «Использование АЦП и ЦАП в цифровых системах. Метод. указания», КГТУ, Красноярск,1996г.
4. М.М. Мичурина, И.Н. Сушкин – «Цифровые устройства и микропроцессоры: Прогр. и метод. указания.», КГТУ, Красноярск, 1999г.
5. В. Юров учебник “ASSEMBLER” «Питер, 2002».
6. Б. Г. Федорков Микроэлектронные цифро-аналоговые и аналого-цифровые преобразователи.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.