Для установки режимов работы ККД в регистр команд заносится управляющее слово, содержащее следующую информацию:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
DS2 |
DS1 |
K3 |
K2 |
K1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Таким образом, ККД программируется на управление 8-разрядным 8-символьным дисплеем с внешней дешифрацией. Ввод информации производится слева.
3.4 Использование таймера.
Программируемый таймер К1810ВИ54 предназначен для организации периодических запусков АЦП и программно-управляемых задержек с возможностью программного контроля их выполнения.
Таймер включает в себя три независимых канала, каждый из которых может быть запрограммирован на работу в одном из шести режимов для двоичного или двоично-десятичного счета.
В данной МПС таймер используется как программно-управляемый генератор отсчетов АЦП. В данной схеме можно не только программировать частоту опросов, но и определенные временные интервалы, в течение которых берутся отсчеты.
Нулевой канал таймера работает в режиме 2 (импульсный генератор частоты). Первый канал таймера работает в режиме 1 (программируемый ждущий мультивибратор). Второй канал работает в режиме 3 (генератор импульсов со скважностью 2).
Пусть начальные константы А, В, С. Если F частота синхронизации, то на входе CLK1 действует частота . На выходе OUT1 формируется отрицательный импульс длительностью . Таким образом, формируется временной интервал, в течение которого берутся отсчеты АЦП. При подключении выхода OUT0 к входу «Запуск преобразования» АЦП, за время сек. будут формироваться отсчеты с частотой .
3.5 Интерфейс АЦП.
В качестве устройства сопряжения АЦП с ШД МП применен параллельный интерфейс КР580ВВ55. Данная микросхема представляет собой программируемое устройство ввода/вывода параллельной информации, применяется в качестве элемента ввода вывода общего назначения, сопрягающего различные типы периферийных устройств с магистралью данных МПС.
Обмен информацией между магистралью данных и микросхемой осуществляется через 8-разрядный двунаправленный тристабильный канал данных. Для связи с периферийными устройствами используются 24 линии ввода/вывода, сгруппированных в три 8-разрядных канала ВА, ВВ, ВС, направление передачи информации и режимы, работы которых могут изменяться программным путем.
Микросхема может функционировать в трех основных режимах. Режим работы каждого из каналов определяется содержимым регистра слова управления (РУС).
В своей МПС я использовал только каналы ВА и ВС. Канал ВА программируется на ввод кодов АЦП, по прерыванию, в 1 режиме (стробируемый ввод/вывод по сигналам квитирования). Линии канала ВС: ВС4, ВС5 и ВС3 используются в качестве управляющих сигналов STB, INT, ASC.
Вход STB подключается к выходу АЦП «Готовность данных», сигнал INT подключается к соответствующему входу микропроцессора, сигнал ASC, подтверждение приема, не используется.
После передачи
в порт А данных с АЦП, формируется сигнал запроса прерывания, и по прерыванию,
данные поступают в микропроцессор для дальнейшей обработки.
Так как канал ВА имеет 8 линий данных, а используемый в данной МПС АЦП
К1113ПВ2 имеет 10 линий данных, то возникает проблема сопряжения АЦП с ВВ55. В
данном случае эта проблема решается отбрасыванием двух старших линий у АЦП,
что приводит к некоторой потере точности. Но поскольку в техническом задании
никаких особых требований к точности не предъявляется, то этим вполне можно
пренебречь.
4. Граф-схема алгоритма работы устройства.
5. Программа и содержимое ПЗУ
0000h:
mov ss,0FFEh
mov sp,0FFFh
mov al,10111011b ; Канал А LPT программируется на работу в первом
out 00011000b,al ; режиме, на ввод кодов АЦП
mov al,00000111b
out 00011011b,al ; Установка разряда ВС3, канала С, в единицу
mov al,00110101b ; загрузка УС нулевого канала таймера. Канал
out 00110011b,al ; программируется на работу во втором режиме (импульс
; ный генератор частоты)
mov al,01110011b ; загрузка УС первого канала таймера. Канал
; программируется в 1 режим
out 00110011b,al ; (программируемый ждущий мультивибратор)
mov al,10110111b ; загрузка УС второго канала таймера. Канал
; программируется в
out 00110011b,al ; 3 режим (генератор импульсов со скважностью 2)
mov ax,0FFh ; загрузка константы в нулевой канал таймера
out 00110000b,al
mov ax,0FFh ; загрузка константы в первый канал таймера
out 00110001,al
mov al,0FFh ; загрузка константы во второй канал таймера
out 00110010b,al
mov al,6 ; команда установки режима клавиатуры и индикатора
out 00011001b,al
sti
Lbl1:
hlt
in al,00011000h
mov bl,al
cmp bl,00010110b
jle Lbl2
inc cx ; инкрементирование счетчика
Lbl2:
mov al,01000000 ; считываем слово состояния 1 канала таймера
out 00110011,al
in al,00110011h ; чтение слова состояния канала
mov bl,al
and bl,10000000b ; проверяем на окончание временного интервала,
jnz Lbl1 ; если не закончился идти на Lbl1
jz Lbl3 ; если закончился, то на Lbl3
Lbl3:
mov ax,cx
xor bx,bx
add bx,0FF4h
mov al,10010000b ; Команда записи в индикаторное ОЗУ
out 00011001b,al
mov al,[bx] ; Вывод на индикатор
out 00011000b,al
loopnz Lbl1
mov [dx],cx
hlt
03FCh:
jmp Lbl1
0FF0h:
jmp 0000
0FF4h:
3Fh ; 0 Таблица преобразования шестнадцатеричного числа в код для вывода
06h ; 1 на семисегментный индикатор
5Bh ; 2
4Fh ; 3
66h ; 4
6Dh ; 5
7Dh ; 6
07h ; 7
7Fh ; 8
6Fh ; 9
6. Перечень элементов
Обозначение |
Наименование |
Количество |
Конденсаторы |
||
С1 |
К-10У-3-5-10пФ±20% |
1 |
С2 |
К-10У-5-10-1мкФ±20% |
1 |
Микросхемы |
||
DD1, DD5 |
КР580ИР82 |
2 |
DD2, DD6 |
К573РФ4 |
2 |
DD3 |
КР1810ГФ84 |
1 |
DD4 |
КМ1810ВМ86 |
1 |
DD7, DD18 |
К537РУ10 |
2 |
DD8, DD9 |
КР580ВА86 |
2 |
DD10 |
K1810ВИ54 |
1 |
DD11 |
КР580ВВ55 |
1 |
DD12 |
К1113ПВ1 |
1 |
DD13 |
КР580ВВ79 |
1 |
DD14 |
К533ИД7 |
1 |
DD15 |
К155ЛЕ1 |
1 |
DD16 |
К155ЛА3 |
1 |
DD17 |
K155ЛН1 |
1 |
Индикаторы |
||
HL1-HL6 |
АЛС324Б |
6 |
Резисторы |
||
R1 |
МЛТ-0,5-510кОм±10% |
1 |
R2 |
МЛТ-0,5-50Ом±10% |
1 |
R3-R14 |
МЛТ-0,5-1кОм±10% |
6 |
Транзисторы |
||
VT1-VT6 |
КТ373В |
6 |
7.Список использованной литературы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.