汇编实现单片机电子钟编程

汇编实现单片机电子钟编程

晶振频率为11.0592M,代码仅供参考

	ORG 0000H
	AJMP START
	ORG 001BH
	AJMP T1_INT
	ORG 0100H
START:
	MOV 40H,#23;小时
	MOV 41H,#59;分钟
	MOV 39H,#50;秒
	MOV TMOD, #10H
	MOV TH1, #HIGH(-50000)
	MOV TL1, #LOW(-50000)
	SETB TR1
	SETB ET1
	SETB EA
LOOP:
	ACALL WAITBUF
	ACALL DISPLAY
	AJMP LOOP
	
T1_INT:
	PUSH	ACC
	MOV TH1, #HIGH(-50000)
	MOV TL1, #LOW(-50000)
	;PSW F0 ;特殊寄存器
	INC R4
	CJNE R4,#10,T0L1
	CPL F0
T0L1:CJNE R4,#20,T0OUT
	CPL F0
	MOV R4,#0
	
	INC 39H
	MOV A,39H
	CJNE A,#60,T0OUT
	MOV 39H,#0
	
	INC 41H
	MOV A,41H
	CJNE A,#60,T0OUT
	MOV 41H,#0
	
	INC 40H
	MOV A,40H
	CJNE A,#24,T0OUT
	MOV 40H,#0

T0OUT:
	POP ACC
	RETI
	
WAITBUF:	
		MOV A,40H
		MOV B,#10
		DIV AB
		MOV 30H,A
		MOV 31H,B
		MOV A,41H
		MOV B,#10
		DIV AB
		MOV 32H,A
		MOV 33H,B
		RET
DISPLAY:
		MOV DPTR,#TABLE
		MOV R0,#30H
		MOV R1,#0FEH
		MOV R3,#4
DLOOP:
		MOV A,@R0
		MOVC A,@A+DPTR
		
		CJNE R3,#3,L1
		JB F0,L1
		ORL A,#80H
		
L1:		MOV P0,A
		MOV P2,R1
		ACALL DELAY
		MOV P2,#0FFH
		INC R0
		MOV A,R1
		RL A
		MOV R1,A
		DJNZ R3,DLOOP
		RET		

DELAY:
		MOV R7,#250
		DJNZ R7,$
		RET
TABLE:
	DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
	END
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

✎浅笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值