Проектирование микропроцессорной системы цифровой обработки сигналов, содержащей АЦП, таймер и цифровой индикатор требуемой разрядности, страница 2

Для установки режимов работы ККД в регистр команд заносится управляющее слово, содержащее следующую информацию:

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.Список использованной литературы.

  1. Микропроцессорный комплект  К1810. Структура, программирование, применение / Под ред. Ю. М. Казаринова.- : Высш. шк., 1990
  2.  Ю-Чжен Лю, Гибсон Г. Микропроцессоры семейства 8086/8088. М.: Радио и связь, 1987
  3. Использование АЦП и ЦАП в цифровых системах. Методические указания для студентов специальности 200700 – «Радиотехника». / Сост. М. М. Мичурина, И. Н. Сушкин, КГТУ, Красноярск, 1996.
  4. Применение микропроцессоров и микроЭВМ в радиотехнических системах / Под ред. Ю. М. Казаринова – М.: Высшая школа, 1988
  5. Курс лекций по ЦУиМП / Лектор – М.М. Мичурина.