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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的数字时钟加闹钟的设计与制作毕业设计说明.docx

1、基于单片机的数字时钟加闹钟的设计与制作毕业设计说明题 目 基于单片机的数字时钟加闹钟的设计与制作 1绪论 21.1引言 21.2研究目的 21.3系统基本方案选择和论证 21.3.1单片机芯片的选择方案和论证: 21.3.2显示模块选择方案和论证: 21.3.3时钟芯片的选择方案和论证: 21.3.4电路设计最终方案确定 31.4 硬件系统框图 32 主要元件介绍 42.1 STC89C52以及最小系统介绍 42.1.1 ST89C52单片机: 42.1.2 计时芯片DS1302: 52.1.3字符液晶显示屏LCD1602资料: 62.1.4 电源模块: 83. 硬件电路连接图: 83.1单片

2、机的连接图 83.2 DS1302计时模块 93.3 LCD1602液晶显示模块 93.4 按键模块 94. 系统的软件设计: 104.1 软件设计流程图: 105. 系统的调试: 116. 总结: 12参考文献 13附录一: 14附录二: 15附录三: 29 嵌入式综合课程设计III(基于单片机的数字时钟加闹钟的设计与制作) 任务提出:随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。时间就是金钱、时间就是生命、时间就是胜利,准确的掌握时间和分配时间对人们来说至关重要,时钟是

3、我们生活中必不可少的工具。电子钟的设计方法有很多种,但是基于单片机并通过LCD显示的电子时钟具有编程灵活、精确度高、便于携带、显示直观等特点。利用STC89C52单片机对DS1302时钟芯片进行读写操作并通过LCD1602字符液晶显示实时时钟信息,这样便构成了一个单片机电子时钟。 设计要求:利用单片机作为核心控制器件,制作一个数字时钟。要求其具有如下功能:1具有年、月、日、星期、时、分、秒显示功能;2具备年、月、日、星期、时、分、秒校准功能;3具有闹钟显示、调节设定、鸣叫功能;4计时器模块能够准确计时;5显示模块能够清晰、稳定显示,不出现乱码;6输入模块能够正确输入指令;7控制模块能够正确控制

4、输入、输出显示;8整个系统能够正常、稳定工作。摘 要随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。时间就是金钱、时间就是生命、时间就是胜利,准确的掌握时间和分配时间对人们来说至关重要,时钟是我们生活中必不可少的工具。电子钟的设计方法有很多种,但是基于单片机并通过LCD显示的电子时钟具有编程灵活、精确度高、便于携带、显示直观等特点。利用STC89C52单片机对DS1302时钟芯片进行读写操作并通过LCD1602字符液晶显示实时时钟信息,这样便构成了一个单片机电子时钟。 【关键

5、词】:单片机,电子时钟,STC89C52,蜂鸣器1绪论1.1引言时间,对人们来说是非常宝贵的,准确的掌握时间和分配时间对人们来说至关重要。因此自从时钟发明的那刻起,就成为人类的好朋友。随着时间的流逝,科学技术的不断发展和提高,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好、更方便、更精确的显示时间,这就要求人们不断设计研发出新型的时钟。高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针进而显示时间,减小了计时误差,这

6、种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在单片机的应用系统中,时钟有两个方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机部的可编程定时器计数器来实现;二是用专门的时钟芯片实现。1.2研究目的通过利用STC89C52单片机和DS1302芯片以及外围的按键和LCD显示器等部件,设计一个基于单片机的电子时钟。设计的电子时钟通过液晶显示器显示

7、,并能通过按键对时间以及闹钟进行置。1.3系统基本方案选择和论证1.3.1单片机芯片的选择方案和论证:方案一: 采用STC89C52芯片作为硬件核心。STC89C52部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C52可以通过串口下载。方案二: 采用AT89S52。AT89S52片具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。两种单片机都完全能够满足设计需要,STC89C52相对ATS89C52价格便宜,且抗干扰能力

