您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 简易电子钟的设计与实现
1简易电子钟的设计与仿真一、设计要求和电路原理1.1设计要求1)可以准确地显示北京时间。2)时间显示选择24小时模式。3)选用AT89C52单片机,将编写的程序下载到该单片机中,并能使数码管显示。4)采用KeilC51编译,Proteus软件进行仿真。1.2设计原理与思路利用单片机的定时与中断系统功能实现电子钟的计数和调时。采用AT89C52定时中断方式实现24小时制时钟精确的计时。通过外部的12M(11.0529M)Hz晶振产生稳定的谐振,在AT89C52的内部定时器电路实现定时,当定时器溢出时产生中断,累计定时器的定时时间达一秒时,数码管的秒显示加1,判断数码管的秒显示达60时,秒显示自动清零,分显示加1,判断分显示达60时,分显示自动清零,时显示加1,判断时显示达24时,时显示自动清零。从而实现00:00:00—23:59:59之间的任意时刻显示。为了使时钟能够灵活的对时间进行调整、校对,通过增加外部的按键实现简单的复位、时调整、分调整的功能。形成一个具有复位和校时功能的简易电子时钟。二、电子时钟设计方案2.1电子钟设计的基本方法2.1.1电子钟实现计时的方法利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计时。(1)计数初值计算:把定时器T0设为工作方式2,产生0.25ms定时中断,计数溢出4000次即得时钟计时最小单位秒,而4000次计数可用软件方法实现。假设使用T/C0,方式2,0.25ms定时,fosc=12MHz。则初值a满足(256-a)×1/12MHz×12μs=250μsa=6(6H)TH0=#6H;TL0=#6H(2)采用中断方式进行溢出次数累计,计满4000次为秒计时(1秒);2(3)从秒到分和从分到时的计时是通过累加和数值比较实现。2.1.2电子钟的时间显示电子钟的时钟时间在8位数码管上进行显示,时、分、秒的显示值可以在单片机的内部RAM设置三个缓冲单元,30H、31H、32H分别存储时、分、秒的值。显示如下表:表2.1电子钟的时、分、秒显示时十位时个位分十位分个位秒十位秒个位LED8LED7LED6LED5LED4LED3LED2LED132H空31H空30H2.1.3电子钟的时间调整电子钟设置3个按键通过程序控制来完成电子钟的时间调整。A键复位;按下A键,时钟显示初始值120000B键调整分;快速按下A键,分显示加1,当分显示为59,加1变成00C键调整时;快速按下B键,时显示加1,当时显示为23,加1变成002.2芯片以及元件2.2.1AT89C52简介AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的,是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义。下面对相关的引脚作介绍:VCC:+5V电源。VSS:接地。3P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。AT89C52芯片的引脚图和芯片图如下:4图2.1AT89C52引脚图和芯片图2.2.2八位动态显示数码管1)数码管动态显示接口图图2.2数码管的动态显示接口图5图2.3数码管实物图2)数码管的动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.3电子钟模块化电路2.3.1电子钟的硬件设备模块电子钟的总体硬件模块电路有:晶振、手动复位、数码管显、和时间调整和单片机接口电路,如图2.4所示。下面分别介绍个模块的设计。图2.4电子钟硬件模块62.3.2时钟电路模块图2.5所示为时钟电路原理图,在AT89C52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。图2.5时钟电路2.3.3复位电路模块单片机复位的条件是:必须使RST/VPD或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12MHz,每机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示,这是一个微分型电路。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位(由电容的通电时间计算得到,复位电阻的阻值在10—30pF)。该电路除具有上电复位功能外,若要复位,只需按图中的RST键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。图2.6复位电路72.3.4数码管显示电路模块系统采用动态显示方式,单片机AT89C52的P0口控制LED数码管的段选线,P2口控制数码管的位选线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。下图为共阴极8位数码管动态显示。图2.7数码管显示电路2.3.5按键电路模块下图为按键模块电路原理图,A为复位键,B为时钟调控键,C为分钟调控键。A、B、和C三个按键一路有上拉电阻连接高电平,另一路接入单片机的控制引脚P1.0,、P1.1、P1.2。按钮断开时,控制引脚P1.0,、P1.1、P1.2均为高电平,当按下某一个按键时,控制引脚变为低电平,由程序控制其相应的作用。8图2.8按键电路2.3.6电子时钟系统的设计原理图结合所有的模块设计,综合得出电子钟系统的总体设计原理图如图2.9所示。图2.9电子钟原理图2.3.7相关引脚和元件a)AT89C52单片机用到的引脚:P0口:用于控制数码管的段选P2口:用于控制数码管的位选9P1口:P1口的P1.0,、P1.1、P1.2脚分别控制时钟的复位、分调整、时调整。XTAL1、XTAL2:接晶振的脉冲输入RST:复位电路b)其他的元件和相关作用电阻R1—R11:上拉电阻,保护电路,起限流的作用电阻R12:复位电路的充电电阻8个8段数码管:1、2显示时,4、5显示分,7、8显示秒,3、6不显示。电容C1、C2:晶振的微电容,单片机的脉冲周期产生晶振:12M,与电容构成晶振电路材料清单见附录1三、电子时钟的Protues仿真3.1Protues软件概述Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真(4)互动的电路仿真,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(5)仿真处理器及其外围电路,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。具有4大功能模块:智能原理图设计(ISIS);完善的电路仿真功能(Prospice);独特的单片机协同仿真功能(VSM)和实用的PCB设计平台。3.2编写实验程序、画出实验原理图简易电子钟汇编程序见附录2。10由理论设计的电子时钟在protues软件上进行仿真实验,实验原理图如图3.1,按照设计的实验原理图在仿真软件protues上连线。图3.1电子钟仿真实验原理图3.3仿真流程图显示初始值开始(初始化)计数秒到60秒清零分到60分清零计数计数时到24时清零YNYNYN判断时加1分加1复位调时调分复位计数结束图3.2电子钟仿真流程图113.4仿真电路调试及结果分析第一、在Keil环境下建立目标工程——编译程序——无错(若有错,则需重新检查程序知道无错为止),则生成.hex文件——双击单片机,导入文件。第二、单击运行按钮,电路仿真上电,观察数码管的显示以及通过控制按键对时间的调整,检查是否正确,若不正确,则
本文标题:简易电子钟的设计与实现
链接地址:https://www.777doc.com/doc-78666 .html