完整版基于单片机的电子时钟的毕业设计论文.docx
- 文档编号:23173821
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:34
- 大小:210.25KB
完整版基于单片机的电子时钟的毕业设计论文.docx
《完整版基于单片机的电子时钟的毕业设计论文.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的电子时钟的毕业设计论文.docx(34页珍藏版)》请在冰豆网上搜索。
完整版基于单片机的电子时钟的毕业设计论文
密级:
JININGUNIVERSITY
学士学位论文
THESISOFBACHELOR
题目基于单片机的数字时钟设计
系别:
物理与信息工程系
专业年级:
2010级机械设计制造及其自动化
学生姓名:
学号:
指导教师:
仲伟职称:
高级工程师
起讫日期:
2014年1月1日—2014年5月31日
摘要Ⅰ
关键词Ⅰ
AbstractⅡ
KeywordsⅡ
引言1
1数字时钟硬件部分设计4
1.1主控制模块4
1.1.1STC89C52单片机简介4
1.1.2STC89C52主要参数5
1.1.3主控制电路图6
1.2显示模块6
1.2.11602LCD显示器简介6
1.2.21602LCD显示器结构7
1.2.31602LCD驱动及数据原理7
1.2.4显示模块数据连接图9
1.3时钟模块9
1.3.1DS1302特性简介9
1.3.2DS1302数据操作原理10
1.3.3时钟模块的数据连接11
1.4电源转换模块12
1.5按键部分电路设计12
1.6电路仿真与设计13
2数字时钟软件部分设计结果与分析14
2.1主程序流程图14
2.2时钟模块程序流程图14
2.3显示模块程序流程图15
2.4按键处理15
3调试与检测安全16
3.1供电安全、测量仪器安全16
3.2几个必须记住的安全操作观念:
16
4总结17
参考文献18
致谢19
附录(C程序)20
基于单片机的数字时钟设计
机械设计制造及其自动化专业学生张衍会
指导教师仲伟
摘要:
本文主要阐述的是一款单片机数字时钟的设计。
该时钟基本功能是能准确显示和快速校准时、分、秒。
扩展功能是整点报时功能。
本设计通过硬件电路的制作以及软件程序的编制来完成。
此时钟系统主要由主控制模块、时钟模块、液晶显示模块、电源转换模块以及键盘控制模块组成。
本设计最终方案选用STC89C52作为主控制系统来控制时钟的准时运转,选用LCD液晶动态扫描来显示时间,采用独立式按键控制系统将要实现的全部功能。
而且,本设计还结合Proteus软件和Keil编译软件等应用程序来进一步完善该时钟系统。
此外,本文对系统的硬件设计与实现进行分析,同时,对系统的软件设计进行分析。
关键词:
单片机STC89C52LCDKeil编译软件
ThedesignofdigitalclockbasedonMCU
StudentMajoringinMechanicalDesign,ManufacturingandAutomation
NameYanhuiZhang
TutorWeiZhong
Abstract:
Thepurposeofthisarticleistoillustrateasinglechipmicrocomputerdigitalclockdesign.Thebasicfunctionofthisclockistoaccuratelydisplaytheclockandfastcalibration,minutesandseconds,.Extendthefunctionalityis.Thisdesignthroughtheoftheclocksystemismainlycomposedofmaincontrolmodule,clockmodule,liquidcrystaldisplaymodule,powerconversionmoduleandthekeyboardcontrolmodule.RunningontimethisdesignfinallyselectedtheSTC89C52asthemaincontrolsystemtocontroltheclock,usingLCDliquidcrystaldynamicscanningtodisplaythetime,allthefunctionsoftheindependentbuttoncontrolsystemwillbeachieved.AndthisdesignalsocombinesproteussoftwareandKeilcompilersoftwareapplicationstofurtherperfectthesystemclock.Inaddition,inthispaper,theandrealizationofthesystemisanalyzed,atthesametime,thesoftwaredesignofthesystemwereanalyzed.
Keywords:
MCU;STC89C52;LCD;Keilcompilesoftware
引言
时间对人们来说是十分宝贵的,这个词一直以来都被人们传颂着:
“一寸光阴一寸金”“浪费别人的时间等于谋财害命(鲁迅)”等等。
虽然,有时忘了做一些不重要的事情并无大碍。
但是,如果是重要的事情,一时的耽误可能酿成大祸。
如今我们只需瞧一下钟表就能说出时间,我们把这看成是很自然的事。
但在长达几千年的时间里,根本就没有任何测定时间的精确方法。
最早,人们通过太阳在天空中的位置,或者通过像日晷或沙漏这样的装置来判断时间。
在沙漏中,是通过沙子从一个双头玻璃容器中漏落下来来指示时间的。
直到公元8世纪,中国发明家梁令瓒和一行和尚一起设计了"擒纵器"装置(即所有机械钟中心部位的那套齿轮嵌齿结构)才改变上述情况。
机械钟在中世纪时来到欧洲。
到14世纪时,欧洲出现了既大又不灵巧的家庭机械钟,但其精确度每天大约误差为1小时,所以并没有什么可信度。
15世纪时德国锁匠亨莱恩开发出了由弹簧驱动的钟,接着在17世纪时,惠更斯在1656年制造出了带有钟摆的更精确的钟。
并且,惠更斯于1859年在威斯敏斯特教堂安装了大本钟,该钟成为所有精确钟楼的标准。
1929年石英晶体首先用于计时,天文台石英钟误差不过万分之一秒每天。
1951年第一座原子钟开始运作,误差小于十亿分之一秒每天,是目前最准确的时钟[2]。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
电池驱动钟、交流电钟、电机械表、指针式石英电子钟表、数字式石英电子钟表相继问世。
而如今出现的多功能电子钟,是采用数字电路实现对时,分,秒数字显示的计时装置,叫做数字钟。
它主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成,计时周期为24小时,显示满刻度为23时59分59秒,另外一般具有校时功能和报时功能。
数字钟不但可以显示当前的时间,而且可以显示日期、星期、世界时、室温等,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。
数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。
这些方法都各有其特点,其中利用单片机实现的电子钟编程灵活,以便于功能的扩展。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
值得一提的是,单片机具有体积小、功能强、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
目前,单片机的发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命[3]。
人类的生活和工作离不开时钟。
从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进时钟的数字化,大力推动了计时的精确性和可靠性,因此基于单片机的数字时钟具有巨大的研究意义。
在本次设计中采用单片机技术来实现数字钟的功能,按照系统设计功能的要求,初步确定设计系统由电源转换模块、主控制模块、时钟模块、显示模块、键盘接口模块共5个模块组成,电路系统构成框图如图1所示。
图1电路系统构成框图
本方案的设计可以从以下几个方面来确定。
(1)微处理器的选择:
STC89C52是一种带8K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的高性能CMOS8位微处理器。
(2)显示电路的设计:
随着科技的发展,液晶显示的使用越来越方便,已被普遍的使用。
由于液晶显示与驱动都集成在一个芯片上,使用起来很方便。
这里采用液晶显示。
(3)时钟模块中用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度的要求。
本次设计采用DS1302芯片。
(4)日常用到的都是220V的交流电源,而本方案线路设计中所使用的是直流电源,并且线路设计中许多芯片所用到的电压为+5V,因此,需要有把220V交流电转化到5V直流电的转换电路。
此转换采用三端稳压器7805来完成。
(5)还有一些其他控制电路如复位电路、时钟电路等。
通过这些控制电路的连接构成了完整的电路。
1数字时钟硬件部分设计
1.1主控制模块
本设计基于单片机技术原理,以单片机芯片STC89C52作为核心控制器。
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在字节Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进,使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
1.1.1STC89C52单片机简介
STC89C52是低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
STC89C52单片机适合于许多较为复杂控制应用场合。
STC89C52单片机为40引脚双列直插芯片,有四个IO口P0、P1、P2、P3,每一条IO线都能独立地作输出或输入。
STC89C52PDIP管脚封装如图2所示。
图2STC89C52管脚图
STC89C52的主要特性:
(1)与AT单片机完全兼容
(2)8K字节Flash
(3)512字节RAM
(4)32位IO口线
(5)看门狗定时器
(6)内置4KBEEPROM
(7)3个16位定时器计数器
此外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T12T可选。
1.1.2STC89C52主要参数
(1)增强型8051单片机,6时钟机器周期和12时钟机器周期可以任意选择,指令代码完全兼容传统8051。
(2)工作电压:
5.5V~3.3V(5V单片机)3.8V~2.0V(3V单片机)。
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
(4)用户应用程序空间为8K字节。
(5)片上集成512字节RAM。
(6)通用IO口(32个),复位后为:
P0P1P2P3是准双向口弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为IO口用时,需加上拉电阻。
(7)ISP(在系统可编程)IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxDP3.0,TxDP3.1)直接下载用户程序,数秒即可完成一片。
(8)具有EEPROM功能。
(9)共3个16位定时器计数器,即定时器T0、T1、T2。
(10)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。
(11)通用异步串行口(UART),还可用定时器软件实现多个UART。
(12)工作温度范围:
-40~+85℃(工业级)0~75℃(商业级)。
(13)PDIP封装。
1.1.3主控制电路图
主控制电路如图3所示。
图3主控制电路设计
1.2显示模块
随着科学技术的进步,液晶显示技术已经趋于成熟并被广泛使用,本次设计的显示模块就采用液晶显示。
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形、重量轻。
液晶显示器本身不发光,而只是调制环境光。
液晶显示器具有低电压、微功耗、厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,是袖珍式仪表和低功耗仪表的首选显示器件。
目前已经被广泛应用在笔记本电脑、数字摄像机、PDA移动通信工具等领域[6]。
由于液晶显示与驱动都集成在一个芯片上,因此使用起来很方便。
数字时钟要显示现在的日历时间包括年、月、日、星期、时、分、秒,在此处采用1602LCD液晶显示。
1.2.11602LCD显示器简介
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)[7]。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
1.2.21602LCD显示器结构
(1)主要技术参数:
显示容量为16×2个字符;芯片工作电压为4.5~5.5V;
工作电流为2.0mA(5.0V);字符尺寸为2.95×4.35(W×H)mm。
(2)接口1602LCD采用标准的16引脚接口,表1为引脚定义。
表11602液晶接口引脚定义
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DateIO
2
VDD
电源正极
10
D3
DateIO
3
VL
液晶显示偏压信号
11
D4
DateIO
4
RS
数据命令选择端(VL)
12
D5
DateIO
5
RW
读写选择端(HL)
13
D6
DateIO
6
E
使能信号
14
D7
DateIO
7
D0
DateIO
15
BLA
背光源正极
8
D1
DateIO
16
BLK
背光源负极
(1)2组电源一组是模块的电源,一组是背光板的电源,均为5V供电。
(2)VL是调节对比度的引脚调节,此脚上的电压可以改变黑白对比度,也就是VEE。
此处,通过链接一个变速器调节此脚上的电压直到最合适。
(3)RS是很多液晶上都有的引脚是命令数据选择引脚该脚电平为高时表示将进行数据操作,为低时表示进行命令操作。
(4)RW也是很多液晶上都有的引脚是读写选择端,该脚电平为高是表示要对液晶进行读操作,为低时表示要进行写操作。
(5)E是很多液晶模块有此引脚,通常在总线上,信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。
1.2.31602LCD驱动及数据原理
首先介绍一下LCD显示器驱动方式。
(1)静态驱动方式是指液晶显示器每个像素单独控制的驱动方法,即每个像素对应一个单独的控制信号。
(2)动态驱动方式也称时间分割驱动法或多路驱动法,其驱动方法循环地给每行电极施加选择脉冲,同时所有列电极给出该行像素的选择或非选择驱动脉冲,从而实现所有显示像素的驱动。
这种扫描是逐行循序进行的,循环周期很短,使得液晶显示屏上呈现稳定的图像效果。
1602LCD操作时许如表2所示。
表21602LCD基本操作时序
读状态
输入
RS=L,RW=H,E=H
输出
D0~D7=状态字
写指令
输入
RS=L,RW=L,D0~D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,RW=H,E=H
输出
D0~D7=数据
写数据
输入
RS=H,RW=L,D0~D7=数据,E=高脉冲
输出
无
此液晶上电的时候需要初始化典型的指令码是38H,也就是上电的时候需要调用voidwrite_cmd(unsignedcharcommand)这个函数写指令码,用法是write_cmd(0×38);执行完这个函数可以把液晶初始化成16×2显示5×7的点阵8位总线接口,以下指令码用法相同。
此液晶支持的指令码如表3所示。
表31602LCD支持的指令码
指令码
功能
0
0
1
1
1
0
0
0
设置16×2显示,5×7点陈,8位数据接口
第一行指令主要能完成的功能是控制液晶显示否,光标显示否,光标闪烁否。
共有8种指令,见表4。
表4指令表
0
0
0
0
1
0
0
0
08H
关液晶显示光标不闪烁不显示光标位置
0
0
0
0
1
0
0
1
09H
关液晶显示光标不闪烁显示光标位置
0
0
0
0
1
0
1
0
0AH
关液晶显示光标不闪烁不显示光标位置
0
0
0
0
1
0
1
1
0BH
关液晶显示光标不闪烁显示光标位置
0
0
0
0
1
1
0
0
0CH
开液晶显示光标不闪烁不显示光标位置
0
0
0
0
1
1
0
1
0DH
开液晶显示光标不闪烁显示光标位置
0
0
0
0
1
1
1
0
0EH
开液晶显示光标不闪烁不显示光标位置
0
0
0
0
1
1
1
1
0FH
开液晶显示光标不闪烁显示光标位置
第二行指令主要能完成的功能是写完字符光标或屏幕移动方向,如表5所示。
表5指令码
指令码
功能
80H+地址码(0-27H,40H-67H)
设置数据地址指针
1.2.4显示模块数据连接图
1602LCD的D0—D7的八位数据线分别接单片机STC89C52的P0.0—P0.7。
RS复位端接P2.0,EN使能端接P2.2,读、写信号端接P2.1。
图4是LCD数据连接图。
图4显示模块数据连接图
1.3时钟模块
单片机控制时钟模块,定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度的要求。
本次设计采用DS1302芯片[8]。
1.3.1DS1302特性简介
DS1302时钟芯片包括实时时钟日历和31字节的静态RAM。
它经过一个简单的串行接口与微处理器通信。
实时时钟日历提供秒、分、时、日、周、月和年等信息。
对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能[9]。
时钟的运行可以采用24h或带AM(上午)PM(下午)的12h格式。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302有主电源后备电源双电源引脚:
Vcc1在单电源与电池供电的系统中提供电源,并提供低功率的电池备份;Vcc2在双电源系统中提供主电源,在这种运用方式中Vcc1连接到备份电源引脚上,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由Vcc1或Vcc2中较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电;当Vcc2小于Vcc1时,DS1302由Vcc1供电。
1.3.2DS1302数据操作原理
DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输出。
无论是读周期还是写周期,开始8位指定40存器中哪个将被访问到。
在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的始终周期在读操作时输出数据,在写操作时写入数据。
时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节[10]。
如果在传送过程中置RST脚为低电平,则会中止本次数据传送,并且IO引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST脚必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
DS1302的控制字表格如表6所示。
表6DS1302的控制字表
7
6
5
4
3
2
1
0
1
RAM
A4
A3
A2
A1
A0
RD
控制字节的最高有效位(位7)必须是逻辑1;如果它为0。
则不能把数据写入到DS1302中。
位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。
位5~1(A4~A0)指示操作单元的地址。
最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。
控制字节总是从最低位开始输入输出。
为了提高对32个地址的寻址能力(地址命令位1~5=逻辑1),可以把时钟日历或RAM寄存器规定为多字节(burst)方式。
位6规定时钟或RAM,而位0规定读或写。
在时钟日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。
在多字节方式中,读或写从地址0的位0开始。
必须按数据传送的次序写最先的8个寄存器。
但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节,不管是否写了全部31字节,所写的每一字都将传送至RAM。
DS1302引脚图如图5所示。
图5引脚图
DS1302各个引脚的功能如表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 单片机 电子 时钟 毕业设计 论文