logo资料库

按键控制计数(0-999)程序及仿真图.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
仿真图.DSN
按键控制计数(0-999)程序.asm
第 1 頁(共 3 頁) a bcdef g p d +5v 1 S 2 S 3 S 4 S 群 :199696165 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 a b c d e f g dp 21 22 23 24 25 26 27 28 a b c d e f g dp 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 9 S1 S2 S3 S4 RP1 10k P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 10 11 12 13 14 15 16 17 U1 XTAL1 XTAL2 RST PSEN ALE EA P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 19 18 9 29 30 31 1 2 3 4 5 6 7 8 Q Q AT89C52 2013-6-25 weicaihui2008
第 2 頁(共 3 頁) 群 :199696165 D:\公司资料\程序设计\其他程序\51\练习\text1\1.asm KEY BIT P3.2 QIANWEI EQU 70H ; 千位 BAIWEI EQU 71H ; 百位 SHIWEI EQU 72H ; 十位 GEWEI EQU 73H ; 个位 ORG 0000H LJMP MAIN MAIN: MOV P3,# 0FFH MOV P0,# 00H ; A-G-DP MOV P2,# 0FFH ;控制位P2.3-P2.0 MOV QIANWEI,#0 MOV BAIWEI,#0 MOV SHIWEI,#0 MOV GEWEI,#0 CLR 20H ;标志位,高位为0标志 LOOP: LCALL KEYSET LCALL display LJMP LOOP KEYSET: JB P3.2,FH LCALL DELAY10MS ;防抖 JNB P3.2,$ INC GEWEI MOV A,GEWEI CJNE A,#10,FH MOV GEWEI,#0 INC SHIWEI MOV A,SHIWEI CJNE A,#10,FH MOV SHIWEI,#0 INC BAIWEI MOV A,BAIWEI CJNE A,#10,FH MOV BAIWEI,#0 ;千位加 ;INC QIANWEI ;MOV A,QIANWEI ;CJNE A,#10,FH ;MOV QIANWEI,#0 FH: RET display: ;显示程序 MOV DPTR,#ledNum MOV A,QIANWEI JNZ Q1 SETB 20H MOV A,#10 Q1: MOVC A,@A+DPTR MOV P0,A CLR P2.0 ACALL DELAY30MS SETB P2.0 MOV DPTR,#ledNum MOV A,BAIWEI JNZ Q2; 百位为0,则执行下一步 JNB 20H, Q2; 位20H为1,表示千位为0,执行下一步 MOV A,#10 页面: 1 Q Q 2013-6-25 weicaihui2008
第 3 頁(共 3 頁) D:\公司资料\程序设计\其他程序\51\练习\text1\1.asm LJMP Q21 Q2: CLR 20H Q21: MOVC A,@A+DPTR MOV P0,A CLR P2.1 ACALL DELAY30MS SETB P2.1 MOV DPTR,#ledNum MOV A,SHIWEI JNZ Q3; 十位为0,则执行下一步 JNB 20H, Q3; 位20H为1,表示百位和千位都为0,执行下一步 MOV A,#10 Q3: CLR 20H MOVC A,@A+DPTR MOV P0,A CLR P2.2 ACALL DELAY30MS SETB P2.2 MOV DPTR,#ledNum MOV A,GEWEI MOVC A,@A+DPTR MOV P0,A CLR P2.3 ACALL DELAY30MS SETB P2.3 RET DELAY30MS: ;误差 0us MOV R7,# 01H DL1: MOV R6,# 26H DL0: MOV R5,# 82H DJNZ R5,$ DJNZ R6, DL0 DJNZ R7, DL1 RET DELAY10MS: ;误差 0us MOV R7,# 01H DL2: MOV R6,# 26H DL3: MOV R5,# 82H DJNZ R5,$ DJNZ R6, DL3 DJNZ R7, DL2 RET ledNum: ; 共阴 DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 00H ;0123456789 END ;必须编写在最后,结束 群 :199696165 Q Q 页面: 2 2013-6-25 weicaihui2008
分享到:
收藏