8、强。考虑到成本因素,因此选STC89C52。1.3.2显示模块选择方案和论证:方案一:采用点阵式数码管显示。点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且也相对较高,所以不用此种作为显示。方案二:采用LED数码管动态扫描。LED数码管价格便宜,对于显示数字最合适,但功耗较大,且显示容量不够,所以也不用此种方案。方案三:采用LCD液晶显示屏。液晶显示屏的显示功能强大,可显示大量文字,显示多样,清晰可见,且价格适中,所以采用LCD数码管作为显示。1.3.3时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星

9、期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V5.5V围,2.5V时耗电小于300nA. 1.3.4电路设计最终方案确定综上各方案所述,对此次作品的方案选定:采用STC89C52单片机作为主控制系统;采用DS1302作为时钟芯片;采用LCD1602液晶作为显示器件。1.4 硬件系统框图单片机DS1302计时模块键盘输入模块LCD1602显示模块蜂鸣器 该系统采用单片机

10、89C52作为控制芯片,把DS1302计时模块传来的信息和键盘输入的指令进行处理,控制着液晶屏LCD1602的显示和蜂鸣器的驱动。2 主要元件介绍2.1 STC89C52以及最小系统介绍2.1.1 ST89C52单片机:1. 主要性能参数:与MCS-51产品指令和引脚完全兼容。8字节可重擦写FLASH闪速存储器1000 次擦写周期全静态操作:0HZ-24MHZ三级加密程序存储器256X8字节部RAM32个可编程I/0口线3个16 位定时计数器8个中断源可编程串行UART通道、低功耗空闲和掉电模式。2. 功能特性: STC89C52 提供以下标准功能:8字节FLASH闪速存储器,256字节部RA

11、M , 32个I/O口线,3个16 位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。掉电方式保存RAM 中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.3. 管脚图:STC89C52引脚介绍:主电源引脚(2根)VCC(Pin40):电源输入,接5V电源 GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片振荡电路的输入端XTAL2(Pin20):片振荡电路的输

12、出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的外部选通,接低电平从外部程序存储器读指令,如果接高电平则从部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7 P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.

13、0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7 2.1.2 计时芯片DS1302:1.概述:DS1302是DALLAS公司推出的涓流充电时钟芯片含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线RES复位 I/O数据线 SCLK串

14、行时钟。RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。2. DS1302功能特性: 双电源管脚用于主电源和备份电源供应VCC1为可编程涓流充电电源;附加七个字节的存储器;实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力31*8位暂存数据存储RAM;串行I/O口方式使得管脚数量最少;宽围工作电压2.05.5V;工作电流2.0V时,小于300nA;读/写时钟或RAM数据时有两种传送方式:单字节传送和多字节传送字符组方式;8脚DIP封装或可选的8脚SOIC封装;简单3线接口;与

15、TTL兼容(VCC=5V);可选工业级温度围:-40+85。3. 管脚描述:X1、X232.768KHz晶振管脚GND地RST复位脚I/O数据输入/输出引脚SCLK串行时钟VCC1、VCC2电源供电管脚4. DS1302的控制字如表所示。控制字节最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始传输。DS1302控制字数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被

16、写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。其读写时序如图示:DS1302读写时序2.1.3字符液晶显示屏LCD1602资料:1. 概述:工业字符型液晶,1602是指显示的容为16*2,即能够同时显示两行,每行16个符。常见的1602字符液晶有两种,一种显示的是绿色背光黑色字体,另一种显示蓝色背光白色字体,目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的。本课题所用1602液晶模块,显示屏是蓝色背光白色字体。如图2.引脚功能说明:第1脚:GND为地电源。第

17、2脚:VCC接5V正电源。第3脚:VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生重影,使用一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:DB0DB7为8位双向数据线。第1516脚:背光灯电源。3. LCD1602液晶屏的使用时序: DS1302读写时序LCD1602写时序LCD1602读时序4. LCD1602存储器RAM:1602液晶控制器芯

