APP下载

基于51单片机的多功能数字电子钟的设计

2016-09-06武汉轻工大学电气与电子工程学院武汉430048

山东工业技术 2016年10期
关键词:数码管高电平存储器

叶 青(武汉轻工大学 电气与电子工程学院,武汉 430048)

基于51单片机的多功能数字电子钟的设计

叶青
(武汉轻工大学电气与电子工程学院,武汉430048)

多功能电子时钟除了具有时钟的功能外还可以包含对环境温度检测的功能。温度是一种最基本的环境参数。在各个行业生产及日常生活中,对温度的测量及控制始终占据着非常重要的地位。目前,典型的温度检测控制系统由模拟式温度传感器、A/D转换电路和各种单片机组成。由于模拟式温度传感器输出的模拟信号必须经过A/D转换环节转换为数字信号后才能与单片机等微处理器接口进行读写的操作,所以硬件电路会比较复杂,成本较高。而以DS18B20为代表的新型单线总线数字式温度传感器集温度测量和A/D转换于一体,这类传感器可以直接输出数字量,同时与单片机接口电路结构非常简单,可以广泛用于距离远、节点分布多的场合,具有较强推广应用价值。

电子时钟;单片机;模拟信号;A/D转换

1 引言

20世纪末,电子技术发展极为迅速,随之现代电子产品和多种高科产品便在社会多个领域中得以应用,这对于社会生产力以及信息化程度的发展与提高是非常有效的,但产品更新换代的频率也越来越快。随着科技的发展社会的进步和全球化竞争的日益激烈,对于数字钟,人们有着越来越高的要求,人们已经不再满足于传统时钟。多功能电子钟在用途已经样式中都出现了极大的变化,大部分电子钟都已具备电子闹钟、电子秒表、温度检测等功能。同时单片机在多功能数字钟中的应用已是非常普遍的。

我们常常会在日常生活中,以及自动控制系统中碰到需要实时监控温度以及时间的情况。这使得多种功能时钟得到广阔的发展市场。本文便将以单片机为基础的对于带温度检测电子时钟进行设计以及实现的方式进行提供。

2 AT89S51单片机简介

AT89S51具备的功耗较低,CMOS8位单片机具备较高性能,片内具备4k Bytes ISP(In-system programmable)能够对Flash只读程序存储器进行1000次的反复擦鞋,器件选择的是由ATMEL公司的89C51引脚结构以及兼容标准MCS-51指令系统,其实通过非易失性存储技术已经高密度制造的,芯片内对于ISP Flash存储单元以及通用8位中央处理器进行了集成,微型计算机AT89S51有着强大功能,能够将性价比非常高的解决方案向多数嵌入式控制应用系统中进行提供。

AT89S51主要特点如下:具备引脚40个,随机存取数据存储器(RAM)128bytes片内程序存储器4k Bytes Flash,中断优先级5个2层中断嵌套中断,看门狗(WDT)电路,外部双向输入/输出(I/O)口有32个,16位可编程定时计数器2个,片内时钟振荡器以及全双工串行通信口2个。

同时,AT89S51在设计以及配置上对于振荡频率可为0Hz,同时能够借助软件来对省电模式进行设置。处于空闲模式中,CPU工作暂停,能够继续工作的有外中断系统、串行口以及RAM定时计数器,掉电模式对于振荡器进行冻结,并对RAM数据进行保存,对于其他功能,芯片会进行停职,知道硬件复位或者是激活外中断。此外改芯片有三种封装形式,一是PLCC,二是PDIP,三是TQFP,以此来对不同产品的需要给以满足。

其特性主要就是可编程FLASH存储器为4K字节,三级程序存储器能进行锁定保密,MCS-51和8031CPU可兼容,工作是全静态的,可编程I/O线有32条,中断源有6个,内部RAM128*8位,片内时钟电路和振荡器,掉电已经闲置模式功耗低,串行通道可编程,定时器/计数器是两个16位的。

相较于89C51,89S51的功能主要有一下几点增加:一是较大的提高了其性能,同时又很多功能增加,但是价格却比89C51还要低。二是33MHz的工作频率,89C51只具备24M的极限工作频率,而S51的工作频率更高,进而对计算速度给以提升。三是ISP在线编程功能,改功能可对单片机存储器中的程序给以改写,却保证芯片不被在工作环境中剥离,改功能应用方便且非常强大。四是具备电源关闭标识。五是存在双工UART串行通道。六是具备双数据指示器。七是具备全新加密算法,这边无法解密89S51,这极大的增强了程序保密性,进而使得知识产权被保密而不会受到侵犯。八是能够向下对51全部字系列产品进行兼容,如89C51等。这就是指全部网络教程已经教科书中的程序,都能够正常运行在89S51中,这边是向下兼容。九是看门狗计时器能够在内部集成,不用再对89C51进行外接看门狗计时器单元电路。

3 硬件系统设计

3.1系统框架设计

系统框架如图1。

3.2模块设计

3.2.1单片机系统电路

AT89S51有40引脚,双列直插(DIP)封装,所用引脚功能如下:一是VCC—在运行中+5V。二是XTAL1是振荡器反相放大器和其内部时钟发生器的输入端。三是GND—接地。四是RST-进行复位输入,进行晶振工作时,RST引脚中对于具备2个机器周期以上的高电平给以作用,促进单片机复位。该引脚会受到WDT溢出的影响将高电平进行输出,对SFT AUXR的DISRTO位(地址8EH)进行设置则能够对该功能给以关闭或是打开。DISRTO位缺省是REST输出高电平打开。五是XTAL2,是振荡器反相放大器输出端。六是无自锁开关,(S2-P3.7)开关与相应引脚P3.7进行连接,按下开关,引脚是低电平0,在断开时,引脚具备高电平1。六是P1口,P2口—P1,P2是8位双向I/O口具备内部上拉电阻。运行过程中借助P1口对驱动电路给以控制,向数码管进行数据输送,对于相应段码给以显示,为使得功耗减少,并使得功耗减少,并对最大电流给以限制,并将一限流电阻进行加入。P2.0—P2.7口对于数码管位选给以控制,进而让数据被六个数码管进行轮流显示,其为0的时候对三极管导通给以位选,为1时对三极管截止进行位选。七是EA/VPP,片外程序存储器对于信号是允许访问的。如果让CPU只对于外部程序存储器进行访问,则EA必须对于低电平进行保持,若是EA是高电平,那么CPU会对内部程序存储器的指令给以执行。

3.2.2复位电路

不管是对哪种类型单片机给以应用,其是对单片机复位电路的相关设计进行涉及的,单片机复位电路的设计质量对于整个系统工作的可靠性有着直接影响。多数用户在进行单片机系统设计的时候,在成功调试实验室之后,现场会有“程序走飞”、“死机”等出现,主要原因就是单片机不可靠的复位电路设计。复位电路具备的基本功能是,系统进行上电时,要对复位信号进行提供,待电源稳定之后,对复位信号进行撤销。为保证可靠性,稳定电源之后进行复位信号的撤销药经过一定时间才可,为使得电源插头已经电源开关分合过程中的抖动被引起而对复位进行影响。选定单片机复位电路参数的时候药保证正当稳定之后具备大于2个机器周期的高电平持续时间。主要具备泗忠单片机复位电路类型,一是积分型复位电路;二是看门狗型复位电路;三是比较器型复位电路;四是微分型复位电路。

3.2.3晶振电路

晶振电路设计如图2。

XTAL1对反向放大器进行输入,XTAL2进行输出。反相放大器能够对片内振荡器进行配置。这在陶瓷震荡已经晶振荡中都可使用。若是对外部时钟源驱动器件进行使用,则不用连接XTAL1。强有余向内部时钟信号进行输入,药借助一个二分频触发器来实现,这就使得对外部时钟信号的脉宽不具备要求,不过药对于脉冲高低电平的宽度进行保证。C1,C2在是电时帮助晶振起振。

3.2.4数码管显示驱动电路

数码管点亮田:段选和位选,结合图3

图3.3表示的是数码管引脚图,每位段码线(a,b,c,d,e,f,g,dp)是与1个8位锁村器的输出分别连接,通过AT89S51对于0-9十个数据给以控制组合,如果其对于1进行显示,则b,c引脚将高电平进行输送,这个时候数码管会对1进行显示。因为各位段码线是并联,相较于8 位I/O口输出段码,其显示是相同的。

当数码管正常工作时必须接上拉电阻,数码管点亮一般要5~10mA的电流,po输出电流不到1mA,同时上拉电阻起到一个限流的作用。

显示多位LED的是,是为保证电路得以简化,并对成本进行降低,从而对资源进行计生,把全部N位段选码进行并联,被一片74HC595进行控制。因为全部LED段选码都是74HC595并行来对输出口给以控制的,所以,所有瞬间,N位LED会对相同字符进行显示。药对不同字符进行显示,需要选择扫描方法,也就是所有瞬间都对一位显示字符进行使用。此时74HC595并行出口将相应字段符选码给以输出,位选对于I/O口进行控制,在该显示位将选通电平进行输送,进而使得该位对于相应字符进行显示。这样循环,保证所有位分时对于应显示字符给以显示。因为74HC595能够进行锁存,所以串行输入段选码具备一定时间,所以不能够进行延时,进而使得视觉暂留效果得以形成。

