- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机产开发实例
1.4电子钟设计
1.4.1 功能说明
用六个LED数码管显示时、分、秒,用三个按键来实现时、分、秒的调整,其中一个按键作为功能键,可控制调时、调分、调秒位,另外两个按键作为+1键和-1键,在调整时,对应的位闪烁。
1.4.2 相关知识
LED数码管动态显示原理见上例。
1S钟基准时间的设计,时钟的主频为6MHz,设定T0工作在方式1、定时、中断工作状态,定时时间为100ms(3CB0),中断10次为1s,1s钟时间到,秒+1,秒为60后,分+1,分为60后,时+1,时为24后,清零。
调整时闪烁设计,用T1工作在方式1、定时、中断工作状态,定时时间为100ms(3CB0),中断5次为0.5s,0.5s钟时间到,标志位F0取反一次。F0在显示主程序中作为闪烁的判断。
1.4.3 硬件设计
一、最小系统设计
同上
二、电子钟电路设计
六个LED数码管采用动态显示的方法,字型口串联510欧姆的限流电阻后接到P1口上,字位口通过三极(8550)管驱动后,接到P2.0~P2.5上。三个按键采用独立式按键的方法,分别接到P3.7~P3.5上,S1为功能键,S2为+1键,S3为-1键。
1.4.4 软件设计
一、主程序设计
初始化中,T0、T1都工作在方式1、定时、中断工作状态,定时时间都为100ms(3CB0),T0中断10次为1s,T1中断5次为0.5s,T0用于1s钟基准时间,T1用于调整时的闪烁设定。
功能键3s,是通过500次的调用显示子程序完成,调用一次显示子程序的时间约为6ms。
标志位(R3)的初值为00H,不在调整状态,当功能键按下3s,标志位(R3)为01H,调整时位,时闪烁,若按下+1键,时+1,若按下-1键,时-1;当再次按下功能键,标志位(R3)位02H,调整分位,分闪烁,依次类推,第四次按下功能键时,调整结束,回到正常显示状态。
二、T0中断服务子程序
T0中断服务子程序是用于1s基准时间的处理,中断10次为1s。1s钟时间到,先是“秒”+1,判断“秒”是否为60,若为60,“秒”清零,同时“分”+1,再判断“分”是否为60,若为60,“分”清零,“时”+1,若“时”为24,“时”清零。
三、显示子程序
在显示子程序中,判断标志位(R3)为00H时,“时”、“分”、“秒”都要显示。
若标志位(R3)为01H时,调整“时”,“时”闪烁,闪烁原理是通过T1定时0.5s实现,0.5s时间到F0取反一次,在显示子程序中只要判断F0为0时,“时”不显示,为1时,“时”显示。
标志位(R3)为02时,调整“分”,方法同上。
标志位(R3)为03时,调整“秒”,方法同上。
四、T1中断服务子程序
用于定时0.5,作为调整时闪烁的判断。
五、汇编语言程序
ORG 0000H
LJMP MAIN
ORG 000BH
AJMP TT0
ORG 001BH
AJMP TT1
MAIN: ORG 0030H
S1 BIT P3.7 ;功能键
S2 BIT P3.6 ;+1键
S3 BIT P3.5 ;-1键
MOV SP,#2FH
MOV TMOD,#11H;时钟频率为6MHz
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB EA
SETB ET0
SETB ET1
SETB TR0
SETB TR1
MOV R2,#0AH
MOV R4,#23H ;显示的时分秒
MOV R5,#59H
MOV R6,#00H
MOV R7,#5;
定时时间为100ms(3CB0),中断5次为0.5s
LOOP:CLR F0;
MOV R3,#00H ;标志位清零
LCALL RIS
JB S1,LOOP
MOV 64H,#250;功能键3秒
LOOP1:LCALL RIS
JB S1,LOOP;=1转=0顺
LCALL RIS
DJNZ 64H,LOOP1
;
CLR TR0;定时时间到标志
INC R3
文档评论(0)