基于单片机电子钟的设计与实现.docx
- 文档编号:486477
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:66
- 大小:341.03KB
基于单片机电子钟的设计与实现.docx
《基于单片机电子钟的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机电子钟的设计与实现.docx(66页珍藏版)》请在冰点文库上搜索。
基于单片机电子钟的设计与实现
电子钟的设计与实现—硬件部分
摘要
单片计算机即单片微型计算机,是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
它体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51单片机是各单片机中最为典型和最有代表性的一种。
本次设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的电子钟。
电子钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
另外,在生活和工农业生产中,也常常需要电子时钟具有多功能性。
本设计应用AT89S52芯片作为核心,LCD液晶显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。
这种实现方法的优点是电路简单,性能可靠,实时性好,时间精度高,操作简单,编程容易。
该电子钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词:
电子钟;时钟日历芯片;AT89S52
TheDesignandImplementationofElectronClock
—TheDesignoftheHardware
Abstract
Themonolithiccomputerisamonolithicmicrocomputer,beonekindofintegratedcircuitchip,bethatthewidthdemonstratingdrivecircuit,pulsemodulatesbreadboardingadoptthegrandscaleICtechnologycentralauthorityprocessorCPU,randommemoryRAM,godoftheearthreadmemoryROM,diversifiedI/Omouthsandfunction(possibilitysuchasinterruptionsystem,timer/calculagraphhavingadata-handlingcapacitytobeincluded,multi-pathconverter,A/Dconverterandsooncircuit)integratedarriveatapieceofsiliconsliceupperformationonesmallbutperfectcomputersystem.Itsvolumeissmall,costislow,thefunctionisstrong,applytotheintelligenceproductandtheindustrialautomationbroadlygoahead.But,51monolithicmachinearethateveryrepresentativeandakindofhavingrepresentativenessmostinmonolithicmachine.Designthatbeingtorealizeonebuttodemonstratetheclock/calendarregularlymainly,aswellaselectronicclockhavingnoisybelltheregulartimetime.
Theelectronicclockistoelectronize,digitizemainlymakeuseofelectrontechnologywiththeclock,owntheclockisaccurate,volumeissmall,theinterfaceisamicable,expansionthefunctionwaitsforacharacteristicbyforce,thequiltappliestolifeandthejobbroadlymiddle.Requirethattheelectronclockhasmultifunctionalalsoofteninbesides,givingbirthtoachildinlifeandindustryandagriculture.
DesignthatthechipapplyingAT89S52iscore,LCDliquidcrystaldisplay,usestheDS1302realtimeclockcalendarchiptoaccomplishfundamentalclock/calendarfunctionoriginally.Thisrealizationmethodmeritisthatthecircuitissimple,thefunctionisreliable,realtimenatureisgood,timeaccuracyishigh,thesimplicity,theprogrammingareeasytohandle.
Thatelectronicclockisnotbadapplytoalsomaybringaboutmoregoingtothelavatorybyrefitting,improvingthefunction,lifeandjobincreasingthenewfunction,givingpeople'stherebyinthesamelifeandjob.
Keywords:
electronicclock;DS1302;AT89S52
第一章引言
时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。
从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。
致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。
1.1多功能电子时钟研究的背景和意义
20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。
然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。
平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。
所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。
想知道时间,手表当然是一个很好的选择,但是,在忙碌当中,我们还需要一个“助理”及时的给我们提醒时间。
所以,计时器最好能够拥有一个定时系统,随时提醒容易忘记时间的人。
最早能够定时、报时的时钟属于机械式钟表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。
电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.2电子时钟的功能
电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。
当今市场上的电子时钟品类繁多,外形小巧别致。
也有体型较大的,诸如公共场所的大型电子报时器等。
电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等
本设计电子时钟主要功能为:
(1)能随意设定走时起始时间。
对电子钟而言,最基本的功能是具有对时功能,即随意设定起始时间。
(2)能设定闹钟闹铃时间。
电子钟一般都有闹铃功能,即预设一个时间,一旦走时到该时间,电子钟以声(音乐形式,可选)和光(显示状态的变化)的形式告警提示,音乐可自选。
(3)12小时/24小时两种制式可选,以适应不同的需要。
(4)带日历,能正常显示年月日。
第二章电子时钟设计方案分析
电子闹钟既可以通过纯硬件实现,也可以通过软硬件结合实现,根据电子时钟里的核心部件——秒信号的产生原理,通常有以下三种形式:
2.1FPGA设计方案
现场可编程门阵列(FieldProgrammableGateArray,FPGA),是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。
FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。
可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。
由于EDA技术拥有系统的模拟和仿真功能,可读性、可重复性、可测性非常好,所以利用EDA开发FPGA是目前比较流行的方式。
当然,有时根据需要,也会应用MAX+plus开发集成环境进行设计。
正因为FPGA在设计过程中方便、快捷,而且FPGA技术功能强大,能够应用其制作诸如基代码发生器、数字频率计、电子琴、电梯控制器、自动售货机控制系统、多功能波形发生器、步进电机定位控制系统、电子时钟等。
应用FPGA能够将时钟设计为为四种类型:
全局时钟、门控时钟、多级逻辑时钟和波动式时钟。
多时钟系统能够包括上述四种时钟类型的任意组合[2][3][4]。
2.2NE555时基电路设计方案
555定时器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5KΩ的电阻而得名。
目前,流行的产品主要有4种:
BJT两个:
555,556(含有两个555);CMOS两个:
7555,7556(含有两个7555)。
555定时器是一种数字与模拟混合型的集成电路,应用广泛。
成本较低,外加电阻、电容等元件就可以构成多谐振荡器、单稳电路、施密特触发器等,常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等领域[5]。
采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。
由555构成的秒脉冲发生器电路见图2.1。
输出的脉冲信号V0的频率F为:
式(2.1)
可通过调节式2.1中的3个参数,使输出V0的频率为精确的1Hz。
图2.1基于555的秒脉冲发生器
采用555定时器设计电子时钟,成本低,容易实现。
但是受芯片引脚数量和功能限制,不容易实现电子时钟的多功能性。
2.3单片机设计方案
图2.2系统模块框图
模块说明:
(1)日历时钟模块。
本模块可采用日历时钟芯片DS1302,DS1302是美国DALLAS公司生产的实时日历时钟芯片,具有秒、分、时、星期、日、月、年计数功能,且可润年调整。
但如果没有日历时钟芯片的情况下可采用单片机中断的方法产生年/月/日/时/分/秒等信号。
(2)键盘模块。
它是整个系统中最简单的部分,根据功能要求,本系统共需四个按键:
功能移位键、功能加键、功能减键、定闹键。
并采用独立式按键。
(3)显示模块。
可采用数码管显示(LED)或液晶显示(LCD)。
(4)报时模块。
采用一个扬声器来进行闹钟报时功能。
(5)电源模块。
考虑到简便直接用USB接口5V电源供电。
综上,考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。
第三章电子时钟硬件设计
3.1单片机特点
单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。
就其组成和功能而言,一块单片机芯片就是一台计算机。
单片机具有如下特点:
(1)集成度高、体积小、有很高的可靠性;
(2)控制功能强;
(3)低功耗、低电压,便于生产便携式产品;
(4)外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;
(5)单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。
所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。
利用单片机的智能性,可方便地实现具有智能的电子钟设计。
单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能。
然而系统时钟误差较大,电子钟的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。
另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。
3.2元器件选择
3.2.1微处理器选择
目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列单片机。
该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛,有些文献将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。
其他的公司的51单片机产品都是和MCS-51内核兼容的产品而以。
同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51,PHILIPS(菲利浦),和WINBOND(华邦)等,我们常说的已经停产的89C51指的是ATMEL公司的AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。
不过在市场化方面,89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延续MCS-51的传奇。
89S51就是在这样的背景下取代89C51的,现在,89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89S51代替。
89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。
89SXX可以像下兼容89CXX等51系列芯片。
同时,Atmel不再接受89CXX的定单,大家在市场上见到的89C51实际都是Atmel前期生产的巨量库存而已。
如果市场需要,Atmel当然也可以再恢复生产AT89C51。
89S51相对于89C51增加的新功能包括:
(1)新增加很多功能,性能有了较大提升,价格只比89C51稍高一些
(2)ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
是一个强大易用的功能。
(3)最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
(4)具有双工UART串行通道。
(5)内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
(6)双数据指示器。
(7)电源关闭标识。
(8)全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
(9)兼容性方面:
向下完全兼容51全部字系列产品。
比如8051、89C51等等早期MCS-51兼容产品。
也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。
比较结果:
就如同INTEL的P3向P4升级一样,虽然都可以跑Windows,不过速度是不同的。
从AT89C51升级到AT89S51,也是同理。
和S51比起来,C51就要逊色一些,实际应用市场方面技术的进步是永远向前的。
因此,本设计中我们选用S系列的单片机,其中比较常用的有AT89s51和AT89s52,这两款单片机的区别如下:
(1)AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
(2)At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程FlashAT89S52。
AT89S52具有以下主要性能:
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
相比较而言,AT89S52在AT89S51的基础上做了改进与拓展,性能更优越,故本设计选用单片机AT89S52。
在电子时钟设计中,常用的实时时钟芯片有DS12887、DS1216、DS1643、DS1302。
每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同。
DS12887与DS1216芯片都有内嵌式锂电池作为备用电池;X1203引脚少,没有嵌入式锂电池,跟DS1302芯片功能相似,只是相比较之下,X1203与AT89S51搭配使用时占用I/O口较多。
DS1643为带有全功能实时时钟的8K×8非易失性SRAM,集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源,BCD码表示的年、月、日、星期、时、分、秒,带闰年补偿。
同样,DS1643拥有28只管脚,硬件连接起来占用微处理器I/O口较多,不方便系统功能拓展和维护。
故而从性价比和货源上考虑,本设计采用实时时钟日历芯片DS1302。
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。
需要强调的是,DS1302需要使用32.768KHz的晶振。
DS1302引脚图参照图3.2。
图3.1DS1302芯片引脚图
其引脚功能参照表3.1。
表3.1DS1302引脚功能说明
引脚号
名称
功能
1
VCC1
备份电源输入
2
X1
32.768KHz晶振输入
3
X2
32.768KHz晶振输出
4
GND
地
5
RST
控制移位寄存器/复位
6
I/O
数据输入/输出
7
SCLK
串行时钟
8
VCC2
主电源输入
在编程过程中要注意DS1302的读写时序。
DS1302是SPI总线驱动方式。
它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。
要想与DS1302通信,首先要先了解DS1302的控制字。
DS1302的控制字如表3.2。
表3.2DS1302控制字(即地址及命令字节)
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
1
RAM
A4
A3
A2
A1
A0
RD
控制字的作用是设定DS1302的工作方式、传送字节数等。
每次数据的传输都是由控制字开始。
控制字各位的含义和作用如下:
(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子钟 设计 实现