Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вафин-курсовая.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
377.34 Кб
Скачать

Преобразование внутреннего кода в код цап.

Все элементы общаются на разных языках, поэтому необходимо преобразовать внутренний код в код ЦАП. Для этого можно использовать следующее соответствие кода и напряжения

Значение напряжения -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

Список литературы

  1. Невзоров В.Н. Микропроцессоры в конструкции и технологии электронно-вычислительных средств: Учебное пособие. Казань: Изд-во Казан. гос. техн. ун-та, 2008. 119 с.

  2. Методические указания к практическим занятиям по дисциплине "Микропроцессоры в конструкции и технологии ЭВС" / Авт.-сост. В.Н. Невзоров. Казань: Изд-во Казан. гос. техн. ун-та, 2008.

  3. Микропроцессоры и микропроцессорные комплекты интегральных схем: Справочник. В 2 т./В.-Б.Б.Абрайтис, Н.Н.Аверьянов, А.Н.Белоус и др; под ред.В.А.Шахнова.-М.:Радио и связь, 1988. – Т.1.-368с.:ил.

  4. Резисторы: Справочник/ В.В.Дубровский, Д.М.Иванов, Н.Я.Пратусевич и др.;Под ред.И.И.Четверткова и В.М. Терехова. – 2-е изд.,перераб.и доп.-М.:Радио и связь,1991.-528 с.:ил.

  5. Справочник по электрическим конденсаторам/М.Н.Дьяконов, В.И.Карабанов, В.И.Присняков и др.;Под общ.ред. И.И.Четверткова и В.Ф.Смирнова.-М.:Радио и связь,1983.-576с.;ил.

  6. Интегральные микросхемы и их зарубежные аналоги. Справочник.Т.2./А.В.Нефедов. – М.:ИП РадиоСофт,2000.-640с.:ил.

  7. Интегральные микросхемы и их зарубежные аналоги: Справочник.Т5.А.В.Нефедов – М.:КУбК-а,1997.-608 с.:ил.

  8. Интегральные микросхемы и их зарубежные аналоги: Справочник.Т6.А.В.Нефедов – М.:ИП РадиоСофт,2003. – 544 с.:ил.

  9. ГОСТ 2.301-68. ЕСКД. Форматы

  10. ГОСТ 2.304-68. ЕСКД. Шрифты чертежные.

  11. ГОСТ 2.702-75 (2000). ЕСКД. Правила выполнения электрических схем.

  12. ГОСТ 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

28