📄 7.lst
字号:
0179 C294 CLR VSCL
017B 22 RET
017C C295 STOP: CLR VSDA
017E D294 SETB VSCL
0180 00 NOP
0181 00 NOP
0182 00 NOP
0183 00 NOP
0184 D295 SETB VSDA
0186 00 NOP
0187 00 NOP
0188 00 NOP
0189 00 NOP
018A C295 CLR VSDA
018C C294 CLR VSCL
018E 22 RET
018F C295 MACK: CLR VSDA
0191 D294 SETB VSCL
0193 00 NOP
0194 00 NOP
0195 00 NOP
0196 00 NOP
0197 C294 CLR VSCL
0199 D295 SETB VSDA
019B 22 RET
019C D295 MNACK: SETB VSDA
019E D294 SETB VSCL
01A0 00 NOP
01A1 00 NOP
01A2 00 NOP
01A3 00 NOP
01A4 C294 CLR VSCL
01A6 C295 CLR VSDA
01A8 22 RET
01A9 D295 CACK: SETB VSDA
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例7\7.ASM
页 7
01-29-03
01:40:36
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
01AB D294 SETB VSCL
01AD C2D5 CLR F0
01AF A295 MOV C,VSDA
01B1 5002 JNC CEND
01B3 D2D5 SETB F0
01B5 C294 CEND: CLR VSCL
01B7 22 RET
01B8 7808 WRBYT: MOV R0,#08H
01BA 33 WLP: RLC A
01BB 4005 JC WR1
01BD 21D0 AJMP WR0
01BF D8F9 WLP1: DJNZ R0,WLP
01C1 22 RET
01C2 D295 WR1: SETB VSDA
01C4 D294 SETB VSCL
01C6 00 NOP
01C7 00 NOP
01C8 00 NOP
01C9 00 NOP
01CA C294 CLR VSCL
01CC C295 CLR VSDA
01CE 21BF AJMP WLP1
01D0 C295 WR0: CLR VSDA
01D2 D294 SETB VSCL
01D4 00 NOP
01D5 00 NOP
01D6 00 NOP
01D7 00 NOP
01D8 C294 CLR VSCL
01DA 21BF AJMP WLP1
01DC 7808 RDBYT: MOV R0,#08H
01DE D295 RLP: SETB VSDA
01E0 D294 SETB VSCL
01E2 A295 MOV C,VSDA
01E4 EA MOV A,R2
01E5 33 RLC A
01E6 FA MOV R2,A
01E7 C294 CLR VSCL
01E9 D8F3 DJNZ R0,RLP
01EB 22 RET
01EC AB51 WRNBYT: MOV R3,NUMBYT
01EE 120168 LCALL STA
01F1 E550 MOV A,SLA
01F3 1201B8 LCALL WRBYT
01F6 1201A9 LCALL CACK
01F9 20D5F0 JB F0,WRNBYT
01FC 7930 MOV R1,#MTD
01FE E7 WRDA: MOV A,@R1
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例7\7.ASM
页 8
01-29-03
01:40:36
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
01FF 1201B8 LCALL WRBYT
0202 1201A9 LCALL CACK
0205 20D5E4 JB F0,WRNBYT
0208 09 INC R1
0209 DBF3 DJNZ R3,WRDA
020B 12017C LCALL STOP
020E 22 RET
020F AB51 RDNBYT: MOV R3,NUMBYT
0211 120168 LCALL STA
0214 E550 MOV A,SLA
0216 1201B8 LCALL WRBYT
0219 1201A9 LCALL CACK
021C 20D5F0 JB F0,RDNBYT
021F 7940 RDN: MOV R1,#MRD
0221 1201DC RDN1: LCALL RDBYT
0224 F7 MOV @R1,A
0225 DB07 DJNZ R3,ACK
0227 12019C LCALL MNACK
022A 12017C LCALL STOP
022D 22 RET
022E 12018F ACK: LCALL MACK
0231 09 INC R1
0232 80ED SJMP RDN1
;
;;;;;;;;;;;;;;;;;;;;
;;DISPLAY PROGRAM ;;
;;;;;;;;;;;;;;;;;;;;
; 显示程序。显示BCD码在70H-73H单元内,采用共阴LED数码管
0234 7970 DISPLAY: MOV R1,#70H ;显示单元首址
0236 7AFE MOV R2,#0FEH ;扫描字
0238 EA PLAY: MOV A,R2 ;扫描字入A
0239 F5A0 MOV P2,A ;放到端口
023B E7 MOV A,@R1 ;取显示数据
023C 540F ANL A,#0FH ;去掉高四位(为0)
023E 900259 MOV DPTR,#TAB ;取段码表首址
0241 93 MOVC A,@A+DPTR ;查显示数据对应段码
0242 F580 MOV P0,A ;段码输出
0244 1202DB LCALL DL1MS ;点亮1毫秒
0247 09 INC R1 ;指向下一显示数据地址
0248 EA MOV A,R2 ;取扫描字
0249 30E304 JNB ACC.3,ENDOUT ;已扫描到第四位,转ENDOUT退出
024C 23 RL A ;循环左移
024D FA MOV R2,A ;放回R2
024E 4138 AJMP PLAY ;转PLAY循环
0250 D2A0 ENDOUT: SETB P2.0 ;关扫描
0252 D2A1 SETB P2.1 ;关扫描
0254 D2A2 SETB P2.2 ;关扫描
0256 D2A3 SETB P2.3 ;关扫描
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例7\7.ASM
页 9
01-29-03
01:40:36
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0258 22 RET ;扫描结束
;共阴段码表(可显示0-F)
0259 3F065B
025C 4F666D
025F 7D07 TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
0261 7F6F77
0264 7C395E
0267 7971 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
0269 00 DB 00H
;
;;;;;;;;;;;;;;;;;;;;
;;SSS PROGRAM ;;
;;;;;;;;;;;;;;;;;;;;
; 里程处理程序,将自行车圈数据换算成公里数
026A 751964 SSS: MOV 19H,#64H ;除数最高位赋值
026D 751800 MOV 18H,#00H ; 除数赋值
0270 751700 MOV 17H,#00H ; 除数赋值
0273 751600 MOV 16H,#00H ; 除数赋值
0276 751100 MOV 11H,#00H ; 被除数赋值
0279 751200 MOV 12H,#00H ; 被除数赋值
027C 856213 MOV 13H,62H ; 被除数赋值
027F 856114 MOV 14H,61H ; 被除数赋值
0282 856015 MOV 15H,60H ; 被除数赋值
0285 1202EC LCALL DIVST ; 调除法程序
0288 120346 LCALL BCDST ; 调二进制转BCD码程序
028B E525 MOV A,25H ; 结果处理,将25H数移入A
028D 540F ANL A,#0FH ; 将高四位置为0
028F F570 MOV 70H,A ; 放入70H单元
0291 E525 MOV A,25H ; 25H数移入A
0293 C4 SWAP A ; 高低四位交换
0294 540F ANL A,#0FH ; 将高四位置为0
0296 F571 MOV 71H,A ; 放入71H单元
0298 E524 MOV A,24H ; 24H数移入A
029A 540F ANL A,#0FH ; 将高四位置为0
029C F572 MOV 72H,A ; 放入72H单元
029E E524 MOV A,24H ; 24H数移入A
02A0 C4 SWAP A ; 高低四位交换
02A1 540F ANL A,#0FH ; 将高四位置为0
02A3 F573 MOV 73H,A ; 放入73H单元
02A5 22 RET ;子程序返回
;
;
;;;;;;;;;;;;;;;;;;;;
;;VVV PROGRAM ;;
;;;;;;;;;;;;;;;;;;;;
; 时速处理程序,最大显示速度为99公里/小时(用作自行车)
02A6 856818 VVV: MOV 18H,68H ; 除数赋值
02A9 856917 MOV 17H,69H ; 除数赋值
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例7\7.ASM
页 10
01-29-03
01:40:36
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
02AC 856A16 MOV 16H,6AH ; 除数赋值
02AF 751100 MOV 11H,#00H ; 被除数赋值
02B2 751200 MOV 12H,#00H ; 被除数赋值
02B5 751336 MOV 13H,#36H ; 被除数赋值
02B8 7514EE MOV 14H,#0EEH ; 被除数赋值
02BB 751580 MOV 15H,#80H ; 被除数赋值
02BE 1202EC LCALL DIVST ; 调除法程序
02C1 751400 MOV 14H,#00H ; 舍去一位
02C4 120346 LCALL BCDST ;二进制转BCD码程序
02C7 E525 MOV A,25H ;以下将速度值放入显示单元
02C9 540F ANL A,#0FH ;高四位为0
02CB F570 MOV 70H,A ;放入70H内
02CD E525 MOV A,25H ;再取数
02CF C4 SWAP A ;高低四交换
02D0 540F ANL A,#0FH ;高四位为0
02D2 F571 MOV 71H,A ;放入71H内
02D4 757200 MOV 72H,#00H ;72H为0(高二位LED显示0)
02D7 757300 MOV 73H,#00H ;73H为0
02DA 22 RET ;子程序返回
;
;
;;;;;;;;;;;;;;;;;
; DL1MS ;;
;;;;;;;;;;;;;;;;;
;1毫秒延时程序,LED点亮用
02DB 7E14 DL1MS: MOV R6,#14H
02DD 7F19 DL1: MOV R7,#19H
02DF DFFE DL2: DJNZ R7,DL2
02E1 DEFA DJNZ R6,DL1
02E3 22 RET
;
;;;;;;;;;;;;;;;;;
; DL0.5S ;;
;;;;;;;;;;;;;;;;;
;出错闪烁用延时(255毫秒)
02E4 7DFF DL5S: MOV R5,#0FFH
02E6 1202DB DL3: LCALL DL1MS
02E9 DDFB DJNZ R5,DL3
02EB 22 RET
;;;;;;;;;;;;;;;;;
; 除法子程序 ;;
;;;;;;;;;;;;;;;;;
;除法子程序,用作四位除法,除数在16H-19H,被除数在11H-15H。
02EC C3 DIVST: CLR C ;运算开始
02ED E513 MOV A,13H
02EF 9518 SUBB A,18H
02F1 E512 MOV A,12H
02F3 9517 SUBB A,17H
C:\MY DOCUMENTS\2003.02.12书稿\配套光盘源程序\实例7\7.ASM
页 11
01-29-03
01:40:36
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
02F5 E511 MOV A,11H
02F7 9516 SUBB A,16H
02F9 5047 JNC LOOP4
02FB 75F010 MOV B,#10H
02FE C3 NDIV1: CLR C
02FF E515 MOV A,15H
0301 33 RLC A
0302 F515 MOV 15H,A
0304 E514 MOV A,14H
0306 33 RLC A
0307 F514 MOV 14H,A
0309 E513 MOV A,13H
030B 33 RLC A
030C F513 MOV 13H,A
030E E512 MOV A,12H
0310 33 RLC A
0311 F512 MOV 12H,A
0313 E511 MOV A,11H
0315 33 RLC A
0316 F511 MOV 11H,A
0318 92D5 MOV F0,C
031A C3 CLR C
031B E513 MOV A,13H
031D 9518 SUBB A,18H
031F F51A MOV 1AH,A
0321 E512 MOV A,12H
0323 9517 SUBB A,17H
0325 F519 MOV 19H,A
0327 E511 MOV A,11H
0329 9516 SUBB A,16H
032B 20D502 JB F0,NDIV2
032E 400C JC NDIV3
0330 F511 NDIV2: MOV 11H,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -