有日历的电子钟Word格式文档下载.docx
《有日历的电子钟Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《有日历的电子钟Word格式文档下载.docx(68页珍藏版)》请在冰豆网上搜索。
![有日历的电子钟Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/3/69b6e6f2-b38b-4892-b6a3-6d1bfd578c03/69b6e6f2-b38b-4892-b6a3-6d1bfd578c031.gif)
LCD1602;
scanningsingle-chip
第一章绪论
1.1选题意义
随着进入21世纪,现代科技的进一步发展。
新产品、新技术层出不穷,电子技术的发展更是日新月异。
可以毫不夸张地说,电子技术的应用无处不在,电子技术正在不断的改变着我们的生活,改变着我们的世界。
在这快速发展的时代,时间对人们来说是越来越宝贵,在快节奏的生活里,人们往往忘记了时间。
一旦遇到重要的事情,忘记时间这将会带来很大的损失。
因此我们需要一个定时系统来提醒这些忙碌的人,而电子钟可以给人们带来了极大的方便,使人们掌握准确的时间,从而挽回那些损失。
随着大规模集成电路技术的发展,已经可以将CPU、RAM、ROM、定时/计数器以及输入/输出(I/O)接口电路等计算机的主要部件集成在一块集成电路芯片上,这样组成的芯片级的微型计算机就是“单片微型计算机(SingleChipMicrocomputer)”。
由于单片机从功能和形态来说都是作为控制领域应用的要求而诞生的,并且发展到新一代80C52、M68HC11系列单片机时,在其中着力扩展了各种控制功能,如模/数(A/D)转换、脉宽调制(PWM)、计数器捕获/比较逻辑(PCA)、高速I/O口和WDT等,已突破了微型计算机的传统内容。
所以更准确的叫法应是微控制器(MicroControllerUnit—MCU)。
由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子钟一般都以单片机为核心,外加一些外围设备来实现。
单片机应用的重要意义还在于,他从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是电子钟,电子钟是采用数字电路实现对时、分、秒计时的装置,广泛用于个人家庭,车站,办公室等公共场所,成为人们日常生活中不可少的必需品,随着科技的发展,让你们对电子产品的应用要求越来越高,电子钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。
另外电子钟还具备秒表和闹钟功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。
1.2当今应用领域电子钟的发展趋势
单片机的发展大致经历了三代:
第一代:
以1976年推出的MCS-48系列为代表,其主要的技术特征是将CPU和计算机外围电路集成到了一个芯片上,成为与通用CPU分道扬镳的标志。
第二代:
以MCS-的8051、8052为代表。
主要技术特点是向外部接口电路扩展,以实现微控制器化。
代表产品为Intel公司MCS-51,Motorola公司68HC05。
第三代:
以89C51系列单片机为代表,这个时期的产品以CMOS化为特色,以完善的单片机的控制功能为己任。
89C51是80C51含EEPROM的产品。
这两种单片机有两级或三级程序存储器保密系统,用以保护EPROM或EEPROM中的程序,以防止非法复制。
近几年,单片机竞相采用Flash存储器,它可以取代PROM、EPROM、OTP和EEPROM。
利用Flash存储器可高速读/写的特点实现在系统编程ISP和在应用编程IAP。
近些年,随着科技的发展和社会的进步,人们对电子钟的要求也越来越高,传统的时钟已不能满足人们的需求。
新型的电子时钟不管在性能还是在样式上都发生了质的变化。
传统的电子钟从硬件电路设计方面来说,开发起来很麻烦,费工费时。
抗干扰的问题也比较突出,由于体积相对大一些,使用起来也不是很方便。
而现在的电子时钟硬件简单,灵活性强、成本低、功耗低、保密性好,使用方便。
目前,国际上的电子钟正从模拟式向数字式,由集成化向智能化的方向飞速发展。
如今,随着数字芯片的诞生,曾经令人眼花缭乱的电路。
密密麻麻焊接在一起的元器件,如今已经被一个小小的、毫不起眼的芯片代替了。
1.3本课题主要研究的内容
本课题研究的是基于单片机AT89S52的控制来设计带日历电子钟。
在查阅了大量资料后,决定采用基于AT89S52单片机的电子钟设计方案。
本方案以AT89S52单片机作为主控核心,与时钟芯片DS1302、有源蜂鸣器和发光二极管、4*4矩阵键盘、LCD1602液晶显示屏组成硬件系统。
此硬件系统能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间、设置闹钟等。
综上所述此电子钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场背景。
通过一系列的仿真,仿真结果证明,设计的带日历电子钟完全达到了课题预期制定的各项功能指标,成功的完成了课题的最终目标。
第二章系统方案论证
2.1系统具体要求
(1)设计内容
1)设计一个带日历的电子钟。
2)完成5000汉字的与设计内容有关的英文资料的翻译。
(2)设计的主要功能与设计要求
1)满足电子钟的基本功能:
①能够随意设定走时起始时间。
②能够设定闹铃时间,闹铃以音乐的形式及光的形式告警,音乐可选。
③12小时/24小时两种时制可选,以适应不同的需要。
2)带日历:
正常显示年月日
2.2系统基本方案的选择和论证
该系统既可以通过纯硬件实现,也可以通过软硬件相结合实现。
根据电子时钟的核心部件——秒信号的产生原理,通常有三种形式:
图2-1基于555的妙脉冲发生器
(1)采用NE555时基电路的实现形式
采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。
由555构成的妙脉冲输发生器电路如图2-1所示。
输出的脉冲信号Vo的频率f=1.443/(RA+2RB)*C,可通过调节这三个参数,使输出Vo的频率为精确的1Hz。
(2)采用石英钟专用的实现形式
采用石英钟专用计时芯片实现的电子钟,具有实现简单、计时精度高的特点。
石英计时芯片(简称“机心”)比较多,常见的型号有STP5512F,SM5546A和D60400等。
现结合康巴丝石英汇钟常用的STP5512F型为例做一简单介绍。
利用5512F的2秒输出信号作为秒加法电路的计数脉冲,可实现电子时钟。
5512F的引脚图如图2-2所示:
图2-25512F的引脚图
其中,引脚7、8为外接晶振及振荡电路,引脚1接电源正极,电源为1.5V,引脚3、4原为指针用步进电机线圈的输出驱动,这里可用3脚作为脉冲输出,频率决定于外接晶振的频率。
(3)采用基于单片机的实现形式
利用单片机的智能性,可方便地实现具有智能电子钟的设计。
由于微处理器均具有时钟振荡系统,利用系统时钟借助微处理器的定时/计数器可实现电子钟功能。
虽然,系统时钟的误差较大,电子钟的累积误差也可能较大,但可以通过误差修正软件加以修正。
在总体设计思路中,我将其与过去学习过的数字电路进行了比较,决定采用单片机的实现形式。
2.2.1单片机芯片的选择方案和论证
方案一:
采用89C51芯片作为硬件核心,其为高性能CMOS8位单片机,该芯片采用FlashROM,内部具有4KB的可反复擦写的只读程序存储器(PEROM)、128bytes的随机存取数据存储器(RAM)、32位可编程I/O口线、2个16位定时/计数器、6个中断源、可编程串行UART通道及低功耗空闲和掉电模式,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52,片内ROM全都采用FlashROM,能以3V的超低压工作,同时也与MCS-51系列单片机完全兼容,该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
系统采用方案二。
2.2.2显示器件的选择方案和论证
采用LED数码管动态扫描,LED数码管是利用二极管发光显示数字和字母,具有亮度大,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
LED数码管价格适中,对于显示数字合适。
采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但是由于它工作电流较大,显示的信息量有限,连线还需要花费一点时间,若在此题目中应用就会受到很大的限制,所以不用此种作为显示。
采用LCD1602液晶显示屏,LCD1602液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见。
而且液晶显示有功耗低、体积小、重量轻、寿命长、不产生电磁辐射污染等优点。
并且我做的单片机开发板上带有一个LCD1620,和AT89S52已经接好,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。
2.2.3时钟电路的选择方案和论证
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒的计时。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对年、月、日、星期、时、分、秒以及闰年补偿的年进行计数,31个字节的静态RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。
而且精度高、接线少、使用起来非常方便。
所以在此设计中采用DS1302进行计时。
2.2.4按键的选择和方案论证
采用独立式按键
每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。
但是当按键较多时占用单片机的I/O数目较多。
采用阵列式键盘
此类键盘采用行列扫描方式,当按键较多时可以降低占用单片机的I/O口数目。
由于本系统所使用的按键较多,并且我做的单片机开发板上带有阵列式键盘,所以采用阵列式按键电路。
2.3电路设计最终方案决定
综上各方案所述,对此课程设计的最终方案选定为:
采用AT89S52作为主控制芯片,DS1302时钟芯片提供时钟,LCD液晶显示芯片用来显示数据结果,4*4矩阵键盘方便用户自动调整时间,有源蜂鸣器和发光二极管LED实现报警功能。
硬件设计总体结构如图2-3所示:
图2-3硬件设计总体结构框图
第三章系统的硬件设计与实现
系统的硬件由主控制器AT89S52,DS1302时钟电路,LCD1602液晶显示电路,4*4矩阵键盘电路,有源蜂鸣器和发光二极管LED报警电路组成。
带日历电子钟的电路设计原理图见附录C。
3.1系统硬件描述
本系统是由AT89S52单片机为控制核心,具有在线编程功能、低功耗、能在3V超低压工作。
时钟电路由DS1302构成,DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,采用三线接口与CPU进行同步通信,具有使用寿命长,精度高和方便操作等特点,同时具有掉电自动保存功能。
显示部分由LCD1602构成,LCD1602是2行16个字的5*7点阵图形来显示字符的液晶显示器,具有体积小、功耗低、抗干扰能力强等优点,特别适用于小型手持式设备。
按键电路由4*4矩阵键盘构成,键盘是单片机应用最常用的输入设备,操作人员可也通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。
报警电路由有源蜂鸣器和发光二极管LED实现,有源蜂鸣器直接接上额定电源就可连续发声,在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。
3.2芯片介绍
3.2.1AT89S52芯片
(1)主要性能
与MCS-51单片机产品兼容、8K字节的系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33MHz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
(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字节在系统可编程Flash。
(3)如图3-1所示为AT89S52的引脚图:
图3-1AT89S52引脚图
AT89S52芯片引脚说明:
1)VCC:
运行和程序校验时加+5V的供电电压。
2)VSS:
接地
3)P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个
TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
4)P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动
4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下所述。
在Flash编程和校验时,P1口接收低8位地址字节。
引脚号的第二功能:
①P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
②P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
③P1.5MOSI(在系统编程用)
④P1.6MISO(在系统编程用)
⑤P1.7SCK(在系统编程用)
5)P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱
动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
6)P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动
4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在Flash编程和校验时,P3口也接收一些控制信号。
①P3.0RXD(串行输入口)
②P3.1TXD(串行输出口)
③P3.2INTO(外中断0)
④P3.3INT1(外中断1)
⑤P3.4TO(定时/计数器0)
⑥P3.5T1(定时/计数器1)
⑦P3.6WR(外部数据存储器写选通)
⑧P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
7)RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将
是单片机复位。
8)ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
9)PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
10)EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源(Vpp),当然这必须是该器件是使用12V编程电压(Vpp)。
11)XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
12)XTAL2:
来自反向振荡器的输出。
3.2.2DS1302实时时钟芯片
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
(1)引脚功能及结构
DS1302的引脚如图3-2所示。
图3-2DS1302引脚及内部结构图
其中Vcc