简易电子钟的设计与实现docxWord文档下载推荐.docx
《简易电子钟的设计与实现docxWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易电子钟的设计与实现docxWord文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
形成一个具有复位和校时功能的简易电子时钟。
二、电子时钟设计方案
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μs
a=6(6H)
TH0=#6H;
TL0=#6H
(2)采用中断方式进行溢出次数累计,计满4000次为秒计时(1秒);
(3)从秒到分和从分到时的计时是通过累加和数值比较实现。
2.1.2电子钟的时间显示
电子钟的时钟时间在8位数码管上进行显示,时、分、秒的显示值可以在单片机的内部RAM设置三个缓冲单元,30H、31H、32H分别存储时、分、秒的值。
显示如下表:
表2.1电子钟的时、分、秒显示
时十位
时个位
分十位
分个位
秒十位
秒个位
LED8
LED7
LED6
LED5
LED4
LED3
LED2
LED1
32H
空
31H
30H
2.1.3电子钟的时间调整
电子钟设置3个按键通过程序控制来完成电子钟的时间调整。
A键复位;
按下A键,时钟显示初始值120000
B键调整分;
快速按下A键,分显示加1,当分显示为59,加1变成00
C键调整时;
快速按下B键,时显示加1,当时显示为23,加1变成00
2.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:
接地。
P0口:
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芯片的引脚图和芯片图如下:
图2.1AT89C52引脚图和芯片图
2.2.2八位动态显示数码管
1)数码管动态显示接口图
图2.2数码管的动态显示接口图
图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电子钟硬件模块
2.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复位电路
2.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均为高电平,当按下某一个按键时,控制引脚变为低电平,由程序控制其相应的作用。
图2.8按键电路
2.3.6电子时钟系统的设计原理图
结合所有的模块设计,综合得出电子钟系统的总体设计原理图如图2.9所示。
图2.9电子钟原理图
2.3.7相关引脚和元件
a)AT89C52单片机用到的引脚:
用于控制数码管的段选
P2口:
用于控制数码管的位选
P1口:
P1口的P1.0,、P1.1、P1.2脚分别控制时钟的复位、分调整、时调整。
XTAL1、XTAL2:
接晶振的脉冲输入
复位电路
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大功能模块:
智能原理图设计