- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验电子钟报告
实验四 电子钟(定时器、中断综合实验)
一、实验目的
熟悉MCS51类CPU的定时器、中断系统编程方法,了解定时器的应用、实时程序的设计和调试技巧。
二、实验内容
编写一个时钟程序,产生一个50ms的定时中断,对定时中断计数,将时、分、秒显示在数码管上。
三、程序框图
四、实验步骤
1、连线说明:
E5 区A0 ←→ A3 区A0
E5 区CS ←→ A3 区CS5
E5 区CLK ←→ B2 区2MHz
E5 区A、B、C、D ←→ G5 区A、B、C、D(排线每个8 位,注意高低位一致)
2、时间显示在数码管上
五、程序清单
ms50 DATA 31H ;存放多少个50ms sec DATA 32H ;秒 min DATA 33H ;分 hour DATA 34H ;时 buffer DATA 35H ;显示缓冲区 EXTRN CODE(Display8) ORG 0000H LJMP STAR ORG 000BH ;定时器T0中断处理入口地址 LJMP INT_Timer0 ORG 0100H STAR: MOV SP,#60H ;堆栈 MOV ms50,A ;清零ms50 MOV hour,#12 ;设定初值: 12:59:50 MOV min,#59 MOV sec,#50 MOV TH0,#60 ;定时中断计数器初值 MOV TL0,#176 ;定时50ms MOV TMOD,#1 ;定时器0:方式一 MOV IE,#82H ;允许定时器0中断 SETB TR0 ;开定时器T0 STAR1: LCALL Display ;调用显示 JNB F0,$ CLR F0 SJMP STAR1 ;需要重新显示时间 ;中断服务程序 INT_Timer0: MOV TL0,#176-5 MOV TH0,#60 PUSH 01H MOV R1,#ms50 INC @R1 ;50ms单元加1 CJNE @R1,#20,ExitInt MOV @R1,#0 ;恢复初值 INC R1 INC @R1 ;秒加1 CJNE @R1,#60,ExitInt1 MOV @R1,#0 INC R1 INC @R1 ;分加1 CJNE @R1,#60,ExitInt1 MOV @R1,#0 INC R1 INC @R1 ;时加1 CJNE @R1,#24,ExitInt1 MOV @R1,#0 ExitInt1: SETB F0 ExitInt: POP 01H RETI HexToBCD: MOV B,#10 DIV AB MOV @R0,B INC R0 MOV @R0,A INC R0 RET Display: MOV R0,#buffer MOV A,sec ACALL HexToBCD MOV @R0,#10H ;第三位不显示 INC R0 MOV A,min ACALL HexToBCD MOV @R0,#10H ;第六位不显示 INC R0 MOV A,hour ACALL HexToBCD MOV R0,#buffer LCALL Display8 RET END
EXTRN CODE (Display8)
BUFFER DATA 60H
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP IT0P
MAIN: MOV TMOD,#01H
MOV 20H,#20H
CLR A
MOV 52H,A ;计数和显示
MOV 51H,A ;空间清零
MOV 50H,#50H
MOV 40H,A
MOV 41H,A
MOV 43H,A
MOV 44H,A
MOV 46H,A
MOV 47H,A
SETB ET0
SETB EA
MOV TH0,#9EH ;计数器赋初值
MOV TL0,#58H
SETB TR0
MOV 45H,#11H
MOV
文档评论(0)