基于单片机和DS1302的LCD时钟.docx
- 文档编号:23971567
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:65
- 大小:1.02MB
基于单片机和DS1302的LCD时钟.docx
《基于单片机和DS1302的LCD时钟.docx》由会员分享,可在线阅读,更多相关《基于单片机和DS1302的LCD时钟.docx(65页珍藏版)》请在冰豆网上搜索。
基于单片机和DS1302的LCD时钟
摘要
从古至今,人们的生活和工作都离不开时间,而且随着人们生活工作的节奏逐步的加快,时间对人们的重要性也越来越深;因此,拥有一个不错的时钟,将对人们的生活带来很大的方便。
单片机控制的LCD时钟的技术也越来越成熟,但是人们对时钟的要求也越来越高,所以LCD时钟的研发是不可滞停的。
本文是以单片机作为控制核心的LCD时钟,利用DS1302芯片提供稳定的定时脉冲,使用DS18B20采集实时温度信息,用独立键盘实现日期、时间的校准和闹钟的设置与开关等,使用LCD液晶作为显示器,蜂鸣器用作闹钟。
该液晶时钟可以应用于一般的生活和工作之中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词单片机,时钟,LCD,DS1302,DS18B20
ABSTRACT
Sinceancienttimes,people'slifeandworkareinseparablefromtimeandgraduallyaccelerated,withtherhythmofpeople'slivesmoreandmoretimeontheimportanceofpeople'sdeep;therefore,haveagoodclock,willthepeoplethelivesofagreatdealofconvenience.MicroprocessorcontrolledLCDclocktechnologybecomesmoremature,butpeopleareincreasinglyhighrequirementsontheclock,LCDclock,R&Disnotstagnation.
ThisarticleisbasedontheMCUasthecoreoftheLCDclock,usingtheDS1302chiptoprovideastabletimingpulse,theDS18B20collectionofreal-timetemperatureinformation,withaseparatekeyboarddate,timecalibrationandalarmsettingsandswitch,usetheLCDasamonitor,buzzerasanalarmclock.
TheLCDclockcanbeappliedtogenerallifeandworkcanalsobemodified,toimproveperformance,addnewfeaturestobringmoreconveniencetopeople'slivesandwork.
KeywordsMCU,Clock,LCD,DS1302,DS18B20
1绪论
1.1课题介绍
随着科技的发展,以及电子信息科学系的迅速崛起,单片机在数字时钟领域中的使用已经是非常普遍的了,现在人们对数字时钟的功能以及工作顺序都非常的熟悉了;但是却很少人知道它的内部结构和工作原理。
由单片机作为数字时钟的核心控制器,它可以通过时钟信号实现计时的功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以实现时间的校准,利用蜂鸣器可以实现闹钟功能。
输出设备可以利用液晶显示或者数码管显示。
1.1.1课题的背景和意义
从古至今,人们的生活就离不开时间,而为人们提供精准时间的时钟自然而然就成为了人们生活中的必需品;现如今数字时钟已经广泛应用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作和娱乐带来了很大的方便。
由于数字集成电路的发展和采用了先进的石英技术,使数字时钟具有走时准、性能稳定和携带方便等优点,它还用于计时、自动报时和自动控制等各个领域。
尽管目前市场上已有现成的数字时钟集成芯片出售,价格便宜、使用方便,但是鉴于单片机也可以完成数字时钟的设计,因此使用单片机来进行数字时钟的设计是很简便的。
在这里我们将已学过的比较零散的数字电路的知识有机构的、系统的联系起来用于实际。
单片机具有体积小、功能强、可靠性高和价格低等一系列优点,不仅成为工业测控领域普遍采用的智能化控制工具,而已还渗入到人们工作和生活中的各个角落,有力地推动了各行业的技术改造的产品的更新换代。
1.1.2现状与发展趋势
从单片机控制的数字时钟今年来的发展趋势来看,我们的数字电子时钟正在朝着三多一高一低一小发展,即多层次用户、多品种、多规格、高精度、低能耗和小体积。
在这种趋势下,时钟的数字化、智能化已经成为现代时钟生产研究的主导设计方向。
带有时钟功能的电子产品和电子设备近年来广泛地出现在国内外市场中。
例如奥运会倒计时显示屏、道路安全显示屏、比赛计时屏幕、监控系统以及其它多种场合,这类产品覆盖了我们生活中的大多数地方。
然而作为一种人机接口方式,仅仅只有LCD显示、键盘控制是远远不行的;所以在数字时钟上添加语音提示、音乐或者其它语音功能,能够使我们的数字时钟更有趣、更人性化,同时也能显得我们的数字时钟更加与众不同,所以要使各界领域更为的广泛使用数字时钟,那么对于语音的研究是有很大的实际意义的。
1.2课题设计要求
能够实现基于单片机与DS1302芯片联合控制的LCD显示的电子时钟功能,并完成硬件设计和软件设计。
1.2.1主要工作
设计和制作基于单片机的LCD显示的电子时钟电路:
①原理图的分析和设计;
②元器件的选择;
③程序的编写;
④制作和调试实物。
还有是就毕业设计论文的编写。
1.2.2基本要求
该时钟的基本功能应该包括有准确计时,时制为24小时制,能够以数字的形式在LCD上显示年、月、日,时、分、秒,星期使用英文字母加数字的形式进行显示,并且具有使用按键对时间进行校准功能,还有就是该时钟具有闹钟的功能,并能自行设置闹钟时间;以及实时环境温度显示的功能。
2方案设计与论证
2.1时钟系统设计思路
按照系统的设计功能要求,该液晶时钟系统的设计必须采用单片机软件系统来实现,用单片机的自动控制能力配合按键控制,来控制时钟、闹钟的调整及显示。
获得时钟、温度和闹钟的数据信息,通过单片机对其进行一系列的处理,最后使用液晶显示出来。
2.2系统方案论证
该设计主要讨论了,如何实现对液晶电子时钟的硬件设计和软件设计,以及如何实现液晶屏幕显示;接下来,我要介绍的是该设计方案所需元器件的选择,以及是怎么在进行选择。
2.2.1单片机选择
对于单片机的选择,如果用8031系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;51系列单片机的ROM为4K,对于我们设计的系统可能有点小;52系列单片机与51系列的结构一样,而ROM扩大为8K,对我们设计系统提供充足的空间进行功能的扩展。
再有51系列单片机与52系列的单片机价格差不多。
因此,我选择52系列的单片机。
2.2.2时钟计时方案选择
方案1:
通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;
方案2:
用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。
虽然用软件实现时钟硬件线路简单,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,而且定时器计时也不是十分准确,时钟精度很低,对于我们实现所需要的功能造成软件编程非常复杂。
用专用时钟芯片硬件成本相对较高,但它的精度很高,软件编程很简单。
综上所述,我选择方案2,并选用DS1302时钟芯片。
2.2.3实时环境温度采集模块选择
方案1:
使用热敏电阻作为温度采集模块;
方案2:
使用DS18B20作为温度采集模块。
热敏电阻是开发早、种类多、发展较成熟的敏感元器件,热敏电阻是由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。
通过一定的电路可以将周围环境的温度变化转化成电压的变化,通过AD转换器件将信号传输给单片机进行分析,从而测出当前环境温度,但是误差大,不稳定,对环境要求较高。
DS18B20是美国DALLAS公司生产的数字温度传感器,采用单总线的接口方式,与微处理器连接时仅需要一条口线即可实现未处理器与DS18B20的双向通讯。
单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点;DS18B20测量温度范围宽,测量精度高,供电方式灵活。
非常适合本设计使用。
所以综上所述我选择使用DS18B20作为本设计的实时温度采集模块。
2.2.4显示方式选择
方案1:
用数码管或LED显示;
方案2:
用液晶1602显示;
方案3:
用液晶12864显示。
时钟的显示可以用数码管或LED,而且价格便宜。
但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。
有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用1602液晶显示数据有限,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,让人看起来会很方便。
另外它们在价格上差距很大,考虑成本我们首选1602。
所以综上所述,我选择使用液晶1602显示,即方案2。
2.2.5闹钟方案选择
方案1:
用蜂鸣器来实现实现闹钟的功能;
方案2:
用喇叭加语音芯片实现闹钟功能。
用喇叭加语音芯片成本很高,但声音还不错,再有喇叭体积庞大。
用蜂鸣器,成本低,电路结构简单,而且体积小。
限于设计所需要的功能,用蜂鸣器是最佳选择。
所以我选择使用蜂鸣器。
2.2.6按键选择
方案1:
购买集成键盘,采用矩阵形式连接;
方案2:
购买单个复位开关做成按键。
虽然集成键盘美观,与单片机的接口少,但是它的成本比较高。
在该设计中,单片机的I/O口对于我的时钟系统绰绰有余。
所以我选用价格便宜单个复位开关做成按键。
3单片机介绍
单片机即微处理器,自1976年Inter公司推出的MCS-48,迄今已有20多年了。
由于单片机具有集成度高,功能强,体积小,功耗低,使用方便,价格低廉等一系列优点,目前已经应用到人们工作和生活的各个领域。
在上一章中,已经讨论过了选择什么类型的单片机;根据该系统的需求,我选择使用的是AT89S52芯片;接下来我们来对该设计中使用的单片机进行简要的介绍。
3.1单片机基本结构
如图3.1所示为单片机的基本结构框图,它由8个部件组成,即中央处理器(CPU)、片内数据存储器(RAM)、片内程序存储器(ROM)、输入输出接口、可编程串行口、定时/计数器、中断系统及特殊功能寄存器(SFR)。
各部分通过内部总线相连。
在功能单元的控制上,采用了特殊功能寄存器的集中控制方法。
图3.1单片机基本结构框图
3.2AT89S52简介
AT89S52实物如图3.2所示:
图3.2AT89S52实物
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
3.3AT89S52引脚说明
AT89S52的引脚图如图3.3所示:
图3.3AT89S52引脚
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
接下来简单介绍一下在本设计中使用到的端口。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
4系统硬件设计
根据前面的电子时钟的设计要求,系统的硬件设计可以分为以下几个电路模块:
单片机模块,时钟芯片模块,液晶显示模块,闹钟模块和按键模块,模块与模块的关系如图4.1所示:
图4.1系统模块图
4.1单片机模块
该设计中的时钟电路在硬件上是使用AT89S52型号的单片机作为主要的控制系统;单片机的最小系统是由电源、复位和晶振组成的,接下来主要介绍一下复位电路和晶振电路,电源就不作介绍了。
4.1.1复位电路
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。
无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。
单片机复位的条件是:
必须使RST/Vpd或RST引脚(9)加上持续两个机器周期(即24个振荡周期)的高电平。
本系统时钟频率为11.0592MHz,每机器周期约为1us,则只需2us以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。
单片机的复位方式有两种,一是上电复位,二是按键手动复位;本设计就是用的手动按钮复位。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。
按键手动复位电路见图4.2。
时钟频率6MHZ时,C取10uF,R2取200Ω,R1取10KΩ。
图中S1、R2构成按键复位电路。
若要复位,只需按图中的S1键,此时电源VCC经电阻R1、R2分压,在RESET端产生复位高电平,两个机器周期后单片机复位。
图4.2单片机复位电路
4.1.2晶振电路
XTAL1是片内振荡器的反相放大器输入端,XTAL2是输出端。
使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空;内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz~24MHz内选择。
图4.3单片机晶振电路
该设计采用的是内部方式,即利用芯片内部的振荡电路,如图4.3所示。
AT89系列的单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端;这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C3和C4构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
本电路的时钟频率为11.0592MHz,电容C3、C4采用30pF的磁片电容。
4.2液晶显示模块
本设计采用的1602液晶显示器来显示时钟的时间。
液晶显示器是采用了液晶控制透光度技术来实现色彩的显示器,由于通过控制是否透光来控制亮与暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题。
对于画面稳定,无闪烁感的液晶显示器,刷新率不高但图像也很稳定。
LCD显示器还通过液晶控制透光度的技术原理来让底板整体发光,所以它做到了真正的完全平面,一些高档的数字LCD显示器采用了数字方式传输数据,显示图像,这样就不会产生由于显卡造成的色彩偏差或损失。
完全没有辐射的优点,即使长时间观看LCD显示器屏幕也不会对眼睛造成很大的伤害。
该设计中的液晶显示电路如图4.4所示:
图4.4液晶显示电路
图中LCD的4、5、6引脚分别接的是单片机上的P2.0、P2.1、P2.2口。
4.2.1液晶显示原理
LCD是由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5um均匀间隔隔开。
因为液晶材料本身不发光,所以在显示器两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或成为匀光板)和反光膜,背光板时有荧光物质组成的可以发射光线,其主要是提供均匀的背景光源。
背光板发出的光线在穿过第一层偏振过滤之后进入包含成千上万液晶液滴的液晶层。
液晶层中的液滴都被包含在细小的单元格结构中,一个或多个第一个构成屏幕上的一个像素。
在玻璃板与液晶材料之间是透明的电极,电极之间分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶的材料的左右能够类似于一个个小的光阀。
在液晶材料周边是控制电路部分和驱动电路部分。
当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规律的折射,然后进过第二层过滤层的过滤在屏幕上显示出来。
4.2.2LCD1602简介
LCD1602的实物图如图4.5所示:
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5×7或者5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形(用自定义CGRAM,显示效果也不好);1602LCD是指显示的内容为16×2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
图4.5LCD1602实物
4.2.3LCD1602特性
①+5V电压,对比度可调;
②内含复位电路;
③提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能;
④有80字节显示数据存储器DDRAM;
⑤内建有192个5×7点阵的字型的字符发生器CGROM;
⑥个可由用户自定义的5×7的字符发生器CGRAM。
4.2.4LCD1602管脚功能
1602采用标准的16脚接口,如图4.6所示,其中:
图4.6LCD1602引脚图
第1脚:
VSS为电源地;
第2脚:
VDD接5V电源正极;
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;
第5脚:
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作;
第6脚:
E(或EN)端为使能(enable)端;
第7~14脚:
DB0~DB7为8位双向数据端;
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
4.3时钟芯片模块
时钟芯片DS1302与单片机AT89S52的连接是由3条线来完成的,如图4.7所示;单片机的P1.0与时钟芯片的数据传输端相连,P1.1用来作为DS1302输入时钟SCLK控制端,P1.2控制DS1302的复位输入端;DS1302接标准32.768KHz晶振。
图4.7时钟芯片模块
4.3.1DS1302简介
DS1302实物如图4.8所示:
图4.8DS1302实物
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
4.3.2DS1302引脚功能及结构
DS1302封装如图4.9所示:
DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
图4.9DS1302封装
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),后面有详细说明。
SCLK为时钟输入端。
4.4温度检测模块
DS18B20有两种接法:
一是单线法即只接DQ;这种方法应用它内部的寄生电源,因此在DQ上要用一个MOSFET把I/O线只接拉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 DS1302 LCD 时钟