- 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.时钟结构与原理
单片机时钟的结构部分主要分为硬件和软件两部分。其中硬件部分比较简单,主要89c51单片机,LED,数码管和按键开关组成,如下图所示。
单片机p0端口接有4为共阳极LED数码管显示器。数码管的8个引脚依照a,b,c,d,e,f,g,dp顺序依次与p0端口的8个引脚相连,,R是电阻。限流电阻p0端口上。
使用方法:P1.1为暂停键,按下后开始进行设置时间,p1.4设置秒,p1.3设置分,p1.2设置时,p1.5为运行键。
基本原理:时钟一般由走时显示和调整时间3项基本功能组成,这些功能在单片机时钟主要由软件设计体现出来。其中,走时部分利用单片机离得定时/计数器产生的中断。例如,设置定时器在T0工作模式0状态下,设置每隔5ms中断一次,中断200次正好是一秒。中断服务程序里记载着中断的次数,中断200次为1秒,60秒为1分,60分为一小时,24小时为一天。
时钟的显示是使用4为LED数码管,其软件设计原理是:由中断产生的秒,分,小时,经转换子程序转换为适应LED数码管显示的数据,并通过单片机的输出功能输入到数码管显示器,再经过显示器扫描程序,显示出时钟的走时时间。调整时间是利用了单片机的输入功能,把按键开关作为单片机的输入信号,通过检测被按下的开关,从而执行赋予该开关调整时间。
因此,在设计程序时把单片机时钟功能分解为走时,显示和调整时间3个主要部分,每一部分的功能通过编写相应的程序来完成,然后再通过主程序调用子程序,使这3部分有机的连在一起,完成单机片的时钟设计
调整时间的设置:
M1: JB K2,M2 ;未按下k1建,则继续扫描
JMP LOOP
M2: JB K3,M3 ; 未按下k2建,则继续扫描
JMP LOOP
M3: JB K4,M4
JMP LOOP
M4: JB K5,M5
JMP LOOP
M5: JMP LOOP
走时功能的设计:T0_SRV:
PUSH ACC
MOV TL0,#(8192-4900)MOD 32
MOV TH0,#(8192-4900)/32
INC DEDA
MOV A,DEDA
CJNE A,#200,TT1
MOV DEDA,#0
INC SEC
MOV A,SEC
CJNE A,#60,TT1
INC MIN
MOV SEC,#0
MOV A,MIN
CJNE A,#60,TT1
INC HOUR
MOV MIN,#0
MOV A,HOUR
CJNE A,#24,TT1
MOV SEC,#0
MOV MIN,#0
MOV HOUR,#0
TT1:
POP ACC
RETI
显示功能的设计:CONV:
;转换小时数据
MOV A,HOUR
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV BUF,A
MOV A,B
MOVC A,@A+DPTR
MOV BUF+1,A
;转换分数据
MOV A,MIN
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV BUF+2,A
MOV A,B
MOVC A,@A+DPTR
MOV BUF+3,A
;转换秒数据
MOV A,SEC
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV BUF+4,A
MOV A,B
MOVC A,@A+DPTR
MOV BUF+5,A
RET
TABLE:
DB 3FH,06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH
DISP:
MOV R0,#BUF ;指向显示器显示缓冲区起始地址
MOV R2,#6
MOV ACC,
S1:
PUSH ACC
MOV A,@R0
MOV P0,A
POP ACC
ACALL DELAY1
MOV P2,ACC
RL A ;向右移动一位
INC R0
DJNZ R2,S1
RET
SET_TIME:
CLR TR0
MOV SEC,#0
L0:
ACALL DISP
J
文档评论(0)