📄 简易数字电压表设计程序.lst
字号:
167 0116 D297 SETB P1.7
168 0118 C2A4 CLR P2.4
169 011A C2A6 CLR P2.6
170 011C C2A7 CLR P2.7
171 011E 12015F LCALL DL
8051 Assembler Version 1.00 04/20/107 08:18:36 Page 4
K:\钟荣峰\简易电压表仿真部分\简易数字电压表设计程序.51
172 0121 09 INC R1
173 0122 747A MOV A,#7AH
174 0124 01E3 AJMP PLAY
175 0126 E7 THREE: MOV A,@R1;个位显示程序
176 0127 900154 MOV DPTR,#TAB
177 012A 93 MOVC A,@A+DPTR
178 012B F590 MOV P1,A
179 012D D2A6 SETB P2.6
180 012F C297 CLR P1.7
181 0131 C2A4 CLR P2.4
182 0133 C2A5 CLR P2.5
183 0135 C2A7 CLR P2.7
184 0137 12015F LCALL DL
185 013A 09 INC R1
186 013B 747B MOV A,#7BH
187 013D 01E3 AJMP PLAY
188 013F E7 NUM: MOV A,@R1;通道位显示程序
189 0140 900154 MOV DPTR,#TAB
190 0143 93 MOVC A,@A+DPTR
191 0144 F590 MOV P1,A
192 0146 D2A7 SETB P2.7
193 0148 D297 SETB P1.7
194 014A C2A4 CLR P2.4
195 014C C2A5 CLR P2.5
196 014E C2A6 CLR P2.6
197 0150 12015F LCALL DL
198 0153 22 RET
199 0154 C0 F9 A4 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
0157 B0 99 92
015A 82 F8 80
015D 90 FF
200 015F 7E14 DL: MOV R6,#14H;延迟程序
201 0161 7F19 DL1: MOV R7,#19H
202 0163 DFFE DL2: DJNZ R7,DL2
203 0165 DEFA DJNZ R6,DL1
204 0167 22 RET
205 0168
206 0168 ;***************************************************
207 0168 ;按键操作
208 0168 ;***************************************************
209 0168
210 0168 C0D0 KEY1: PUSH PSW;现场和断点保护,KEY2是单路开关
211 016A C0E0 PUSH A
212 016C E5F0 MOV A,B
213 016E C0E0 PUSH A
214 0170 E57B MOV A,7BH
215 0172 C0E0 PUSH A
216 0174 E57A MOV A,7AH
217 0176 C0E0 PUSH A
218 0178 E579 MOV A,79H
219 017A C0E0 PUSH A
220 017C E578 MOV A,78H
221 017E C0E0 PUSH A
222 0180 EF MOV A,R7
223 0181 C0E0 PUSH A
224 0183 EE MOV A,R6
225 0184 C0E0 PUSH A
8051 Assembler Version 1.00 04/20/107 08:18:36 Page 5
K:\钟荣峰\简易电压表仿真部分\简易数字电压表设计程序.51
226 0186 EB MOV A,R3
227 0187 C0E0 PUSH A
228 0189 E9 MOV A,R1
229 018A C0E0 PUSH A
230 018C E8 MOV A,R0
231 018D C0E0 PUSH A
232 018F E5A0 MOV A,P2
233 0191 C0E0 PUSH A
234 0193 E590 MOV A,P1
235 0195 C0E0 PUSH A
236 0197 7B09 MOV R3,#09H
237 0199 786F MOV R0,#6FH
238 019B 757B00 MOV 7BH,#00H
239 019E C2B3 CLR P3.3;单路灯亮
240 01A0 D2B4 SETB P3.4;循环灯灭
241 01A2 30B302 HERE: JNB P3.3,BB;判断KEY2是否按下,KEY2是通道选择开关
242 01A5 21A2 AJMP HERE
243 01A7 755001 BB: MOV 50H,#1
244 01AA 755196 DEL1: MOV 51H,#150
245 01AD 7552FA DEL2: MOV 52H,#250
246 01B0 D552FD DEL3: DJNZ 52H,DEL3
247 01B3 D551F7 DJNZ 51H,DEL2
248 01B6 D550F1 DJNZ 50H,DEL1
249 01B9 08 INC R0
250 01BA 057B INC 7BH
251 01BC 1B DEC R3
252 01BD EB MOV A,R3
253 01BE 600B JZ DD
254 01C0 1200AC LCALL DISLOOP1;调转换BCD码程序
255 01C3 1200E0 EE: LCALL DISP
256 01C6 30B3DE JNB P3.3,BB;判断KEY2是否按下
257 01C9 21C3 AJMP EE
258 01CB C2B3 DD: CLR P3.3;循环灯亮
259 01CD D2B4 SETB P3.4;单路灯灭
260 01CF D0E0 POP A;现场和断点恢复
261 01D1 F590 MOV P1,A
262 01D3 D0E0 POP A
263 01D5 F5A0 MOV P2,A
264 01D7 D0E0 POP A
265 01D9 F8 MOV R0,A
266 01DA D0E0 POP A
267 01DC F9 MOV R1,A
268 01DD D0E0 POP A
269 01DF FB MOV R3,A
270 01E0 D0E0 POP A
271 01E2 FE MOV R6,A
272 01E3 D0E0 POP A
273 01E5 FF MOV R7,A
274 01E6 D0E0 POP A
275 01E8 F578 MOV 78H,A
276 01EA D0E0 POP A
277 01EC F579 MOV 79H,A
278 01EE D0E0 POP A
279 01F0 F57A MOV 7AH,A
280 01F2 D0E0 POP A
281 01F4 F57B MOV 7BH,A
282 01F6 D0E0 POP A
8051 Assembler Version 1.00 04/20/107 08:18:36 Page 6
K:\钟荣峰\简易电压表仿真部分\简易数字电压表设计程序.51
283 01F8 F5F0 MOV B,A
284 01FA D0E0 POP A
285 01FC D0D0 POP PSW
286 01FE 32 RETI
287 01FF END
Defined Symbols:
Defined Labels:
BB 0001A7 423
CON 000048 72
DD 0001CB 459
DEL1 0001AA 426
DEL2 0001AD 429
DEL3 0001B0 432
DIS 00009E 158
DISLOOP1 0000AC 172
DISLOOP2 0000A1 161
DISP 0000E0 224
DISPLAY 000095 149
DL 00015F 351
DL1 000161 353
DL2 000163 355
DLAY 00004D 77
EE 0001C3 451
HERE 0001A2 418
INI 000070 112
KEY1 000168 360
L1 0000E8 232
L2 0000ED 237
L3 0000F2 242
LOOP2 0000C7 199
LOOP3 0000DD 221
LOP1 00007E 126
MAIN 000033 51
NUM 00013F 319
ONE 0000F4 244
PLAY 0000E3 227
START 000030 48
TAB 000154 340
TAKE 00005F 95
TEST 000041 65
TESTART 000054 84
THREE 000126 294
TWO 00010D 269
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -