ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:68.69KB ,
资源ID:3614993      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3614993.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的定时闹钟设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的定时闹钟设计.docx

1、基于单片机的定时闹钟设计基于单片机的定时闹钟设计摘要:随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。本定时时钟系统使用单片机AT89S52为主控芯片,由时钟芯片DS1302提供实时时间,采用LCD1602显示日期、时间和星期等信息;系统提供4个按键供人机交互,用户可根据需要修改时间和设置定时闹钟;实时时间和定时闹钟设置的时间一致时,系统会通过蜂鸣器发出警报声。单片机数字钟不管在性能还是在样式上都发生了质的变化。关键字:定时闹钟; DS1302; LCD1602; AT89S52; 蜂鸣器Design of Alarm Clock Based on the AT

2、89S52Abstract: With the rapid development of science and technology and the continuous improvement of living atandards,the requirement for precision and practicability of the clock is higher and higher. The timing alarm clock uses single-chip microcomputer AT89S52 as main control chip. Time is provi

3、ded by clock chip DS1302,and LCD1602 display information such an date,time,and week.The system provides four buttons for human-computer interaction. The user can modify the time and set the alarm clock timer when they need. The system will send out alarm through the buzzer when real time is the same

4、 as timing alarm.SCM digital clock have been greatly improved in performance and style. Key words: timing alarm clock, DS1302, LCD1602, AT89S52, buzzer第1章 绪论1.1选题背景随着大规模、超大规模集成电路技术的发展和计算机微型化的需要,把微型计算机的基本功能部件:中央处理器(CPU)、存储器、输入/输出接口、定时器/计数器、中断系统等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机,这种集成电路芯片被称为单片微型

5、计算机(Single Chip Microcomputer),简称单片机1。单片机技术发展十分迅速,产品种类也非常多。自从1975年美国德克萨斯仪器公司的第一个单片机TMS-1000问世以来,迄今为止单片机技术已成为计算机技术的一个独特分支,在众多领域尤其是在智能仪器仪表、检测和控制系统中有着广泛的应用1。随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。单片机数字时钟具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期。单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。 单片机具有集成

6、度高、功能强、通用性好、特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动化产品等领域。1.2选题的目的和意义定时闹钟设计可采用数字电路实现,也可以采用单片机来完成。定时闹钟是用数字集成电路构成的,用数码管显示“时”,“分”,“秒”的现代计时装置。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成。那么就降低了硬件电路的复杂性,而且其成本

7、也有所降低。1.3论文主要内容该论文研究的是基于单片机的定时闹钟设计。设计的主要内容有以下3点:1能正确显示年、月、日、时、分、秒和星期的信息。2能够校正当前时间。3能够设置闹铃时间,并在设定时间发出警报声。论文分别叙述从硬件和软件上实现该设计的过程。第3章主要介绍设计实现需要解决的硬件问题。依次介绍所使用的各种硬件的使用方法,并附上仿真电路图和文字说明。第4章从软件的角度说明实现该设计需要解决的问题。第2章 系统总体设计2.1系统设计需求系统要求实现以下功能:1当电源接通时,系统能正确显示当前时间。2当前时间和日期与实时时间和日期有误差时,可以通过键盘调整当前时间和日期。3系统允许进行闹钟设

8、置,开启闹钟功能时,当设置的闹钟时间与当前时间一致的时候,系统通过蜂鸣器发出警报声。2.2 系统设计思想1主控芯片选择方案一:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。方案二:AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非

9、易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。另外,AT89S52可在线擦写,AT89C52不能。综上所述,选择AT89S52作为本设计的主控芯片。2时钟电路选择方案一:采用AT89S52芯片内部时钟为系统提供时间,但从长远计时来看,误差较大,走时不够精确,且不能提供日期星期等信息。方案二:采用DS1302实时时钟为系统提供准确的时间,以及星期和日期等信息。长时间的走时比较精确,且编程简单。综上所述,采用

10、方案二中的DS1302实时时钟芯片为系统提供时间、日期和星期等信息。3显示方式的选择方案一:LED数码管由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。主要用于楼体墙面,广告招牌,高档的DISCO、酒吧、夜总会、会所的门头广告牌等。方案二:液晶显示器,或称LCD,为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,因此倍受工程师青睐。LCD显示比LED显示更加美观。 综上所述,采用显示友好的LCD为系统显示时间等信息。2.3系统软件设计本设计在Keil编程环境下,使用C语言进行编程的编辑。

