51单片机汇编制作简易时钟

51单片机汇编制作简易时钟

SEC EQU 41H
MINU EQU 42H
HOUR EQU 43H
BELL EQU P1.5
LC EQU P2.4 ;对应着138译码器C,B,A端口
LB EQU P2.3
LA EQU P2.2
LED EQU P0 ;P0连接着8位段选
ORG 0000H
AJMP MAIN
ORG 000BH ;定时器0中断入口地址
LJMP INT_0
MAIN:
MOV R1,#14H ;循环次数
CLR A
MOV 41H,A ;秒清零
MOV MINU,A    ;分清零
MOV HOUR,A    ;时清零
SETB EA ;打开总中断
SETB ET0 ;打开定时器中断允许0
MOV TCON,#01H ;设置定时器工作方式
MOV TH0,#3CH
    MOV TL0,#0B0H ;设置定时初值
SETB TR0 ;打开定时器中断
LOOP:
MOV A,SEC ;秒数送到A
LCALL DEAL ;进行秒数处理
CLR LA ;位选
CLR LB
CLR    LC
MOV A,45H ;显示秒数低位
LCALL DISPLAY
LCALL DELAY500US
MOV LED,#00H ;消影
SETB LA ;位选
CLR LB
CLR LC
MOV A,46H ;显示秒数高位
LCALL DISPLAY
LCALL   DELAY500US
MOV LED,#00H ;消影


MOV A,MINU ;把分钟数送入A
LCALL DEAL
CLR LA
SETB LB
CLR    LC
MOV A,45H
LCALL DISPLAY
LCALL DELAY500US
MOV LED,#00H ;消影
SETB LA
SETB LB
CLR LC
MOV A,46H
LCALL DISPLAY
LCALL   DELAY500US
MOV LED,#00H ;消影

MOV A,HOUR ;显示小时数
LCALL DEAL
CLR LA
CLR LB
SETB LC
MOV A,45H
LCALL DISPLAY
LCALL DELAY500US
MOV LED,#00H ;消影
SETB LA
CLR LB
SETB LC
MOV A,46H
LCALL DISPLAY
LCALL   DELAY500US
MOV LED,#00H ;消影

SJMP LOOP
INT_0:
PUSH PSW ;现场保护
PUSH Acc
MOV TH0,#3CH
    MOV TL0,#0B0H ;设置定时初值
DJNZ R1,RETURN
MOV R1,#14H ;重置循环次数
INC SEC
MOV A,SEC
DA A
MOV SEC,A
CJNE A,#60H,RETURN
MOV SEC,#00H
INC MINU ;分钟计数
MOV A,MINU
DA A
MOV MINU,A
CJNE A,#60,RETURN
MOV MINU,00H
INC HOUR ;小时计数
MOV A,HOUR
DA A
MOV HOUR,A
CJNE A,#24,RETURN
MOV HOUR,#00H ;小时清0
DEAL:
MOV 44H,#00H ;R0清零
MOV R0,#44H  
XCHD A,@R0 ;R0取A的低字节
RL A ;高位转低位
RL A
RL A
RL A
MOV 45H,44H ;秒数低位
MOV 46H,A ;秒数高位
RET
DISPLAY:
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV LED,A
RET
DELAY500US: ;@11.0592MHz
NOP
PUSH 30H
PUSH 31H
MOV 30H,#5
MOV 31H,#72
NEXT:
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 31H
POP 30H
RET
RETURN:
POP Acc
POP PSW
RETI
TAB:
DB 3fH,06H,5bH,4fH,66H
    DB 6dH,7dH,07H,7fH,6fH
END
  • 16
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值