LS-Sb87104
.pdf○регистр старшего байта данных в делителе на M1i
○регистр младшего байта данных в делителе на M1 j
○регистр старшего байта данных в делителе на M1 j
○триггер знака x2 ;
○контроллер клавиатуры;
○дисплей.
Таблица 3.12
Адреса схем памяти
|
|
|
|
|
Адрес |
|
A15– A14 |
|
A13–A11 |
|
A10 – A8 |
|
A7 – A0 |
A15–0 |
||||
|
|
|
ПЗУ |
|
|
AB |
00 |
|
000 |
|
000 |
|
00000000 |
0000h |
||||
|
|
CS00 |
|
|
|
|
|
|
|
|
|
11111111 |
|
|||||
|
|
|
AE |
00 |
|
000 |
|
111 |
|
07FFh |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000000 |
|
|
|
|
|
ОЗУ |
|
|
AB |
00 |
|
001 |
|
000 |
|
0800h |
|||||
|
|
CS08 |
|
|
|
|
|
|
|
|
|
11111111 |
|
|||||
|
|
|
AE |
00 |
|
001 |
|
111 |
|
0FFFh |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000000 |
|
|
|
|
|
SP = AE + 1 |
00 |
|
010 |
|
000 |
|
1000h |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 3.13 |
|
|
|
|||
|
|
|
|
|
|
|
|
Адресация внешних устройств |
|
|
|
|
|
|||||
Сигнал |
|
Адрес |
|
Селектируемое устройство |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
20h–27h |
|
Дисплей |
|
|
|
|
|
|
|
|||
|
CS20 |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
28h–2Fh |
|
Клавиатура |
|
|
|
|
|
|
|
|||
|
CS28 |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
2Ch/2Dh |
|
Регистр мл. байта счетчика M1i |
|
|
|
|
|
|||||
|
CS30 |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
38h–3Fh |
|
Регистр ст. байта счетчика M1i |
|
|
|
|
|
|||||
|
CS38 |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
68h–6Fh |
|
Триггер X2 |
|
|
|
|
|
|
|
|||
|
CS68 |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
70h–77h |
|
Регистр мл. байта счетчика M1j |
|
|
|
|
|
|||||
|
CS70 |
|
|
|
Рис. 3.22. Дешифратор |
|||||||||||||
|
|
|
|
|
|
|
78h–7Fh |
|
Регистр ст. байта счетчика M1j |
|
|
|||||||
|
|
CS78 |
|
|
|
|
адресов внешних устройств |
Для создания схемы дешифратора адресов внешних устройств, обязанной обеспечить заданный адрес 28h, выбираем значения разрешающих адресных сигналов BA7 = 0, BA5 = 1, а на адресные входы С, B и A подаем сиг-
налы BA6, BA4 и BA3 (сигналы BA2–0 не поступают на схему). Таблица 3.13 показывает адреса и названия внешних устройств, селектируемых дешифратором. На рис. 3.22 показана схема дешифратора адресов внешних устройств.
3.9. Организация памяти
Принципиальная схема памяти изображена на рис. 3.23: 573РФ2 – ПЗУ объемом 2 K 8 бит, 537РУ10 – ОЗУ объемом 2K 8 бит. Выбор ПЗУ производится значением сигнала CS00 = 0, а выбор ОЗУ – значением сигнала
- 31 -
CS08 = 0. Адресные сигналы BA10–0 подаются непосредственно на адресные входы БИС и обеспечивают адресацию 2K 8-разрядных ячеек памяти от адреса 0000h до адреса 07FFh для ПЗУ и от адреса 0800h до адреса 0FFFh для ОЗУ (см. табл. 3.12). Чтение ПЗУ и ОЗУ производится значением сигнала MEMR = 0, а запись данных в ОЗУ – сигналом MEMW = 0. Обычно под стек
Рис. 3.23. Схема подключения памяти
отводится часть ОЗУ, занимающая старшие адреса, поэтому инициализацию стека следует производить командой LXI SP,1000h.
Данные D7–0 должны подаваться с системной шины данных BD7–0 через приемопередатчик (см. рис. 1.3). При обращении CPU к другим устройствам (пульт управления, плата расширения системы) этот приемопередатчик должен быть выключен, поэтому следует правильно определить управляющий приемопередатчиком сигнал OE .
3.10. Дисплей
Пульт управления (ПУ) состоит из клавиатуры и дисплея. Значения параметров Ti и vj задаются с клавиатуры. Дисплей выполняется на базе 5-разрядного 7-сегментного светодиодного индикатора АЛС328В (рис. 3.24, а–г). Cхема контроллера дисплея приведена на рис. 3.24, д.
разряд 1 – индикация числа i 1, 2, 3, 4 (период Ti),
- 32 -
Рис. 3.24. Контроллер 5-разрядного 7-сегментного дисплея
разряды 2 и 3 – индикация направления b/F («–» – back, «+» – Forward) и числа j 0,1, ..., 7 (скорость vj* ),
разряды 4 и 5 – индикация направления b/F и числа j 0,1, ..., 7 (ско-
рость vj),
- 33 -
где vj*– предыдущее значение скорости цели, vj – текущее значение скорости.
Постоянный прямой ток через сегментImax = 10 мА.
Принципиальная схема и схема подключения дисплея изображены на рис. 3.24. Управление дисплеем производится при помощи специализированной микро-
Вход |
|
Значение |
|||
MODE |
1 |
– HEX код |
|||
Z-состояние – код B |
|||||
|
|
|
0 |
– дисплей погашен |
|
|
|
|
0 |
– загрузка |
|
WR |
|||||
1 |
– нет загрузки |
||||
|
|
|
схемы ICM7218C [4] как обычным внешним устройством. Для конфигурации схемы драйвера необходимо на вход MODE подать одно из трех логических состояний (см.
табл. 3.14).
Таблица 3.15 Коды управляющих катодов светоизлучающих диодов
Порт |
|
|
Линии |
|
Унитарный |
Номер |
|
внешнего |
|
данных |
|
код |
разряда |
||
устройства |
DA2 |
|
DA1 |
|
DA0 |
Dig[7..0] |
|
20h |
0 |
|
0 |
|
0 |
00000001 |
D1 |
21h |
0 |
|
0 |
|
1 |
00000010 |
D2 |
22h |
0 |
|
1 |
|
0 |
00000100 |
D3 |
23h |
0 |
|
1 |
|
1 |
00001000 |
D4 |
24h |
1 |
|
0 |
|
0 |
00010000 |
D5 |
25h |
1 |
|
0 |
|
1 |
00100000 |
D6 |
26h |
1 |
|
1 |
|
0 |
01000000 |
D7 |
27h |
1 |
|
1 |
|
1 |
10000000 |
D8 |
Управление драйвером дисплея происходит согласно сигналам кода данных ID и адреса разряда DA (см. табл. 3.15– 3.16).
Например, на пятый разряд необходимо вывести число 3. Для этого на шину DA2 0 запи-
сывается код пятого разряда 100, а на шину
ID3 0 код числа «3» – 0011.
MVI A, 0011b OUT 24h
Переменные: TN = 1, 2, 3, 4 (период зондирующих импульсов);
–VS1 = b/F (знак предыдущей скорости);
–VN1 = 0, 1, .., 7 (модуль предыдущей скорости);
–VS2 = b/F (знак текущей скорости);
–VN2 = 0, 1, ..., 7 (модуль текущей скорости);
–DN = 0, 1, 2, 3, 4 (номер разряда дисплея).
Для хранения значений кодов предыдущего направления и скорости в ОЗУ резервируются 2 ячейки памяти. Первая ячейка (с адресом 0803h) соответствует предыдущему направлению, вторая (с адресом 0804h) – предыдущей скорости.
- 34 -
DN1 |
DN2 |
DN3 |
DN4 |
DN5 |
|
TN |
VS1 |
VN1 |
VS2 |
VN2 |
|
20h |
21h |
22h |
23h |
24h |
– катоды (OUT port) |
|
|
|
803h |
804h |
– адрес ячейки памяти |
Процесс вычисления значения разряда дисплея происходит следующим образом: если нажата клавиша скорости, значение которой лежит в пределах 0…7, то код нажатой клавиши отправляется непосредственно по адресу требуемого разряда дисплея.
LDA |
804h |
; извлечение кода предыдущего значения скорости |
OUT |
22h |
; выводзначенияпредыдущегозначенияскоростинадисплее |
MOV |
A,C |
; запись нового значения скорости |
STA |
804h |
|
OUT |
24h |
|
Если была нажата клавиша периода (1100…1111), то значение кода клавиши необходимо уменьшить на 11, чтобы отобразились на дисплее символы от «1» до «4».
MOV A,C
SUI 11 OUT 20h
Если же нажата клавиша направления «–»(код 1000), то для отображения символа «b» ( ID3 0 =1011) необходимо приба-
вить 3 к коду клавиши. Если была нажата клавиша «+» (код 1001), то для отображения «F» ( ID3 0 =1111)
к коду нажатой клавиши необходимо прибавить 6.
Таблица 3.16 Таблица преобразования значений данных
в код символа
|
Код символа |
|
Символ |
||
ID3 |
ID2 |
ID1 |
ID0 |
HEX |
Код B |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
2 |
2 |
0 |
0 |
1 |
1 |
3 |
3 |
0 |
1 |
0 |
0 |
4 |
4 |
0 |
1 |
0 |
1 |
5 |
5 |
0 |
1 |
1 |
0 |
6 |
6 |
0 |
1 |
1 |
1 |
7 |
7 |
1 |
0 |
0 |
0 |
8 |
8 |
1 |
0 |
0 |
1 |
9 |
9 |
1 |
0 |
1 |
0 |
A |
– |
1 |
0 |
1 |
1 |
b |
E |
1 |
1 |
0 |
0 |
C |
H |
1 |
1 |
0 |
1 |
d |
L |
1 |
1 |
1 |
0 |
E |
P |
1 |
1 |
1 |
1 |
F |
<пустой> |
|
LDA |
803h |
; извлечение кода предыдущего направления |
|
OUT |
21h |
; выводзначенияпредыдущегонаправлениянадисплее |
|
MOV |
A,C |
; модификация значения текущего направления |
|
CPI |
8h |
|
|
JZ |
L1 |
|
|
ADI |
6h |
; была нажата клавиша «+» |
|
JMP |
L2 |
|
L1: |
ADI |
3h |
; была нажата клавиша «–» |
L2: |
STA |
803h |
|
|
OUT |
23h |
; вывод символа на дисплей |
- 35 -
4. СОЗДАНИЕ МАКРОЭЛЕМЕНТОВ В СИМВОЛЬНОМ РЕДАКТОРЕ
Пакет позволяет заменить синтезированные схемы макроэлементами, выполненными в символьном редакторе. Создадим макроэлемент делителя на 4, 5, 6 Div46_74 (рис. 4.1), для чего выполним указанную далее последовательность действий:
○вызываем файл Div46_74.gdf;
○вызываем созданный файл для редакции (File\CreatevDefault Symbol\Edit (рис. 4.1, a);
○оставляем только те сигналы, которые будут востребованы в общей схеме для соединения с остальными макроэлементами схемы (убираем Q4,
Q5N, Q7N, Q[3..0] и LN);
○видоизменяем схему, внося во входные и выходные сигналы знаки, необходимые для правильного понимания работы элемента, а именно:
○для входа X1 вводим символ, подчеркивающий импульсное воздей-
ствие – X1 \ Enter Pinstub \ в строку <same as above> вводим символ «v» сна-
чала шрифтом 7, а затем шрифтом 12 (рис. 4.1, б);
○поворачиваем символ на 90 и сдвигаем влево (рис. 4.1, в);
○повторяем процедуру для сигнала CLK;
○около динамических входов подписываем сигналы X1 и С (clk);
○заменяем название входного сигнала X2N на X2, на вход вводим символ инверсного сигнала (кружок);
○заменяем название выходного сигнала P4 на P4N и вводим символ инверсного сигнала (кружок).
На рис. 4.1, г представлен макроэлемент в символьном редакторе, файл которогоDiv46_74.sym затемпомещаетсявкаталогвместесфайломDiv46_74.gdf.
б
a
в |
г |
|
Рис. 4.1. Этапы создания макроэлемента в символьном редакторе
- 36 -
5. ИНИЦИАЛИЗАЦИЯ МИКРОКОНТРОЛЛЕРА
Цель инициализации – задание определенных параметров работы имитатора до момента нажатия клавиш, а именно: задание вершины стека, запись
в регистр делителей на M1i и M1j данных для обеспечения скорости v0 = 0, периода T1, выполнение команды EI разрешения прерываний и вывод на дисплей исходной информации (значений T1 и v0 = 0).
Программа инициализации имитатора
LXI |
SP,1000h |
; указатель вершины стека |
MVI |
A,dLT1 |
; младший байт данных для счетчиков M1i |
OUT |
port_dLT |
; в регистр младшего байта счетчиков M |
MVI |
|
1i |
A,dMT1 |
; старший байт данных для счетчиков M1i |
|
OUT |
port_dMT |
; в регистр старшего байта счетчиков M |
MVI |
|
1i |
A,dLV0 |
; младший байт данных для счетчика M1j |
|
OUT |
port_dLV |
; в регистр младшего байта счетчика M |
MVI |
|
1j |
A,dMV0 |
; старший байт данных для счетчика M1j |
|
OUT |
port_dMV |
: в регистр старшего байта счетчика M |
|
|
1j |
Программа инициализации памяти для обслуживания дисплея
MVI A,1 OUT 20h
OUT 24h STA 804h
SUB A OUT 22h
MVI A,11 OUT 21h
MVI A,0Fh OUT 23h
STA 802h
;записьвпервыйразряддисплея(дляиндикацииT1)
;запись в пятый разряд дисплея (для индикации v1)
;запись в ячейку ОЗУ текущего значения v1
;создание нуля в аккумуляторе
;запись в третий разряд числа (для индикации
;скорости v0)
;запись во второй разряд числа (для индикации
;направления –)
;запись в четвертый разряд числа (для индикации
;направления +)
;запись в ячейку ОЗУ предыдущего направления
Программа разрешения прерываний
MVI |
A,0Bh |
SIM |
; разрешение прерываний по входу RST7,5 |
EI |
|
- 37 -
6. ВЫПОЛНЕНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ
При выполнении принципиальной схемы исапользуется шинный принцип формирования. Для создания схемы используем символьные макроэлементы, представленные на рис. 6.1.
а |
б |
в |
г |
д |
е |
ж |
з |
и |
к |
л |
м |
о |
|
|
|
|
|
н |
п |
р |
с |
Рис. 6.1. Каждый элемент эквивалентен схеме на рисунке: а – рис. 3.1; б – рис. 3.3; в –
рис. 3.5; г – рис. 3.7; д – рис. 3.9, а; е – рис. 3.9, б; ж – рис. 3.14; з, и – рис. 3.12; к – рис. 3.16; л – рис. 1.3, а; м – рис. 3.21; н – рис. 3.22; о – рис. 3.19, а; п – рис. 3.19, б; р – рис. 3.19, в;
с– рис. 1.3, б
-38 -
Рис. 6.2. Принципиальная схема
Затем на экран вызываются последовательно макроэлементы и производятся соединения между ними путем подписи всех входных и выходных сигналов. Фрагмент схемы представлен на рис. 6.2.
7.ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ ПРИНЦИПИАЛЬНОЙ СХЕМЫ
Вперечне элементов описываются элементы, расположенные в принципиальной схеме по столбцам (сначала первый столбец, затем второй и т. д.). Указывается название макроэлемента из принципиальной схемы, его функция
иномер рисунка, где изображен этот элемент в результате синтеза. Фрагмент перечня элементов представлен на рис. 7.1.
Результатом проектирования должны быть следующие материалы: 1. Пояснительная записка.
2. Программное обеспечение.
-39 -
Обозначение |
Наименование |
Рис. |
Примечание |
|
|
схемы |
|
|
|
|
|
Div46_74 |
Делитель на Mv = 4, 5, 6 |
3.2 |
|
Div10_168 |
Делитель на M0 = 10 |
3.9, б |
|
Div_Mk |
Делитель на 32 и 214 |
3.14 |
|
F_Keyb |
Формирователь флага клавиатуры |
3.19, б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Div_M1i0 |
Делитель на M1i в неподвижном канале |
3.12 |
|
Div_M1iv |
Делитель на M1i в подвижном канале |
3.12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
АБВГ.ХХХХ.ПЭ3 |
Лист |
Перечень элементов к схеме |
|
принципиальной электрической |
1 |
Изм Лист |
№ докум Подпись Дата |
Рис. 7.1. Фрагмент перечня элементов принципиальной схемы
3.Принципиальная схема.
4.Перечень элементов принципиальной схемы.
5.Образец титульного листа.
- 40 -