11、编辑成功后,通过仿真软件Proteus进行仿真测试。系统从实时芯片DS1302指定地址中读取时间,并将数据发送至AT89S52,然后编写显示指令并将数据发送至液晶显示屏LCD1602显示。系统带有一个定时中断,定时中断每秒刷新液晶显示。当有按键被按下时,系统的外中断被触发。当设置闹钟的时候,系统持续从日历芯片DS1302读取时间但不在LCD上显示,而显示的是闹钟设置界面;当修改当前时间的时候,系统停止从DS1302读取时间。当系统时间重新设置完毕或闹钟时间设置完毕后,确定刚才操作,系统将修改后的时间从AT89S52写入DS1302,并将闹钟时间存入缓存区,系统显示修改后的时间和日期。2.4系统

12、硬件需求由章节2.2可知系统的主要硬件,另外,系统需要额外一些硬件,详细硬件清单如下:主控芯片:AT89S52时钟芯片:DS1302液晶显示屏:LCD1602闹钟提示:蜂鸣器人机交互:按键4晶振:12KHz1,32.678KHz1排阻:7408电容:30pf2,10uf1第3章 系统硬件设计3.1系统硬模块及功能 系统硬件模块主要分为以下几个模块: 1主控模块:控制其他子模块。 2实时时钟模块:为系统提供实时时间。 3液晶显示LCD模块:显示系统日期、时间和星期等信息。 4控键模块:用户通过控键进行人机交互,修改实时时间和设置闹钟时间。 5闹钟模块:在所设闹钟时间发出警报声。3.2主控模块AT

13、89S52功能特性描述 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8k在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外

14、,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保护,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52的主要特性是:1与MCS-51单片机产品兼容28k字节在系统可编程Flash存储器31000次插写周期4全静态操作:0Hz33Hz5三级加密程序存储器632个可编程I/O口线73个16位定时器/计数器88个中断源9全双工UART串行通道10低功耗空闲和掉电模式11掉电后中断可唤醒12时器13指针14掉电标识符AT89S52引脚图如图3-1所

15、示。图3-1 AT89S52引脚图包括时钟电路和复位电路。1.时钟电路利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件,内部振荡器便能产生自激振荡。定时元件可以采用石英晶体和电容组成的并联谐振电路,如图3-2所示。晶振可以在1.212MHZ之间任选,甚至可以达到24MHz,但是频率越高功耗也就越大。和晶振并联的电容C1、C2的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在2040pF之间选择2。在设计印刷电路板(PCB)时,晶体和电容应尽可能与单机片芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作2。2.复位电路复位是单片机的初始化操作。单片

16、机启动运行时,都需要先复位,作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因此,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。单片机通电时,从初始态开始执行程序,称为上电复位。单片机死机时,通过手工按“重启”键使其从初始态开始执行程序,称为手工复位。复位条件:复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作;但如果RST持续为高电平,单片机就处于循环复位状态。图3-2 振荡电路仿真如图3-2所示,将一个手动开关与电阻串联后再和复位电容并联起来,当系统上电后,由于开关没有导通,还是一

17、个基本的阻容复位电路,系统会可靠地复位。如果在调试过程中需要对系统进行复位,这时不需要断电再接通电源,只需要按一下复位开关即可。当复位开关按下后,电容被短路,在RESET脚上由于电阻分压会得到一个复位的高电平,达到复位效果。3.3时钟电路模块 DS1302芯片是美国DALLAS公司推出的一种高性能、低功耗、带RAM的适时时钟芯片。它的实时时钟电路提供秒、分、时、日、月、周和年的信息。每月的天数和闰年的天数可自动调整,时钟操作可通过指令设定为24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信1。DS1302的性能特性11:1实时时钟,可对秒、分、时、日、周、月以及带闰

18、年补偿的年进行计数。2用于高速数据暂存的318RAM。3最少引脚数的串行I/O。42.55.5V电压工作范围。52.5V时耗电小于300nA。6用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式。78引脚DIP或可选的用于表面安装的8引脚SOIC封装。8简单的3线接口。9TTL兼容。DS1302的引脚排列如图3-3所示。图3-3 DS1302引脚图DS1302引脚说明如表3-1。表3-1 DS1302引脚说明引脚号名称功能1Vcc2电源输入22X132.768kHz晶振输入3X232.768kHz晶振输出4GND地5RST复位6I/O数据输入/输出7SCLK串行时钟8Vcc1电

