第 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