18、片部带有80个8位的RAM缓冲区,其地址和屏幕的对应关系如图示:2.1.4 电源模块: 系统的供电采用5V供电,具体的连接如图示:变压器采用的是:AC220AC9V,稳压芯片是LM7805。3. 硬件电路连接图: 以STC89C52单片机最小系统为核心控制,时钟电路由DS1302芯片提供,采用三线与单片机进行通信,用四个独立的按键进行年、月、日、时间、星期等调整,最终的结果通过LCD1602液晶显示屏显示出来。3.1单片机的连接图其中XTAL1和XTAL2接11.0592MHZ的晶振,RST经开关接+5V,控制系统的复位。P1口与DS1302计时模块连接,进行通信与对其控制。P2口与LCD16

19、02液晶显示模块连接,控制着LCD1602的显示。P3口与按键连接,通过P3口输入控制信号。3.2 DS1302计时模块 其中X1、X2接晶振32.768KHZ,VCC1、VCC2接电源I/O接单片机的P1.1,,进行数据的交换,SCLK 接单片机的P1.0,RST接单片机的P1.2引脚,进行指令的接收。3.3 LCD1602液晶显示模块 其中DB0DB7分别接单片机的P2.0P2.7,进行数据的传输,VO接电阻进行背光亮度的调节,RS、RW和EN分别接单片机的P1.3P1.5,用于单片机的指令接收。3.4 按键模块开关一端接地,另一端接P3.0P3.3,单片机用检测P3.0P3.3引脚的电位

20、判断是否有键按下。4. 系统的软件设计:4.1 软件设计流程图: 首先,编写主程序,对计时模块DS1302和显示模块LCD1602进行初始化,同时定义计时模块、显示模块和按键模块的控制程序,之后读取DS1302计时模块预先设定数据,显示模块LCD1602进行显示。按键检测程序一直在检测是否有键按下,如果S1键按下一次,主函数调用计时控制和显示控制的函数对秒进行操作,此时秒闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下两次,主函数调用计时控制和显示控制的函数对分进行操作,此时分闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下三次,主函数调用计时控制和显示控制的函

21、数对时进行操作,此时时闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下四次,主函数调用计时控制和显示控制的函数对年进行操作,此时年闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下五次,主函数调用计时控制和显示控制的函数对月进行操作,此时月闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下六次,主函数调用计时控制和显示控制的函数对日进行操作,此时日闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下七次,主函数调用计时控制和显示控制的函数对周进行操作,此时周闪烁,如果此时按下S2、S3可对其进行加减调整;按下如果S1按下八次,程序进入主函

22、数。5. 系统的调试: 将系统的电源、计时模块、按键模块、显示模块、控制模块,按照附录一的电路做成PCB电路板,把元器件焊接在板子上。进行硬件的搭建。搭建好硬件之后,将编译好的软件程序下载到STC89C52中。检查无误后,接通电源,看是否能够实现预期的功能。在单个的模块调试中,各个模块均能够正常稳定的工作,但是在将它们装配在一块,进行整体的调试时,就出现了其他一些问题,不能实现预期的功能。经过仔细的检查和查阅资料、询问老师同学等方式,进行解决。现在系统能够稳定、正常的工作。 调试过程:检查各个器件完好,连接正常之后,接通电源,此时电源指示灯亮,液晶显示屏LCD1602同时亮,依次出现开机画面;

23、数秒之后,显示初始的年、月、日、星期、时、分、秒。通过模式选择键可以在时间显示模式和闹钟模式之间切换,通过移位键可以使液晶屏上的光标依次移位,将光标移位在想要的调节的位置,按加、减键可以进行该位置的数字的调整。加、减键可以在按下移位键之后,调节光标闪烁位置的数字。将模式切换到闹钟模式,依次调整时、分,当时间到预设的时间,蜂鸣器发出”滴滴” 声。 6. 总结:通过本次课程设计,使我加深了对单片机的认识,并且掌握了单片机系统的设计、制作流程,收获丰硕。功能上基本达标:时钟与闹钟的显示,调时间和闹钟功能以及闹钟鸣叫功能。时钟与闹钟显示功能,精确度完全可以满足日常生活显示时间的需要;调时间与闹钟功能,

