数码管电子钟的设计及实现.docx
- 文档编号:26368364
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:34
- 大小:364.44KB
数码管电子钟的设计及实现.docx
《数码管电子钟的设计及实现.docx》由会员分享,可在线阅读,更多相关《数码管电子钟的设计及实现.docx(34页珍藏版)》请在冰豆网上搜索。
数码管电子钟的设计及实现
编号:
本科毕业设计
数码管电子钟的设计及实现
院系:
信息工程学院
姓名:
学号:
专业:
通信工程
年级:
指导教师:
职称:
副教授
完成日期:
摘要
电子钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、可拓展性能强等特点,被广泛用于生活和工作中去。
本文主要为实现一款可正常显示时间、带有24h/12h制调整、带有AM/PM显示以及时间校准功能的一款基于单片机仿真的多功能电子钟。
本文对设计要求的功能进行了分析和比较,确定了提供电源、界面显示、输入等方案。
本设计采用AT80C51芯片作为核心,以时钟电路、复位电路为辅助电路,用Proteus软件自带的电子钟组件实现高度仿真的显示结果。
软件部分主要采用简单且应用广泛的C51语言编写实现。
这种仿真的电子钟具有电路简单、读取方便、显示直观、功能多样、时间精度较高、操作简单、编程容易、成本低廉等很多优点。
设计主要是用Proteus电路软件实现电子管的仿真。
经过改装,添加部分功能所生产出的产品即可应用于一般的生活和工作中,从而给人们的生活和生产带来便利,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
关键词:
单片机;电子钟;控制器
Abstract
Electronicclockistheuseofelectronictechnologytomakeclockelectronicanddigital.Withapreciseclock,smallsizeandcanbeabletodevelopstrongperformancecharacteristics,soarewidelyusedtoliveandwork.
Inthispaper,toachieveanormaldisplaytimewith24h/12hsystemadjustments,withtheAM/PMdisplayandtimecalibrationfunctionofasimulationbasedonsinglechipmulti-functionelectronicclock.
Inhispaperthedesignrequirementsofthefunctionareanalyzedandcompared,determinedtoprovidepower,interfacedisplay,inputprogram.ThisdesignadoptsAT80C51chipasthecore,withaclockcircuit,resetcircuit,usingProteusSoftwarecomeswiththeelectronicclockassemblytoachieveahighdegreeofsimulationresult.SoftwarepartmainlyusesawiderangeofC51language.Thissimulationelectronicclockhastheadvantagesofsimplecircuit,convenientreading,visualdisplay,multiplefunctions,highprecision,simpleoperation,timeprogrammingiseasy,lowcostandmanyotheradvantages.
ThedesignismainlyuseProteussoftwaretorealizetheelectronictubesimulationcircuit.Aftermodification,addingsomefunctionstoproduceproductsthatcanbeappliedtopeople’slifeandproduction,inlinewiththedevelopmenttrendofelectronicinstrumentation,andhasbroadmarketprospects.
Keywords:
SCM;electronicclock;controller
1
绪论
1.1数字电子钟的背景和意义
20世纪末电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
单片机具有集成度高、功能强、通用性好的特点,特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动化产品等领域。
目前,单片机正朝着高性能和多品种方向发展,趋势是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.2本设计研究的主要内容
本设计采用AT80C51芯片作为核心,采用延时电路和复位电路来实现其计时的功能,用Proteus软件自带的电子钟组件实现仿真结果。
此设计的主要研究内容有:
(1)研究电子钟的原理与实现方法。
(2)51单片机的原理与运用。
(3)构思基于单片机的仿真电子钟的实现方案。
(4)熟悉运用C51单片机语言编写软件系统。
(5)熟悉运用Keil软件与Proteus软件仿真和调试系统。
2系统总体设计及方案论证
本系统采用单片机80C51为中心器件来设计电子钟系统,系统实用性强、操作简单、扩展性强。
本设计采用单片机、键盘、LED显示、电子钟演示系统组成。
系统包括状态转换、调时、调分以及基本的电子钟功能,计时牌显示当前时间。
电子钟控制的框图如下图2-1所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。
图2-1系统总体设计框图
2.1提供方案
为使模块稳定工作,须有可靠电源。
本次设计考虑了两种电源方案:
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
综上所述,选择第二种方案。
2.2显示界面方案
该系统要求完成时间显示功能。
基于上述原因,本次设计考虑了两种方案:
方案一:
完全采用点阵式LED显示。
这种方案功能强大,可方便的显示各种英文字符、汉字、图形等,但实现复杂,且须完成大量的软件工作。
方案二:
完全采用数码管显示。
这种方案优点是实现简单,可以完成时间显示功能。
缺点是功能较少,只能显示有限的符号和数码字符。
根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示。
2.3输入方案
这里同样讨论了两种方案:
方案一:
采用74LS138扩展I/O口、键盘及显示等。
该方案的优点是使用灵活可编程,并且有RAM及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:
直接在I/O口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的端口资源还比较多。
由于该系统是对电子钟数码显示管的控制,用到的单片机端口比较多,所以要实现时间的显示就需要进行端口的扩展,故选择方案一。
3系统硬件设计及实现
3.1整体方案设计
本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、键盘及状态显示时间模块等。
整体硬件设计图如3-1所示。
单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机振荡电路、复位电路等组成。
系统采用单数码管时间显示功能,最大显示数字9。
在时间走飞的情况下,可以通过K1、K2、K3和K4四个按键对时间进行调整。
图3-1整体电路设计
3.2单片机的基本结构
MCS-51单片机内结构如图3-2所示,MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。
80C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在分别加以说明。
图3-280C51单片机内结构
(1)中央处理器
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入/输出功能等操作。
(2)数据存储器(RAM)
80C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
(3)程序存储器(ROM)
80C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
(4)定时/计数器
80C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
(5)并行输入/输出(I/O)口
80C51共有4组8位I/O口(P0、P1、P2、P3),用于对外部数据的传输。
(6)全双工串行口
80C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
(7)中断系统
80C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
(8)时钟电路
80C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但80C51单片机需外置振荡电容。
(9)MCS-51的引脚说明
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
80C51的引脚如图3-3所示,现在对这些引脚的功能加以说明。
图3-380C51引脚图
I/O口线:
P0、P1、P2、P3共四个八位端口。
P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读写操作。
P0口也用以输出外部存储器的低8位地址。
由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。
P1口是专门供用户使用的I/O口,是准双向口。
P2口是从系统扩展时作高8位地址线用。
不扩展外部存储器时,P2口也是准双向口。
P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能,P3口的第二功能如表3-1。
作为第一功能使用时操作同P1口。
表3-1P3口的第二功能
引脚序列
第一功能标志位
第二功能
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
INT0
外部中断0输入
P3.3
INT1
外部中断1输入
P3.4
T0
定时/计时器0外部输入
P3.5
T1
定时/计时器1外部输入
P3.6
WR
外部数据存储器写选通
P3.7
RD
外部数据存储器读选通
控制口线:
PSEN(片外取控制)、ALE(地址锁存控制)、EA(片外储器选择)、RESET(复位控制);
Pin9:
RESET/Vpd复位信号复用脚,当80C51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0~P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
80C51的复位方式可以是自动复位,也可以是手动复位。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
电源及时钟:
Vcc、Vss;XTAL1,XTAL2;
3.3其它电路设计
3.3.1时钟电路
本设计的时钟电路图3-4所示。
图3-4时钟电路图
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30pF左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT80C51单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C2和C3构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
3.3.2复位电路
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
复位是由外部的复位电路来实现的。
片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
当时钟频率选用12MHz时,C1取10μF,R1约为1KΩ。
复位操作不会对内部RAM有所影响。
本设计中的复位电路如图3-5所示。
图3-5复位电路图
3.3.3数码管显示电路
本数字钟显示时间需8位,格式为12:
00:
00,因此需采用8个数码管,若采用单独数码管连线时比较麻烦,而市场上无8位一体的数码管,故本数字钟采用4位一体的数码管。
若使8个数码管正常显示时间,必须采用数码管的动态扫描方式,即每一时刻只有一个数码管点亮,采用软件延时和人眼的视觉停留效果,使人眼看到的数码管是同时点亮的。
因此需要用8个端口控制数码管的段选,即决定数码管显示什么字符,8个端口控制数码管的位选,即决定该时刻让哪个数码管点亮。
考虑到数码管采用动态扫描方式,即循环扫描数码管的8位,并将显示字符送入段选段,为了节省单片机的输入/输出端口和易于程序的编写,采取直接用P2口控制数码管的8个段选位,其中数码管的小数点控制位DP不用可直接悬空,为了增加其驱动能力使数码管显示更亮,在此加入74100,有锁存数据和增加驱动的作用。
利用P2.0~P2.3口接一个74LS138的3–8译码器控制数码管的位选端。
连接方式如图3-6所示。
图3-674LS138与P2口连接图
74LS138为3线—8线译码器,共有54/74S138和54/74LS138线路结构型式,其74LS138工作原理如下:
当一个选通端(E1)为高电平,另两个选通端(E2)和(E3)为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平的方式译出。
利用E1、E2和E3可级联扩展成一个24线译码器。
若外接一个反相器还可以级联扩展成为32线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
74LS138的引脚如图3-7所示。
图3-774LS138译码器引脚图
74LS138的真值表见表3-2。
表3-274LS138译码器真值表
输入
输出
E1
E2+E3
CBA
Y0Y1Y2Y3Y4Y5Y6Y7
0
x
xxx
11111111
x
1
xxx
11111111
1
0
000
01111111
1
0
001
10111111
1
0
010
11011111
1
0
011
11101111
1
0
100
11110111
1
0
101
11111011
1
0
110
11111101
1
0
111
11111110
74LS138外接一个反相器级联扩展成为32线译码器。
在该设计中,由于单片机的P2口只有8个数据线显然不够32个数据使用。
因此,74LS138译码器再次使用于扩展数据输入端的。
将选通端中的一个作为数据输入端,74LS138还可作为数据分配器如图3-8所示。
将数据分配给7个74100,以此来驱动点亮数码管。
图3-874LS04与74100连接图
74100具有数据锁存和数据缓冲的功能,做数据锁存时,当输入的数据消失时,在芯片的输出端,数据仍然保持;做数据缓冲时,可加强驱动能力,74100的引脚图如图3-9所示。
同样,74LS244也具备数据缓冲的能力。
图3-974100引脚图
本设计中所用到的数码管的如图3-10所示,将1、2、3、4引脚与U5:
A的Q0、Q1、Q2、Q3引脚依次相连接,引脚1控制AM/PM显示,引脚2控制12h/24h制的设定,引脚3控制复位显示,引脚4控制时间间隔位。
图3-10数码管引脚图
本设计用到七个74100芯片,分别是U2:
A、U2:
B、U3:
A、U3:
B、U4:
A、U4:
B、U5:
A。
U2:
A通过NOR-4与74LS244相连接,驱动数码管的A0~D0。
U2:
B与A1~D1相连接,连接方式如图3-11所示;依次类推,U3:
A、U3:
B、U4:
A和U4:
B依次与A2~D2、A3~D3、A4~D4、A5~D5相连接。
图3-1174100与74LS244连接图
按键扫描控制部分采取独立按键控制方式,用单片机的P0.0~P0.3控制4个弹性按键,用来显示和控制时间的调整,因所用的按键较少,故采用独立按键控制方式,且所用按键均为弹性小按键,即按下时为低电平接通,松手时即弹起变为高电平,为了节省输入/输出端口和方便编程,每个按键根据其按的次数有不同的作用。
按键控制图如图3-12所示。
图3-12按键控制图
4系统软件设计及实现
该系统软件程序主要有主程序模块,按键扫描程序,显示子程序,时钟调整与设置程序等四大模块组成。
图4-1中按键从上往下设定为K1、K2两个开关和K3、K4两个按键,K1与P0.0相连,K2与P0.1相连,K3与P0.2相连,K4与P0.3相连。
当需要设定当前时间时,按一下K2键,进入时间设定状态,按一下K4,分钟加1;按一下K3,小时加1。
如此反复来设定当前时间。
调好时间后,断开K2,退出当前时间设定状态;当要切换时间模式时,按下K1键,进入二十四时计时模式,断开K1键,进入十二时计时模式。
图4-1按键控制图
4.1主程序流程图
本流程图所描述的是:
程序导入单片机,开始运行。
系统从12点59分40秒开始计时,本设计中用到了两个开关(K1、K2)和两个按钮(K3、K4),K1的优先级别最高,所以进行按键扫描时首先判断K1键是否闭合。
K1键控制着不同的计时模式,闭合就进入二十四时计时模式,断开则进入十二时计时模式。
在相应的计时状态下,判断K2键是否闭合,如果要进行时间调整,则闭合K2键,程序将会通过K3和K4键进行时间的设定,K3对小时进行调整,K4对分钟进行调整,按下一次K3键,小时加1,按下一次K4键,分钟加1,时间调整结束后,断开K2键,程序从调整后的时间开始正常显示。
具体主流程图如4-2所示。
进入24时进制计时
开始
从12时59分40秒开始计时
判断K1是否按下
进入12时进制计时
判断K2是否按下
进行相应的时间调整
调整结束
正常的时间显示
N
Y
N
Y
图4-2主程序流程图
4.2时间调整程序流程图
时间的调整是通过K2、K3和K4来实现的。
K2与K3、K4的优先级别不一样,K2的优先级高于K3和K4,K3和K4是同等优先级。
要实现对时间的重置首先要从K2开始判断,K2是时间调整的开启键,只有先闭合K2才能进行时间的重置。
在K2闭合的状态下,按一下K3键,小时按照相应的计时模式(12/24时制)进行加1,当小时加到相应的最大值时进行自动返1(12时计时下)或者返0(24时计时下),通过K3键进行小时的调整,直到所要设定的小时为止。
按一下K4键进行分钟的加1,当达到60是自动返回1,通过K4键进行分钟的调整,直到所要设定的分钟为止。
具体设计流程图如图4-3所示。
图4-3时间调整程序流程图
5Proteus软件仿真
5.1Proteus软件简介
Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。
通过Proteus软件的使用能够轻易地获得一个功能齐全、实用方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 电子钟 设计 实现