PNP型三极管集电极同数码管公共端进行连接,如果P2口所对应的引脚将低电平进行输出时,三极管会导通,对应数码管对于数据进行显示。在处于一个时刻时,多位LED中对于字符显示的只有选通的那1位,其他5位处于灭火的。这个时候仅需要保持下一位位选线保持选通状态,其他个位位选线则保持关闭状态,对药显示的字符段码药在段码线上进行输出,这个时候对于相应字符仅由选通位进行显示,其他位是保持熄灭的。这样进行循环,便能够保证对于要显示的字符进行显示。这些字符虽然是出现在不同时刻,但是只有一位在同一时刻进行显示,其他位是熄灭的,不过因为存在人眼视觉暂留以及LED余晖的作用,使得每位只要对显示间隔保证足够短便可,进而便能够对多位同时亮的假象出现,进而使得同时显示被实现。

3.2.5定时报时电路设计

该电路使用的发声报时声源是无源蜂鸣器,对于P1.3口延时翻转电平会有驱动波形产生,以此来驱动蜂鸣器。借助于对延时时间进行改变来对方波占功比进行改变,从而获取对蜂鸣器进行驱动的方波信号。这便使得蜂鸣器进行报时的时候,不会存在不同音调的报时声。

4 软件系统设计

4.1主程序流程图(图4)

4.2系统设计的源程序

包括主程序、中断子程序、显示子程序、判断按键和调时设置程序、等待按键抬起程序、报时子程序、延时子程序.

用单片机AT89C51设计一个多功能电子时钟能实现时分秒显示,能定时报时,还有调整时间的功能。单片机AT89C51的P0口接数码管的7段,P2口接数码管的位选。P3.0-P3.4接按键,P1.3接蜂鸣,数码管是一个八位一体共阴的,时间初始值00:00:00

#include//包含51单片机寄存器定义的头文件

unsigned char Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};//段码共阴

unsigned char port[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char int_time ;//中断次数计数变量

unsigned char second;//秒计数变量

unsigned char minute;//分钟计数变量

unsigned char hour;//小时计数变量

unsigned char second0;//秒计数变量

unsigned char minute0;//分钟计数变量

unsigned char hour0;

unsigned char fl ag ;

sbit k0=P3^0;

sbit k1=P3^1;

sbit k2=P3^2;

sbit k3=P3^3;

sbit k4=P3^4;

sbit ring=P1^3;

5 总结

随着科学技术的不断进步和发展,多功能电子钟在性能、样式、用途上都发生着重大的变化,许多电子钟都已具备电子闹钟、电子秒表、温度检测等功能。同时单片机在多功能数字钟中的应用已是非常普遍的。AT89S51功耗较低,具备CMOS8位单击片的性能较高,其片内具备4k Bytes ISP(In-system programmable)能够进行1000次的反复擦写Flash只读程序存储器,在多数嵌入式控制应用系统中,AT89S51能够将性价比较高的解决方案进行提供。本文中将以单片机为基础的对带温度检测的电子时钟的相关设计以及实现进行完成。其借助于C语言通过AT89S51单片机来实现编程的,其对于设计要求进行了满足,因为收到设计者知识水平的限制,对于该设计是能够继续完善和优化的,进而对于“智能”时钟在根本上实现。

[1]黄仁欣.单片机原理与应用技术第二版[M].北京:清华大学出版社,2010.

[2]赵嘉蔚.单片机原理与接口技术[M].北京:清华大学出版社,2010.

[3]李朝青.单片机原理与接口技术[M].北京:北京航空航天大学出版社,2005.

[4]童诗白,华成英.模拟电子基础技术[M].北京:高等教育出版社,2001.

[5]郑峰.51单片机应用系统典型模块开发大全[M].北京:中国铁道出版社,2010.

[6]邹显圣.基于AT89C51单片机数字时钟的研究[J].机电产品开发与创新,2009,22(05):61-62.

[7]曾力,刘炜,曹龙.基于AT89C51单片机的数字时钟设计与仿真[J].信息通信,2015(10):4-5.

[8]李娜,杨杰,牛晓飞.基于单片机的简易数字电子钟设计[J].河北北方学院学报(自然科学版).2014,30(06):15-18.

[9]刘翠玲,吕娣,丛俊玲.基于AT89S51单片机数字电子钟设计与实现[J].信息系统工程,2011(12):16-17.

10.16640/j.cnki.37-1222/t.2016.10.139

猜你喜欢

数码管高电平存储器
物理项目教学设计,用单片机控制四位数码管显示
静态随机存储器在轨自检算法
基于51单片机的分数计数器设计
Arduino编程
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
MC9S08FL16单片机数码管静态显示分析
数字电子技术的应用
浅谈物理电路与数字电路
关于Multisim10.0的高电平调幅电路仿真研究
存储器——安格尔(墨西哥)▲