24、方便快捷。硬件设施基本合乎要求,软件设计可以配合硬件实现其功能。技术在不断进步,机械式时钟已经被淘汰,取而代之的是具有高度准确性和直观性且无机械装置,具有更长的使用寿命等优点的电子时钟。电子时钟更具人性化,更能提高人们的生活质量,更受人们欢迎。机械时代已经远去,电子时代已经到来。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。从这次的课程设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,学以致用。参考文献1广第,朱月秀,冷租祁.单片机基础第三版.:航空航天大学(1259)。2庆亮.C语言程序设计实用

25、教程.:机械工业,2005.3(1100)。3康华光.电子技术基础数字部分.:高等教育,2008(1560)。3康华光.电子技术基础模拟部分.:高等教育,2008(1560)。4志忠.数字电子技术.:高等教育,2003.12(30100)。5及力.Protel 99 SE原理图与PCB设计教程.:电子工业,2007.8(48100)。6欣电子设计从零开始.:清华大学,2005(10200)。12邢小杰.单片机电子时钟设计.中国科技博览,2009。附录一:整体电路连接图:附录二:源程序代码:#include#include#define uchar unsigned char#define ui

26、nt unsigned intbit flag;uchar s1num;char nian,yue,ri,shi,fen,miao,week;char a_fen=10,a_shi=10; /初始值年周月时分秒 uchar kaiji=-Welcome!-; /开机画面显示uchar kaiji1=*Good Luck!*; /123456789abcdefguchar alarm_table= Alarm:; uchar write_add7=0x8c,0x8a,0x88,0x86,0x84,0x82,0x80;uchar read_add 7=0x8d,0x8b,0x89,0x87,0x8

27、5,0x83,0x81;sbit rs=P15; /1602定义sbit rw=P14;sbit e=P13;sbit sck=P10; /1302定义sbit io=P11;sbit rst=P12;sbit s1=P32; /调整按键sbit s2=P31; /加1sbit s3=P30; /减1sbit s4=P33; /模式选择 sbit dd=P34; /蜂鸣器void delay_1ms(uchar m) /延时函数 uchar i,j; for(j=0;jm;j+) for(i=0;i110;i+);void beep() /蜂鸣器发声 dd=0; delay_1ms(50);

28、dd=1;void write_(uchar ) /lcd1602写指令 e=0; rs=0; rw=0; P2=; delay_1ms(1); e=1; delay_1ms(1); e=0;void write_data(uchar dat) /lcd1602写数据 e=0; rs=1; rw=0; P2=dat; delay_1ms(1); e=1; delay_1ms(1); e=0;void write_sfm(uchar add,uchar dat) /时分秒刷新显示函数 uchar shi,ge; shi=dat/10; ge=dat%10; write_(0xc0+add); w

29、rite_data(0x30+shi); write_data(0x30+ge);void write_nyr(uchar add,uchar dat) /年月日刷新显示函数 uchar shi,ge; shi=dat/10; ge=dat%10; write_(0x80+add); write_data(0x30+shi); write_data(0x30+ge);void write_ds1302_byte(uchar add) /ds1302 uchar i; for(i=0;i1; sck=1; void write_ds1302(uchar add,uchar dat) rst=0; _nop_(); sck=0; _nop_(); rst=1; _nop_(); write_ds1302_byte(add); write_ds1302_byte(dat); rst=0; _nop_(); io=1; sck=1;void write_tran_data(uchar add,uchar dat) /十进制转换成BCD码 uchar t; t=dat/10; dat=dat%10; dat=t4|dat;

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

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