Проектирование устройства состоящего из 15 микросхем, страница 5

Indic:

;             два младших байта (0 и 1) - данные

;             2 и 3 не используются

;             4 старших (4..7) - адрес

; команда записи в ОЗУ отображения      

              mov BL, 10010000; устанавливаем 0й адрес ОЗУ отображения с автоинкрементированием

              mov KKD_RU, BL;

; данные младшая цифра

              mov BL, DL;

              call Decod;

              mov KKD_D, BL;             апись в ОЗУ отображения

; данные старшая цифра

              mov BL, DL;

              ror BL,4;             старшую тетраду на место младшей

              call Decod;

              mov KKD_D, BL;             апись в ОЗУ отображения

; два неиспользуемых разряда

              mov BL,00h;

              mov KKD_D, BL;             апись в ОЗУ отображения

              mov KKD_D, BL;             апись в ОЗУ отображения

; адрес - 4 цифры

              mov CX, 4;

Ind_1:    mov BL, AL;

              call Decod;

              mov KKD_D, BL;             апись в ОЗУ отображения

              ror BX,4; сдвиг вправо на целую тетраду

              dec cx;

              jnz Ind_1;

ret;

Процедура индикации вызывает процедуру преобразования кодов. Это необходимо для преобразования двоичного кода цифр в соответствующий ему код семисегментного индикатора:

;#######################################################################

;             Перекодировка кода в код семисегментного индикатора

;#######################################################################

Decod:

;             BX заменяется на семисегментный код индикатора для младшей тетрады

              and BX, 000Fh;                 только младшая тетрада

;             push CX;

;             lea CX, seg_ind;

;             add BX, CX,

;             pop CX;

              add BX, seg_ind; сложение адреса метки и ВХ

              mov BX, CS:[BX];            Получаем оттуда константу кода этого символа

ret;

Коды символов хранятся в ПЗУ в виде констант одна за одной. Для того чтобы получить преобразованный код достаточно к адресу первой константы прибавить цифру чей код нужен и по получившемуся адресу из ПЗУ достать константу.

Таблица констант определена следующим образом:

seg_ind:

dw 3Fh,6h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h;

;db 0x3F,!0x3F; 0             ; размещение сегментов на индикаторе

;db 0x06,!0x06; 1              ;               A

;db 0x5B,!0x5B; 2             ;               #####

;db 0x4F,!0x4F; 3             ;              #       #

;db 0x66,!0x66; 4              ;          F-#      #-B

;db 0x6D,!0x6D; 5            ;            #       #

;db 0x7D,!0x7D; 6            ;       G-#####

;db 0x07,!0x07; 7              ;           #      #

;db 0x7F,!0x7F; 8             ;      E-#      #-C

;db 0x6F,!0x6F; 9             ;         #      #

;db 0x77,!0x77; A             ;        #####   ##

;db 0x7C,!0x7C; b             ;           D      #-H

;db 0x39,!0x39; C            

;db 0x5E,!0x5E; d             3F,6,5B,4F,66,6D,7D,07,7F,6F,77,7C,39,5E,79,71

;db 0x79,!0x79; E            

;db 0x71,!0x71; F             


Заключение

          В результате проектирование получилось устройство состоящее из 15 микросхем, еще большее сокращение их числа затруднена в связи с сложностью поиска 16-ти разрядных ОЗУ, ПЗУ, регистров и шинных формирователей. Собственно это главный фактор определяющий число элементов.

          Устройство в себе содержит 4 кБ памяти программ и 4 кБ оперативной памяти статического типа. Такой объем памяти является избыточным, следовательно, возможно введение дополнительных функций в программу, а также возможно расширение адресного пространства вводимых данных.

          Архитектура системы имеет совмещенную адресацию и в текущем виде имеет зарезервированные адреса, которые могут быть использованы для подключения к имеющейся системы дополнительных периферийных устройств, в данном случае зарезервировано 4 адреса. При потребности в большем количестве возможно увеличение с небольшими изменениями в схеме.

          Тактирование микропроцессора осуществляется частотой 1 МГц, которая может быть увеличена, что обеспечивает скорость обработки до 1 MIpS.

          Недостатками данной реализации является ее излишняя сложность для поставленной задачи и большое энергопотребление.

          Более перспективно было бы выполнить это устройство на современной элементной базе, например с использованием 8-ми разрядных микроконтроллеров фирм Microchip или Atmel. В этом случае, возможно обойтись одним корпусом, вместо имеющихся пятнадцати. Также будет существенный выигрыш в энергопотреблении.


Список используемой литературы

1. Казаринова Ю. М. Микропроцессорный комплект 1810: структура М59, программирование, применение: Справочная книга. [Текст] / Ю. М. Казаринова [и др.]. – М: Высшая школа, 1990. – 269 с.

2. Хвощ, С. Т. Микропроцессоры и микроЭВМ в системах автоматического управления [Текст] / С. Т. Хвощ [и др.]. – Л: Машиностроение, 1987. – 640 с.

3. Мальцева, Л. А. Основы цифровой техники [Текст] / Л. А. Мальцева [и др.]. – М: Радио и связь, 1986. – 128 с.

4. Гордонов, А. Ю. Применение микросхем памяти [Текст] / А. Ю. Гордонов [и др.]. – М: Радио и связь, 1994. – 232 с.

5. Лебедев, О. Н. Применение микросхем памяти в электронных устройствах [Текст] / О. Н. Лебедев [и др.]. – М: Радио и связь, 1994. – 216 с.

6. Шарапов, А. В. Цифровая и микропроцессорная техника [Текст] / А. В. Шарапов. – Томск: Издательство Томского университета, 1991. – 186 с.

7. Шарапов, А. В. Аналоговая схемотехника [Текст] / А. В. Шарапов. – Томск: Издательство Томского университета, 2003. – 128 с.