单片机数字电子时钟设计.docx
《单片机数字电子时钟设计.docx》由会员分享,可在线阅读,更多相关《单片机数字电子时钟设计.docx(16页珍藏版)》请在冰豆网上搜索。
单片机数字电子时钟设计
单片机数字电子时钟设计
摘要
第一章电子时钟的设计3
1.1电子时钟简介3
1.2电子时钟的工作原理3
第二章硬件设计方案4
2.1硬件电路的设计方案4
2.2硬件电路的原理图4
2.3硬件电路说明5
第三章电子时钟的程序设计8
3.1程序流程图8
3.2程序设计
11
15
总结
摘要
随着现代生活的推进,电子时钟在人们的生活中差不多普及,本课题的要紧内容确实是结合单片机的强大功能,在一块一般的电子时钟集成多种功能,方便人们的日常生活,该功能是通过单片机、8段数码管以及一些简单辅助电路实现的。
由于之前没有独立做过单片机实现多功能电子时钟方面的内容,因此在做设计时总会遇见专门多问题,本次设计是在结合老师的指导及同学的关心下完成的,并通过本人在网上所查的大量资料及单片机设计中常见的电路而构思出来的。
单片运算机即单片微型运算机。
由RAM.ROM,CPU构成,定时,计数和多种接口于一体的微操纵器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
本设计要紧设计了一个基于AT89C51单片机的电子时钟。
并在数码管上显示相应的时刻。
并通过一个操纵键用来实现时刻的调剂和是否进入省电模式的转换。
该方法仿真成效真实、准确,节约了硬件资源。
关键字:
单片机、电子时钟、程序
第一章电子时钟的设计
1.1电子时钟简介
电子钟是一种利用数字电路来显示秒、分、时的计时装豊,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装麗等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。
现在高精度的计时工具大多数都使用了石英晶体振荡器,山于电子钟、石英钟、石英表都采纳了石英技术,因此走时精度高,稳固性好,使用方便,不需要经常调试,数字式电子钟用集成电路讣时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时刻,减小了计时误差,这种表具有时、分、秒显示时刻的功能,还能够进行时和分的校对,片选的灵活性好。
LCD数字电子钟除了在都市的要紧营业场所、车站、码头等公共场所使用,还能够改装在摩托车和汽车内,LCD显示,带蓝色背光,白天在太阳光下也能专门清晰的看到显示时刻,关钥匙能够关闭蓝色背光,时刻还能显示也可不能清零,因LCD的显示耗电量专门省的,因此一直工作也不必担忧耗电问题。
在骑摩托车时,为了看时刻,先要停下车子,取岀手机,才能看时刻,是否有点苦恼,现在车内改装了一个蓝色背光的液晶电子钟后,不管白天黑夜色,随时能够看时刻,专门方便。
1.2电子时钟的工作原理
一样电子钟是一个将'、时",''分",''秒"显示于人的视觉器官的
计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。
因此,一个差不多的数字钟电路要紧由译码显示器、''时”,''分",''秒"计数器、校时电路、报时电路和振荡器组成。
主电路系统由秒信号发生器、''时、分、秒"计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直截了当决定计时系统的精度,一样用石英晶体振荡器加分频器来实现。
将标准秒信号送入''秒计数器〃,''秒计数器"采纳60进制计数器,
每累计60秒发出一个''分脉冲"信号,该信号将作为''分计数器"的时钟脉冲。
''分计数器"也采纳60进制计数器,每累计60分钟,发出一个''时脉冲"信号,该信号将被送到''时计数器"。
'、时计数器"采纳24进制计时器,可实现对一天24小时的累计•。
译码显示电路将''时"、''分"、''秒"计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。
整点报时电路时依照计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对''时"、''分"、''秒"显示数字进行校对调整。
而该电子时钟山89C51,六段数码管等构成,采纳晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。
而电路中唯独的一个操纵键却拥有多种不同的功能,按下乂松开,能够实现屏蔽数码管显示的功能,达到省电的U的;直截了当按下不松开,那么能够通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,那么可实现小时的调剂,同样每按一次小时加一。
第二章设计方案
2.1硬件电路的设计方案
依照设计要求和设讣思路,硬件电路有两部分组成,即单片机按键电路,
LED显示器电路。
图1为硬件电路设计框图。
硬件电路设讣框图
2.2硬件电路的原理
设讣原理图,如下图。
ffiTf-
匚UA1
O7WJIL
J-1
灯AU
XFM2
PIPIPIPIPIPIPIPI
n川23JUllfl.n
RCTJPOPOR3ERR
P2JDU
P2JIJW
rasxio
CDOlliI
P2XIAI2
P2JIAI9
P2BAI&
ra.riAiB
CTURXDro.nrwraJWrTpgawFF
Wj«roCTJtripsawp"ra.nraD-
fUuc
□2
Afiill・
"52
2
设讣原理图
本设计电路,硬件部分共由五个模块组成:
按键模块、复位电路模块、晶振电路模块、发声指示模块、时刻显示模块。
晶振电路模块负责给单片机提供时钟周期。
复位单路模块负责上电后自动复位,或按键后强制复位。
上电后,山单片机内部定时器讣时,同时通过动态显示函数自动将时分秒显示到数码管上。
与此同时,按键扫描函数,一直扫描按键引脚状态,一旦扫描到按键被按下,即进入相应的功能函数。
假如检测到定时时刻到,那么驱动蜂鸣器发声提示。
2.3硬件电路说明
2.3.1按键模块
按键模块如下图。
在该模块中,采纳四个按键作为电子时钟的操纵输入,通过按键来实现时钟的时刻设置、定时、秒表功能。
电路中将四个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,那么该按键对应的额管脚被拉低,通过软件扫描按键即可明口用户所要实现的功能,调用相应的按键子程序来完成该操作。
按键的去抖动山软件来实现。
2.3.2单片机的复位电路
单片机的复位电路,如下图。
单片机的复位电路
当MCS-51系列单片机的复位引脚RST(全称RESET)显现2个机器周期以上的高电平常,单片机就执行复位操作。
假如RST连续为高电平,单片机就处于循环复位状态。
依照顾用的要求,复位操作通常有两种差不多形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电后,保持RST一段高电平常刻。
2.3.3单片机的晶振电路
L1•馆
•・2111・j[X1・・・
°I…小
单片机的晶振电路,如下图。
C2……>3
■
单片机的晶振电路
石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。
晶体旁边的两个电容接地,实际上确实是电容三点式电路的分压电容,接地点确实是分压点。
以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路连续振荡。
2.3.5时刻显示模块
时刻显示模块如下图。
液晶显示电路
时刻显示部分的电路也专门简单,山三个两位的共阴8段数码管、四盏Led灯,加上一个4511译码驱动电路组成。
在显示过程中,单片机将要显示的数字传递给4511芯片,同时通过位选选通要显示的数码管。
4511芯片实现将BCD码数字转换为七段数码管段选码通过其输出端输出,同时提供约500mA的电流驱动数码管点亮。
2II
数码管译码驱动驱动电路
第三章操纵系统的软件设计
系统的流程图如图a和图b所示:
图a主程序流程图
TO中靳入口
图b中断处理流程图
3.2依据流程图编写程序
本系统的软件系统要紧可分为主程序、定时计数中断程序、时刻调整程序、延时程序四大模块。
在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。
主程序;
START:
MOVR0.#70H;淸70H-7AH共11个内存单元
MOVR7,#0BH;
CLEARDISP:
MOV@RO.#OOH;
INC
RO;
DJNZ
R7.CLEARDISP;
MOV
20H.#00H
20H(标志用)
MOV
7AH.#0AH
;放入”熄灭符"数据
MOV
TMOD.#11H;设TO.T1为16位定时器
MOV
TL0,#0B0H
;50MS圧时初值
(TO计时用)
MOV
TH0,#3CH
;50MS定时初值
MOV
TL1,#OBOH
;50MS左时初值
(T1闪耀定时用)
MOV
TH1.#3CH
;50MS立时初值
SETB
EA
;总中断开放
SETB
ETO
;承诺TO中断
SETB
TRO
;开启TO左时器
MOV
R4・#14H
;1秒泄时用初值
(50MSx20)
START1:
LCALLDISPLAY;调用显示子程序
JNBP3.5.SETMM1:
P3.5口为0时转时刻调整程序
SJMPSTART1:
P3.5口为1时跳回START1
SETMM1:
LJMPSETMM;转到时刻调整程序SETMM
左时计数中断程序:
MOVTMOD.#OOH;写操纵字
MOVTLO・#OCH
SETB
TRO
:
启动TO
SETB
ETO
:
承诺TO中断
SETB
EA
:
开放CPU中断
AJMP
$
时刻调整程序:
SETMM:
cLRETO
CLRTRO
LCALLDL1S
JB
P3.7.CLOSEDIS
MOV
R2.#06H
SETB
ET1
SETB
TRI
SET2:
JNB
P3・7,SET1
SETB
OOH
SET4:
JB
P3・7,SET3
LCALLDLO5S
JNBP37SETHH
MOVR0.#77H
LCALLADD1
MOVA.R3
;关圧时器TO中断
;关闭左时器TO
;调用1秒延时程序
;键按下时刻小于1秒,关闭显示(省电)
;进入调时状态,赋闪罐定时初值
;承诺T1中断
;开启左时器T1
;P3.7口为0(键未开释),等待
;键开释,分调整闪榷标志置1
;等待键按下
;有键按下,延时0.5秒
;按下时刻大于0.5秒转调小时状态
;按下时刻小于0.5秒加1分钟操作
;调用加1子程序
;取调整单元数据
HHH:
JCSET4
;调整单元数据小于60转SET4循环
LCALL
CLRO
;调整单元数据大于或等于60时清0
CLR
C
;晴进位标志
AJMP
SET4
漑转到SET4循环
CLOSEDIS:
SETBET0
;省电(LED不显示1状态。
开TO中断
SETB
TRO
;开启TO泄时器(开时钟)
CLOSE:
JBP3.7,CLOSE
;无按键按下,等待。
LCALL
DISPLAY
;有键按下,调显示子程序延时削抖
JB
P3.7.CLOSE
;是干扰返回CLOSE等待
WAITH
JNBP3.7.WAITH
1;等待键开释
UN1P
START1
;返回主程序(LED数据显示亮)
SETHH:
CLROOH
;分闪耀标志淸除(进入调小时状态1
SETHH1:
JNBP3・7,SET5
;等待键开释
SETB
01H
;小时调整标志置1
SET6:
JBP3・7,SET7
;等待按键按下
LCALL
DL05S
;有键按下延时0.5秒
JNB
P3.7.SETOUT
;按下时刻大于0.5秒退出时刻调整
MOV
R0.#79H
;按下时刻小于0.5秒加1小时操作
LCALL
ADD1
;调加1子程序
MOV
A.R3;
CLR
c;
CJNEA.#24H・HOUU
;讣时单元数据与24比较
LCALL
CLRO
;大于或等于24时淸O操作
AJMP
SET6
;跳转到SET6循环
SETOUT:
JNBP3・7,SETOUT1
;调时退岀程序。
等待键开释
LCALL
DISPLAY
;延时削抖
JNB
P3.7.SETOUT
;是抖动,返回SETOUT再等待
CLR
01H
;淸调小时标志
CLR
OOH
;淸调分标志
CLR
02H
;淸闪権标志
CLR
TRI
;关闭泄时器T1
CLR
ET1
;关圧时器T1中断
SETB
TRO
;开启泄时器TO
SETB
ETO
;开定时器TO中断(计时开始)
UMP
START1
;跳回主程序
SET1:
LCALL
DISPLAY
;键开释等待时调用显示程序(调分)
AJMP
SET2
;防止键按下时无时钟显示
SET3:
LCALL
DISPLAY
;等待调分按键时时钟显示用
AJMP
SET4
SET5:
LCALL
DISPLAY
;键开释等待时调用显示程序(调小时)
AJMP
SETHH1
;防止键按下时无时钟显示
SET7:
LCALL
DISPLAY
;等待调小时按键时时钟显示用
AJMP
SET6
AJMP
SETOUT;防止键按下时无时钟显示
延时程序:
IMS延时程序,LED显示程序用
DL1MS:
MOVR6.#14H
DL1:
MOVR7.#19H
DL2:
DJNZR7,DL2
DJNZ
R6,DL1
RET;;20MS延时程序,采纳调用显示子程序以改善LED的显示闪耀现象
DS20MS:
ACALLDISPLAY
ACALLDISPLAY
ACALLDISPLAY
RET
总结:
本电子时钟设计硬件结构简单,软件设计条理清晰,是一个专门有用及专门常见的多功能时钟。
山于之前没有独立做过单片机实现多功能电子时钟方面的内容,因此在做设计时总会遇见专门多问题,本次设计是在结合老师的指导及同学的关心下完成的,并通过本人在网上所查的大量资料及单片机设计中常见的电路而构思出来的。
通过电子时钟的设讣,使我对单片机的使用和工作原理有了更深刻的明白得,对伟福单片机编程环境熟悉了许多,进一步把握了单片机的定时器、中断处理的编程方法和数码显示电路的驱动方法。