19、源输入1DS1302慢速充电时钟芯片包括实时时钟/日历和31字节的静态RAM,它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月,月末的日期自动进行调整,还包括了闰年校正的功能。时钟的运行可以采用24小时或带AM(上午)/PM(下午)的12小时格式。使用同步串行通信,简化了DS1302与微处理器的通信2。与时钟/RAM通信仅需要3根线:1RST复位(实际上是当作片选线使用)。2I/O数据线。3SCLK串行时钟。数据可以以每次一个字节或多达31字节的多字节形式传送至时钟/RAM或从其中送出。DS1302设计成能在非常低的功耗下工作,消耗

20、小于1uW的功率便能保存数据和时钟信息2。时钟仿真电路图如图3-4所示。图3-4 时钟仿真电路时钟仿真电路接口说明:1Vcc1:与+5V电压输入端相连作为DS1302工作时的供电电源。2Vcc2:接地。3晶振:X1和X2直接和32.768kHz的晶振两端相连。4数字部分:SCLK、I/O、RST分别与AT89C52的P2.0、P2.1、P2.2引脚相连。3.4液晶显示LCD3.4.1 1602字符型LCD简介字符型LCD专门用于显示数字、字母、图形符号及少量自定义符号。这类显示器把LCD控制器、点阵驱动器、字符存储器等做在一块板上,再与液晶屏一起组成一个显示模块。因此,这类显示器的安装与使用都

21、非常简单。显示原理:液晶显示的原理是利用液晶的物理特性,通过电压对显示区域进行控制,只要输入所需的控制电压,就可以显示出字符。LCD能够显示字符的关键在于其控制器,目前大部分点阵型LCD都使用日立公司的HD44780集成电路作为控制器。HD44780是集驱动器与控制器于一体,专用于字符显示的液晶显示控制驱动集成电路。主要特点:1显示缓冲区及用户定义区的字符发生器CG RAM全部全部内藏在片内。2接口数据传输有8位和4位两种传输模式。3具有简单而功能很强的指令集,可以实现字符的移动、闪烁等功能。HD44780的工作原理较为复杂,但它的应用却非常简单。只要将待显示字符的标准ASCII码放入内部数据

22、显示用存储器(DD RAM),内部控制线路就会自动将字符传送到显示器上。例如,要LCD显示字符“A”,则只需将A的ASCII码41H存入DD RAM,控制线路就会通过HD44780的另一个部件字符产生器(CG ROM)将A的字型点阵数据找出来显示在LCD上。1602型LCD的主要技术参数如下:1显示容量:162个字符2芯片工作电压:4.55.5V3工作电流:2.0mA(5.0V)4模块最佳工作电压:5.0V5字符尺寸:2.954.35(WH)mm1602型LCD引脚如图3-5所示:图3-5 1602型LCD引脚图引脚说明:引脚1(GND):电源地引脚2(VCC):电源正极引脚3(VL):反视度

23、调整,使用可变电阻调整,通常接地引脚4(RS):寄存器选择,RS=1,选择数据寄存器;RS=0,选择指令寄存器引脚5(R/W):读/写选择。R/W=1,读;R/W=0,写引脚6(E):模块使能端,当E由高电平跳变成低电平时,液晶模块开始执行命令引脚7引脚14(D0D7):双向数据总线的第07位引脚15(BL+):背光显示器电源+5V(也可接地,此时无背光但不易发热)引脚16(BL-):背光显示器接地LCD仿真电路如图3-6所示。图3-6 LCD1602仿真电路图时钟仿真电路接口说明:1LCD1602的双向数据总线第07位(D0D7)分别与AT89S52的引脚P0.0P0.7相连。2脚RS接P2

24、.7,RW接P2.6,E接P2.53引脚VDD接电源,引脚VSS和VEE均接地。3.5键控模块键盘的常用类型有独立式键盘,行列式键盘。方案一:采用独立式键盘独立式键盘指每个按键按一对一的方式直接连接到I/O输入线上所构成的键盘。每一个按键对应AT89S52芯片的一个引脚,各键是相互独立的。应用时,由软件来识别键盘上的键是否被按下。当某个键被按下时,该键所对应口线将由高电平变为低电平。反过来,如果检测到某口线为低电平,则可判断出该口线对应的按键被按下。所以,通过软件可判断出各按键是否被按下。对于按键直接编码的独立式键盘,单片机可以直接读取I/O口的工作状态,以获取键盘接口的直接状态值,根据状态值

25、,就可以进行按键的识别。独立式键盘的结构简单,按键的识别比较容易10。独立式键盘的缺点是需要占用较多的I/O口线,当单片机应用系统中需要的按键比较少或者I/O口线比较富余时,可以采用这种类型的键盘10。方案二:采用行列式键盘 行列式键盘是使用n条I/O线作为行线,m条I/O线作为列线,组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样,键盘中按键的个数是mn个。它适合于构成按键数目比较多的键盘。这种形式的键盘结构,能够有效地提高单片机系统中I/O引脚的利用率10。 由于行列式键盘的输入口的每条输入线都对应若干个按键,所以,不能像独立式键盘那样,靠键盘输入口的输入状态直接编码去识别按键

26、,而需要更加复杂的按键编码10。 结合系统需求,由于系统只涉及4个按键,按键数量较少,加上独立式键盘编程灵活的优点,所以本系统采用独立式键盘为用户提供人机交互。独立式键盘中,键盘有几个按键,键盘接口就需要相应的使用几根I/O口线。在图3-7中,键盘接口使用了4根I/O口线,该键盘有4个按键。这种类型的键盘,由于键盘的按键比较少,且键盘中各个按键的工作互不干扰。因此,可以根据实际需要对键盘中的按键进行灵活的编程。图3-7 键盘仿真电路图键盘仿真电路接口说明:K1与AT89S52的引脚P1.0相连,K2接P1.1,K3接P1.2,K4接P1.5。3.6 闹钟模块3.6.1 蜂鸣器简介蜂鸣器是一种一

27、体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。市场上出售的一种小型蜂鸣器因其体积小(直径只有11mm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。有源蜂鸣器,高度9mm,而无源蜂鸣器的高度为8mm。蜂鸣器实物图如图3-8所示。长引脚为正极,短引脚为负极。图3-8 蜂鸣器实物图3.6.2 蜂鸣器仿真电路图3-9 蜂鸣器仿真电路仿真电路接口说明:蜂鸣器长引脚接P1.3,短引脚接地。第4章 系统软件设计4.

28、1系统软件设计概述该部分主要分为实时时钟模块、液晶显示模块、键盘中断模块、闹钟模块。实时时钟部分主要包括实时时间的读写,时间和日期的修改。液晶显示模块主要包括显示屏的初始化,显示的命令字。键盘中断模块包括各键的定义和作用,按键的消抖,各按键跳转的子程序分配。闹钟模块包括闹钟时间的设置,以及对蜂鸣器启动和停止条件的设置和处理。4.2主程序设计主程序包含三个部分。一是主函数部分,负责系统的初始化操作;从DS1302取得实时时间;判断闹钟时间是否与实时时间相等并在相等时发出警报声。第二部分是定时中断部分,分两种情况:负责处理从DS1302获得的时间数据并送至LCD1602显示缓冲显示,或者显示闹钟设

29、置界面并显示闹钟时间的设置过程。第三部分是外部中断,主要定义4个按键的作用,分配每一个按键跳转的子程序。第三部分负责时间和日期的修改,闹钟时间的设置,停止蜂鸣器鸣叫的功能。4.3单机片的中断系统中断系统在单片机应用系统中起着十分重要的作用,是现代嵌入式控制系统广泛采用的一种适时控制技术,能对突发事件进行及时处理,从而大大提高系统对外部事件的处理能力。正是有了中断技术,单片机才得以能够普及。因此,中断技术是单片机的一项重要技术,掌握中断技术能开发出灵活、高效的单机片应用系统。4.3.1 中断源要让单机片停止当前的程序去执行其他程序,需要向它发出请求信号,CPU接收到中断请求信号后才能产生中断。让

30、CPU产生中断的信号称为中断源(又称中断请求源)4。单片机提供5个中断源,其中两个为外部中断请求源INT0(P3.2)和INT1(P3.3),两个片内定时器/计数器T0和T1的溢出请求中断源TF0和TF1,1个片内串行口发送或接收中断请求源T1和R14。4.3.2 中断的优先级别单片机内的CPU工作时,如果一个中断源向它发出中断请求信号,它就会产生中断。但是,如果同时有两个中断源发出中断请求信号,CPU就会优先接收级别高的中断请求源,然后再接收优先级别低的中断请求。表4-1列出5个独立中断请求源由其硬件结构决定的自然优先级排列顺序4。表4-1 单片机中断源的自然优先级、入口地址及中断编号中断源

31、自然优先级中断入口地址中断编号外部中断INT0高低0003H0定时器T0000BH1外部中断INT10013H2定时器T1001BH3串行口通信中断R1或T10023H4对应于单片机的5个独立中断源,应有相应的中断服务程序。这些中断服务程序有专门规定的存放位置,即表4-1的中断入口地址。当有了中断请求后,CPU可以根据入口地址迅速找到中断服务程序并开始执行,大大提高执行效率4。4.4实时时钟模块4.4.1 DS1302数据操作原理DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1