
- •Содержание
- •Задание
- •Математическая модель
- •Концептуальный алгоритм
- •3. Структурная схема
- •4. Описание принципиальной схемы
- •Особенности программного обеспечения
- •Преобразование кодов индикации
- •Преобразование внутреннего кода в код цап.
- •Организация временной задержки
- •Устранение дребезга клавиш
- •Алгоритм умножения
- •Алгоритм реализации деления
- •Список литературы
Преобразование внутреннего кода в код цап.
Все элементы общаются на разных языках, поэтому необходимо преобразовать внутренний код в код ЦАП. Для этого можно использовать следующее соответствие кода и напряжения
Значение напряжения -2.5 В на выходе ЦАП соответствует коду 00h на входе.
Значение напряжения 0 В на выходе ЦАП соответствует коду 80h на входе.
Значение напряжения 2.5 В на выходе ЦАП соответствует коду FFh на входе.
Максимальное напряжение на выходе ЦАП, необходимое нам – 1 В, что соответствует коду 46h.
Организация временной задержки
Задержка будет реализована с помощью вложенного пустого цикла.
I=B
I=I-1
Рис.3
где B – регистровая пара BC,
I – регистровая пара HL
Устранение дребезга клавиш
Дребезг клавиш будет устраняться программным методом. Клавиатура сканируется логическим «0» по разрядам 4-6 порта 2. Если клавиша нажата, то в разрядах 0 – 3 данных, принятых с ключей есть хотя бы один «0».
Устранение дребезга контактов реализовано согласно алгоритма, изображенного на рис. 4, где Sпред – предыдущее состояние кнопки, Cr – счетчик времени дребезга, Sтек – текущее состояние кнопки, tлат – время дребезжание клавиши.
Рис. 4
Многократно считывая клавиатуру анализируется состояние клавиш. Клавиша считается нажатой, если ее состояние не изменилось в течение заданного времени . Таким образом устраняется дребезг клавиатуры.
Алгоритм умножения
Данная математическая операция как отдельная команда не предусмотрена в наборе команд МП КР580ВМ80А, поэтому необходимо умножение представить как сложение. Первый множитель складывается с самим собой столько раз, каково значение второго множителя. Функциональный алгоритм умножения приведен на рис. 5.
A=0
A=A+M
Рис.5
где A – результат,
M – первый множитель,
N – второй множитель
Алгоритм реализации деления
Деление, как и умножение отсутствует в наборе команд МП КР580ВМ80А.
Деление является действием, обратным умножению, так как это операция нахождения одного из сомножителей по произведению и другому сомножителю: разделить одно число (делимое) на другое (делитель) – значит найти такое третье число (частное), которое при умножении на делитель даёт делимое. Поэтому данный алгоритм строится аналогично предыдущему, только операция сложения заменяется вычитанием. Из делимого А вычитается делитель М до тех пор, пока число не становится отрицательным, а число срабатывания цикла и есть искомый результат. Функциональный алгоритм деления приведен на рис. 6
Res=0
A=A-M
Res=Res+1
Рис.6
Список литературы
Невзоров В.Н. Микропроцессоры в конструкции и технологии электронно-вычислительных средств: Учебное пособие. Казань: Изд-во Казан. гос. техн. ун-та, 2008. 119 с.
Методические указания к практическим занятиям по дисциплине "Микропроцессоры в конструкции и технологии ЭВС" / Авт.-сост. В.Н. Невзоров. Казань: Изд-во Казан. гос. техн. ун-та, 2008.
Микропроцессоры и микропроцессорные комплекты интегральных схем: Справочник. В 2 т./В.-Б.Б.Абрайтис, Н.Н.Аверьянов, А.Н.Белоус и др; под ред.В.А.Шахнова.-М.:Радио и связь, 1988. – Т.1.-368с.:ил.
Резисторы: Справочник/ В.В.Дубровский, Д.М.Иванов, Н.Я.Пратусевич и др.;Под ред.И.И.Четверткова и В.М. Терехова. – 2-е изд.,перераб.и доп.-М.:Радио и связь,1991.-528 с.:ил.
Справочник по электрическим конденсаторам/М.Н.Дьяконов, В.И.Карабанов, В.И.Присняков и др.;Под общ.ред. И.И.Четверткова и В.Ф.Смирнова.-М.:Радио и связь,1983.-576с.;ил.
Интегральные микросхемы и их зарубежные аналоги. Справочник.Т.2./А.В.Нефедов. – М.:ИП РадиоСофт,2000.-640с.:ил.
Интегральные микросхемы и их зарубежные аналоги: Справочник.Т5.А.В.Нефедов – М.:КУбК-а,1997.-608 с.:ил.
Интегральные микросхемы и их зарубежные аналоги: Справочник.Т6.А.В.Нефедов – М.:ИП РадиоСофт,2003. – 544 с.:ил.
ГОСТ 2.301-68. ЕСКД. Форматы
ГОСТ 2.304-68. ЕСКД. Шрифты чертежные.
ГОСТ 2.702-75 (2000). ЕСКД. Правила выполнения электрических схем.
ГОСТ 2.708-81. ЕСКД. Правила выполнения электрических схем цифровой вычислительной техники.
Приложение 2
Листинг программы
Ассемблер K580. Файл: 1.as
ORG 0
Port1 EQU 1H
Port2 EQU 2H
Port3 EQU 3H
Port4 EQU 4H
Scan EQU 10H
t EQU 8CH
1 0000 00 F: DB 0H
2 0001 00 Umgn: DB 0H
3 0002 00 F1: DB 0H
4 0003 00 Scode: DB 0H
5 0004 00 Icode: DB 0H
6 0005 00 R1: DB 0H
7 0006 00 IndSt: DB 0H
8 0007 00 IndM1: DB 0H
9 0008 00 Uprin: DB 0H
10 0009 00 I: DB 0H
11 000A 00 T1: DB 0H
12 000B 00 Per1: DB 0H
13 000C 00 Prom1: DB 0H
14 ORG 800H
15 0800 31 00 0B LXI SP, 0B00H
16 0803 3E 00 MVI A,0H
17 0805 32 02 00 STA F1
18 0808 32 01 00 STA Umgn
19 080B 32 09 00 STA I
20 080E 32 0A 00 STA T1
21 0811 06 03 Opros: MVI B,3H
22 0813 3A 08 00 LDA Uprin
23 0816 57 MOV D,A
24 0817 3E 10 MVI A, Scan
25 0819 32 03 00 Opr1: STA Scode
26 081C 2F CMA
27 081D E6 F0 ANI 0F0H
28 081F B2 ORA D
29 0820 D3 02 OUT Port2
30 0822 DB 03 IN Port3
31 0824 2F CMA
32 0825 32 04 00 STA Icode
33 0828 FE 00 CPI 0H
34 082A C2 35 08 JNZ Dreb
35 082D 3A 03 00 LDA Scode
36 0830 17 RAL
37 0831 05 DCR B
38 0832 C2 19 08 JNZ Opr1
39 0835 06 00 Dreb: MVI B,0H
40 0837 3A 04 00 LDA Icode
41 083A 4F MOV C,A
42 083B 3A 03 00 Dreb1: LDA Scode
43 083E 2F CMA
44 083F E6 F0 ANI 0F0H
45 0841 B2 ORA D
46 0842 D3 02 OUT Port2
47 0844 DB 03 IN Port3
48 0846 2F CMA
49 0847 B9 CMP C
50 0848 05 DCR B
51 0849 C2 3B 08 JNZ Dreb1
52 084C 11 00 00 LXI D,0H
53 084F 3A 04 00 LDA Icode
54 0852 06 04 MVI B,4H
55 0854 1F Rb1: RAR
56 0855 DA 5D 08 JC Rb2
57 0858 1C INR E
58 0859 05 DCR B
59 085A C2 54 08 JNZ Rb1
60 085D 06 03 Rb2: MVI B,3H
61 085F 3A 03 00 LDA Scode
62 0862 1F RAR
63 0863 1F RAR
64 0864 1F RAR
65 0865 1F RAR
66 0866 1F Rb3: RAR
67 0867 DA 6F 08 JC Rb4
68 086A 14 INR D
69 086B 05 DCR B
70 086C C2 66 08 JNZ Rb3
71 086F 7A Rb4: MOV A,D
72 0870 17 RAL
73 0871 17 RAL
74 0872 83 ADD E
75 0873 32 05 00 STA R1
76 0876 21 08 09 LXI H,Table
77 0879 11 00 00 LXI D,0H
78 087C 3A 02 00 LDA F1
79 087F E6 0F ANI 0FH
80 0881 5F MOV E,A
81 0882 19 DAD D
82 0883 7E MOV A,M
83 0884 32 07 00 STA IndM1
84 0887 21 08 09 LXI H,Table
85 088A 3A 02 00 LDA F1
86 088D E6 F0 ANI 0F0H
87 088F 1F RAR
88 0890 1F RAR
89 0891 1F RAR
90 0892 1F RAR
91 0893 5F MOV E,A
92 0894 19 DAD D
93 0895 7E MOV A,M
94 0896 32 06 00 STA IndSt
95 0899 3A 0A 00 LDA T1
96 089C 0E 00 MVI C, 0H
97 089E 06 8C MVI B, t
98 08A0 B8 CMP B
99 08A1 FA A9 08 JM M3
100 08A4 90 M6: SUB B
101 08A5 0C INR C
102 08A6 C3 A4 08 JMP M6
103 08A9 79 M3: MOV A, C
104 08AA 32 0B 00 STA Per1
105 08AD 16 09 MVI D, I
106 08AF BA CMP D
107 08B0 FA 11 08 JM Opros
108 08B3 3A 0B 00 LDA Per1
109 08B6 1F RAR
110 08B7 32 0B 00 STA Per1
111 08BA BA CMP D
112 08BB FA D6 08 JM Umgn1
113 08BE 0E 00 Umgn2: MVI C, F
114 08C0 E6 00 ANI 0H
115 08C2 06 09 MVI B, I
116 08C4 81 ADD C
117 08C5 06 8C MVI B, t
118 08C7 4F MOV C, A
119 08C8 E6 00 ANI 0H
120 08CA 05 M5: DCR B
121 08CB 81 ADD C
122 08CC C2 CA 08 JNZ M5
123 08CF 17 RAL
124 08D0 32 01 00 STA Umgn
125 08D3 C3 F6 08 JMP Yes
126 08D6 0E 00 Umgn1: MVI C, F
127 08D8 E6 00 ANI 0H
128 08DA 06 09 MVI B, I
129 08DC 05 M7: DCR B
130 08DD 81 ADD C
131 08DE C2 DC 08 JNZ M7;
132 08E1 06 8C MVI B, t
133 08E3 4F MOV C, A
134 08E4 E6 00 ANI 0H
135 08E6 05 M8: DCR B
136 08E7 81 ADD C
137 08E8 C2 E6 08 JNZ M8
138 08EB 17 RAL
139 08EC 67 MOV H, A
140 08ED 3E 01 MVI A, 1H
141 08EF 94 SUB H
142 08F0 32 01 00 STA Umgn
143 08F3 C3 F6 08 JMP Yes
144 08F6 3A 01 00 Yes: LDA Umgn
145 08F9 1F RAR
146 08FA C6 80 ADI 80H
147 08FC D3 04 OUT Port4
148 08FE 3E 8C MVI A,t
149 0900 47 MOV B,A
150 0901 05 Zad: DCR B
151 0902 C2 01 09 JNZ Zad
152 0905 C3 11 08 JMP Opros
153 0908 81 Table: DB 81H
154 0909 CF DB 0CFH
155 090A 92 DB 92H
156 090B 86 DB 86H
157 090C EC DB 0ECH
158 090D A4 DB 0A4H
159 090E A0 DB 0A0H
160 090F 8F DB 8FH
161 0910 80 DB 80H
162 0911 84 DB 84H
163 END