MOV TL0, MOV TH1, MOV TL1,
#(65535-20000) MOD 256 #(65535-20000)/256 #(65535-20000) MOD 256
MOV TMOD, #11H SETB PT0 SETB ET0 SETB ET1 SETB TR0 SETB TR1 SETB EA DISPLAY: MOV A,
33H
CJNE A,#00,X1 MOV P2, #7FH MOV A, SHI MOV B, #10
DIV
AB
MOVC A, @A+DPTR MOV P1,A LCALL DELAY MOV P2,#0BFH MOV A,
B
MOVC A,@A+DPTR MOV P1,A LCALL DELAY MOV A,
37H
CJNE A,#01,X3 X1: INC 36H MOV A,
36H
CJNE A,#10,X2 MOV 33H, #00 X2:
;定时器工作方式设置,T0,T0 设置为方式一
;设置 T0 为高优先级 ;开定时器中断
;启动定时器
;开总中断
;判断时针是否扫描 ;选通数码管时钟的十位
;把时针的十位个位分离
;把时针的十位放在累加器 A 中
;显示时针的十位
;延时
;选通时针的个位
;判断是否闪烁
15
基于单片机的数字钟设计
CJNE A,#20,X3 MOV 36H, #00 MOV 33H, #01 X3:
MOV P2, #0DFH MOV A,
#40H
MOV P1, A LCALL DELAY MOV A,
34H
CJNE A,#00,F1 MOV P2, #0EFH MOV A, FEN MOV B, #10 DIV AB MOVC A, @A+DPTR
MOV P1, A LCALL DELAY MOV P2, #0F7H MOV A,
B
MOVC A, @A+DPTR MOV P1, A LCALL DELAY MOV A,
39H
CJNE A,#01H ,F3 F1: INC 36H MOV A, 36H CJNE A,#10, F2 MOV 34H, #00H
F2:
CJNE A,#20H,F3 MOV 36H, #00H MOV 34H, #01H
;显示分隔符
;分针的显示
16
F3: MOV P2, #0FBH MOV A, #40H MOV P1,
A
LCALL DELAY MOV A,35H CJNE A,#00H ,M1 MOV P2, #0FDH MOV A, MIAO MOV B, #10
DIV AB
MOVC A, @A+DPTR MOV P1, A LCALL DELAY MOV P2, #0FEH MOV A,
B MOVC A, @A+DPTR MOV P1, A LCALL DELAY MOV A,
3BH
CJNE A,#01,M3 M1: INC 3AH MOV A,
3AH
CJNE A,#10,M2 MOV 35H, #00H M2:
CJNE A,#20H,M3 MOV 3AH, #00H MOV 35H, #01H
M3:
LJMP DISPLAY
;显示分隔符
;秒针的显示17
基于单片机的数字钟设计
DINGSHI: PUSH ACC PUSH PSW
MOV TH0, #(65535-20000)/256 MOV TL0, #(65535-20000) MOD 256 INC
3CH
;定时器赋初值
MOV A, 3CH CJNE A,#50,J1 转
MOV 3CH, #00H INC
MIAO
MIAO
;判断是否为一分 ;秒针清零 ;分针加一
FEN
;判断是否为一时 ;分针清零 ;时针加一
SHI
;判断是否溢出 ;时针清零 ;定时次数清零 ;秒针加一
;判断是否为一秒,若为一秒顺序执行,否发生跳
MOV A,
CJNE A,#60, J1 MOV MIAO, #00 INC
FEN
MOV A,
CJNE A,#60,J1 MOV FEN, #00H INC
SHI
MOV A,
CJNE A,#24,J1 MOV SHI, #00H J1:
CLR ET0 POP ACC POP PSW SETB ET0 RETI TIAOSHI: PUSH ACC PUSH PSW MOV TH1, MOV TL1,
#(65535-20000)/256 #(65535-20000) MOD 256
18
;定时器赋初值
JB STYLE, G1 INC 40H MOV A, 40H CJNE A,#10,G1 JB STYLE ,G1 MOV 40H,#00 INC 3DH MOV A, 3DH CJNE A,#01,A1 MOV 33H,#01 MOV 37H,#01 A1:CJNE A,#02,A2 MOV 33H,#00 MOV 37H,#00 MOV 34H,#01 MOV 39H,#01 A2:CJNE A,#03,A3 MOV 34H,#00 MOV 39H,#00 MOV 35H,#01 MOV 3BH,#01 A3:CJNE A,#04,G1 MOV 3DH,#00 MOV 35H,#00 MOV 3BH,#00 G1:JB
PLUS,B1
INC 40H MOV A, 40H CJNE A,#11,B1 JB PLUS ,B1 MOV 40H,#00 MOV A,3DH CJNE A,#01,C1
;判断模式键是否按下 ;清抖
;模式键真的被按下
;模式键加一
;判断是否为模式一
;时针扫描判断 ;时针扫描闪烁判断
;模式是否为二
;模式是否为三
;模式是否为四,为四正常走时
;判断加键是否按下
;消抖
;若为模式一,时针加一
19