多功能智能时钟系统设计Word格式文档下载.docx
《多功能智能时钟系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《多功能智能时钟系统设计Word格式文档下载.docx(43页珍藏版)》请在冰豆网上搜索。
Abstract
Withthedemandformoreprecise,peoplecreateaclock.Now,theelectronicclockishumanthemostbasic,mostessentialasatool.Inthelastcentury,mostelectronicclockuseisseparationofcomponents.Andthisproducedelectronicclockbulky,useisalsoverytroublesome.Alongwiththerapiddevelopmentofscienceandtechnologyandelectronicindustry,nowcircuitareheightintegrated.Notonlysavespaceresource,costisalsoverylow.Althoughelectronicproductstoourlifebroughtmoreconvenience.
Procedureswillbeusedinthedesignofthemaincontrolsystemisasinglechip,usingitsowntimerdesign.SCMhaslowcost,thevolumeissmall,easytooperate,etc..Itcanformavarietyofautomaticcontrolsystem.ThedesignusesamicrocontrolleristhemosttypicalandIwereintheclassroomstudyof51seriesmicrocontroller,thedesignSTC89C51microcontrollerasthecoretotheclockchipDS1302asthebasis,bymeansofaperipheralsmallamountsofkeycircuitreal-timecalibrationthroughLCD1602LCDdisplaytodisplaythedateandtime.Inpart,IuseClanguagetowrite.TheuseofClanguageismoreconducivetomyunderstanding,writingandrevision.
Thispapermainlyfromtheselectionofthedesignschemeofthesystem,hardware,softwarepartofthedescriptionandphysicaldemonstrationupdetaileddescribesthegeneralcontentofthewholedesign.Designisthemainresearchisintelligentclockandcalendardisplayfunction.WeusetheMCUcontrolcantimelycommunicationofpowerandclockchipkeystocontrolthetimeandcalendarontheLCDscreendisplay.Finally,whenthewholepointofthebuzzertimekeeping.
Keywords:
singlechipmicrocomputer,electronicclock,Clanguage
前言
现在,电子产业随着科学技术的发展而变得日益强大。
单片机的集成度也越来越高,体积也越来越小。
技术的进步促使人们对智能闹钟的研究和应用的重视度极度提高,这样人们对时钟设备的要求也越来越高,又加上微处理器ARM、FPGA、DSP的广泛应用,电子技术更是得到了极大地提高。
单片机的使用是十分灵活的,可以用于很多方面,论文中用到STC89C51的优势是:
功耗十分的低、成本便宜、硬件设计简单,工业控制、传感器技术,数据采集、智能控制、仪器仪表等领域中。
集成电路是电子工业时代的重要发明,其中以单片机的出现最为明显,它的出现使自动控制和智能控制各方飞速的发展。
单片机智能时钟的优点是体积小、价格低、可靠性高、功能全。
我们广泛的用它在各种智能控制仪器定时与时间测量中,使这些仪器到达高度的自动化,键盘取代了传统的智能仪器中那些开关和旋钮,测试人员通过选择相应的按键来测试,这样就会省掉很多麻烦的人工调试过程。
智能仪器能够完成自我自动校准,自动选择合适的测量范围,大部分能自动调整测试点,这样就给我们带来了极大方便,同时精度也相应的提高了几百倍。
另外,在电子科技领域,时间作为重要的参数之一,许多电参数的测量方案、结果都与他的测量有着不可分割的密切关系,所以他被广泛的应用在科研、工业控制、教学、测量仪器中。
1论文设计概述
1.1设计任务
利用Proteus格式的单片机硬件编程平台上的时钟芯片DS1302和液晶显示器LCD1602实现一个“多功能智能时钟系统”。
1.2设计要求
1.设置“启动”、“停止”、时钟显示功能设置”、“日历显示功能设置”等按键,要求上电初始蜂鸣器鸣叫、继电器、电动机、数码管都不工作,按下启动键后开始进入“起始状态”,此时LED灯按500ms间隔全亮全灭,硬件其余部件均不工作,只有在按下启动键后,再按下“时钟显示功能设置”和“日历显示功能设置”才进入“时钟显示”和“日历显示”状态,此时在LCD1602屏幕上显示相应的时钟和日期。
2.要求显示数字的格式为:
比如2012年5月2日的显示格式为——02-05-12;
12点25分30秒的显示格式为——12-25-30。
3.扩展该智能时钟系统的功能,实现每到59分57秒开始进行整点报时,蜂鸣器鸣响3秒钟。
1.3系统整体框图
整个系统主要由六部分组成:
主控模块,时钟模块,矩阵按键模块,LED模块,蜂鸣器报警模块,液晶显示模块。
系统整体框图如图1.1所示。
LED电路
STC89C51
时钟芯片DS1302
图1.1系统整体框图
2系统方案选择
2.1总体方案设计
拿到此次设计题目之后,我通过翻看以前的教材,借阅书籍收集了大量的资料,并在反复的论证以与老师的建议下,确定了最终的系统设计方案。
我采用的是STC系列的89C51做主控芯片,时钟芯片采用的是DS1302,通过矩阵键盘来对系统进行操作,最后再以LCD1602来做为液晶显示输出结果。
2.2主要模块的方案设计
介绍主控芯片模块以与显示模块的方案设计。
2.2.1主控芯片方案
方案一:
如果选用我们熟悉的STC89C51单片机当作主控芯片。
这款芯片的价钱低,使用起来较为方便。
它的功能能够满足本次设计的需求。
这款芯片适合此次设计。
方案二:
如果选用市面上的MSP430F149系列单片机当作我们的主控芯片。
这类单片机的运算速度很快,是一款内置12位ADC的高性能且能耗低的16位单片机。
但是因为它的成本高,并且它是用TPFQ来进行封装的,所以得利用PCB版图来制版,不适合我们手工焊接。
这些种种原因极大的提高了我们此次设计的难度和成本。
通常,这类单片机适用于手持等设备,不适合我们开发项目。
方案三:
如果选用ARM公司的STM32系列当作主控的芯片。
此系统中没有必用到这么高级的主控。
因为我们这次毕业设计所要用到的系统主控芯片必须要满足我们设计要求的运算能力,还要有成本低廉,功耗低,体积小,使用起来方便等特点。
所以我们不管是从价格还是我们芯片的各项性能指标上,讨论得出第一种方案是最适合我们此次的设计方案。
2.2.2显示模块方案
选用LCD1602字符液晶作为显示模块,它不仅成本相对低廉之外,它还有利于用户控制。
因为它可以在液晶上面显示数字与字符的信息。
同时,它在后期驱动程序的编写上也较为容易,满足本次设计要求。
选用LCD128x64液晶作为显示的模块。
它可以实现字符的显示,也可以显示出图片,但是图片色彩只能是黑白,且精度不高,而且成本也很高。
此次设计中不用对图片进行显示,所以对整个显示的设计效果不适合。
选择主控为TFT的带字库的320x240的彩色液晶作为显示模块,可以显示出我们经常使用的的汉字、ASCII码、并且他的液晶屏的分辨率高、同时也可以描绘出彩色的图片。
但在此系统中我们只需要简单的字符显示,且考虑到价格的因素,所以不考虑用此芯片作为显示。
方案四:
采用数码管显示。
数码管的设计复杂且后期驱动程序难写,还有连接时需要很多的I/O口。
不适合开发此项目。
综合以上方案,我们选择了方案一作为显示器。
3系统模块电路介绍与设计
本设计的系统模块电路大致分为以下几部分,下面为大家分别来介绍这几个模块电路的主要信息。
3.1单片机模块
单片机是一个微型的计算机系统。
它是一种高度集成的芯片。
它将CPU,RAM,ROM,定时器、中断系统、计数器等功能集成起来。
由于单片机的高度集成,体积小,实用性强,运算效率高,价格便宜以与使用起来较为方便。
所以本次设计中,系统采用STC89C51单片机作为主控芯片。
3.1.1单片机基础知识介绍
1.单片机的定义
单片机是一个高度集成了CPU,RAM,ROM,内部和外部总线的微型且完整的计算机系统。
单片机是通过导入程序来实现指定的功能。
所以单片机也是十分的智能化。
虽然单片机只是一块小小的芯片,但是它却拥有价格便宜,运算效率高,实用性强,性能好,集成度高,体积小,使用方便,质量轻等优点。
所以,在学习和生产中,单片机受到了大量的使用者的青睐。
单片机在工业发展中被使用的相当广泛。
单片机从早期的8位或4位发展到16位。
随着科技的飞速发展,在90年代,16位的单片机迅速的取代了16位的单片机,并且延用至今。
到现在为止,32位单片机晶振的频率已经超过了300兆赫兹,价格也越来越便宜,得到了广泛的应用。
单片机也因为难度不大,易于理解,使用简单等原因作为我们电子专业的一个非常重要的学习和实践的内容。
在本次的设计中,采用STC89C51单片机做出的一个多功能智能时钟系统,使用C语言编程,将程序导入到系统内,再反复进行调试。
最终实现所要求的功能。
2.单片机的运用
单片机不仅应用于我们的教学当中,在我们生活生产的各种电子产品中,都能看到单片机的影子。
应用领域大致有以下几点:
一、由于单片机的功耗小,体积小,效率高,使用起来也十分的方便,所以在各类的仪器仪表和精密的测量设备中,比如说示波器等,都有单片机的存在。
二、同时,单片机的用途在医疗领域中的使用情况也是十分的常见。
比如说是血糖仪,超声仪,血液细胞分析仪,血压计等等。
三、单片机在我们家电里面的应用更可谓是无所不在。
大到电视机,空调,冰箱,洗衣机,小到照相机,手机,电子秤,计算器都集成有单片机。
随着我们的家电越来越智能化。
而单片机因为集成度高,可靠性高,功能好,体积小,功耗低等优点,更加受到各个生产厂家的青睐。
四、各个商场的智能报警系统,电梯的智能控制以与便民的自助缴费系统等等都是利用单片机可以形成多钟多样的控制系统的特点。
所以,在工业领域中,它能够得到广泛的应用和使用者的认可。
五、单片机为计算机通信,提供了一个良好的物质条件。
比如说在地铁站里,工作人员使用的无线对讲机,各个学校寝室里面使用的交换机还有单元楼下面的呼叫系统等等。
可见,单片机对于我们生活生产来说是多么的重要。
为我们提供了很大的便利。
当然在这次设计的多功能智能时钟系统中,单片机也起到了至关重要的作用,随着科技的发展,单片机的性能也越来越好。
不管是在设计还是操作中,都为我带来了很多的便利。
3.1.2STC89C51介绍
1.STC89C51的主要特性
单片机的主要特性如表3.1所示。
表3.1STC89C51主要特性表
2.STC89C51芯片介绍
许多硬件设计中都有单片机的存在,因为它编程简单灵活的特点,得到大量用户的认可。
STC89C51引脚图如图3.1所示。
图3.1STC89C51引脚图
下面介绍一下其中一些引脚功能:
Vcc和Vss:
Vcc接+5V电压,Vss:
P20接地。
3.1.3单片机最小系统电路
单片机的最小系统电路主要是由晶振电路和复位电路构成。
接下来,分别来介绍这两部分电路。
1.晶体振荡电路
如果想要单片机能够正常工作的话,我们就得保证晶振能够起振并且使用恰当的晶振电容。
在本次设计中,我采用的是11.0592MHz的晶振,和两个大小为33pF的电容。
其中,一个的作用是通过XTAL1接口提供谐振频率。
另一个则是为了能在XTAL2口输出波形为正弦波的高频信号。
晶振电路如图3.2所示。
图3.2STC89C51晶振电路图
2.复位电路
除了要保证晶振电路的正确以外,我们还应该关注复位电路的设计是否得当。
复位操作就相当于是初始化。
在许多的意外情况导致系统出错时,复位操作通常都能够帮我们解决问题。
外部复位电路的复位方式分为两种,一种是手动复位,另一种是上电复位。
在本次的设计中,我采用的是手动复位的方式。
手动复位电路的设计原理和思路比较简单易懂,我们只需要通过按下在VCC和复位端之间的按键来将VCC的正5伏的高电平传入到复位端。
只要两边电路保持连通的时间超过10ms,那么单片机就会进入到复位状态。
复位电路如图3.3所示。
图3.3STC89C51复位电路
复位后,PC=0000H。
所以,程序一般会从0000H开始执行。
单片机复位时各寄存器的状态如表3.2所示。
表3.2单片机复位时的状态表
3.2时钟模块
本次设计中采用的是由美国DALLAS推出的DS1302时钟芯片。
3.2.1DS1302介绍
DS1302是由美国一家公司推出的一款能够对时间进行设计的软件,它存储着时间、年月日、闰年读取等功能。
和我们日常生活中所使用的电子表差不多。
在设计中采用此芯片的主要原因是它的能耗低,且满足实时性。
工作电压宽为2.5V~5.5V。
与主控进行通信时采用三线同步式,数据传送方式独特,能够同时传送多个数据字节。
内部存在很多的RAM寄存器,在通信时只需要读取寄存器就可以知道时间等数据信息。
因其具有价格便宜,使用简单的特点,所以DS1302是现在在教学中的使用较为流行。
在本次设计中,我们使用STC89C51往DS1302里面写入时间来进行时间设置,也从DS1302里面读取出时间,所读取出的时间通过LCD1602显示出来。
实现了时钟系统的一个基本功能,我们所使用到的DS1302的功能包括了对年、月、日以与时、分、秒的计时。
接下来,我们对DS1302的各个引脚进行具体的说明。
引脚如图3.4所示。
图3.4DS1302引脚
DS1302的各个引脚的具体功能如表3.3所示。
表3.3DS1302各个引脚的功能
3.2.2DS1302电路原理
时钟模块的电路如图3.5所示。
图3.5DS1302电路原理图
3.3液晶显示模块
设计中通过液晶显示屏将时钟的年月日与时间显示出来。
3.3.1LCD1602引脚与说明
LCD1602的使用方法较为简单方便。
我们在画PCB的时候,只需要留一排插针就好了,在焊接实物的时候,只需要将液晶显示器插上去就行了。
这一部分,需要我们做的最重要的事就是将驱动程序编写好,能够在显示屏上显示我们想要的内容。
由于LCD1602液晶显示器的开发应用简单,所以在本次设计中选择它来作为显示屏是最为合适不过了的。
而我们具体采用的是字符型的两行16字的液晶显示器。
LCD1602液晶显示器采用了标准的16脚接口。
其中引脚如图3.6所示。
引脚功能如表3.4所示:
图3.6LCD1602引脚
表3.4LCD引脚功能
3.3.2LCD1602电路原理
LCD1602与微处理器的连接电路如图3.7所示。
图3.7LCD1602与微处理器的连接电路
其中,在这部分电路设计的时候,我设计了一个滑动变阻器和一个电阻。
滑动变阻器的作用是调整LCD1602背光的亮度。
电阻则是起到保护整个电路的作用,防止电流过大,造成元器件的损坏。
3.4蜂鸣器报警模块
多功能智能时钟系统设计中,添加了整点报时的功能,采用蜂鸣器作声音报警。
报警电路如图3.8所示:
图3.8蜂鸣器报警电路
3.5矩形按键电路模块
人机界面是智能化设计中必不可少的部分,本设计有两部分的人机界面。
LCD1602液晶显示界面,另一部分则是键盘输入采集。
本设计中采用矩阵键盘按键对时间值和日期值进行设置。
在设计中我们采用单片机来对矩阵按键进行扫描,然后得到相应的值,来加减时间值和日期值。
液晶上同时可以看到时间值和日期值的改变。
设计中采用一个矩阵键盘,相对来说是十分的简单的,且价格十分的便宜,主控芯片的处理压力不大,满足设计的同时又能合理的利用资源。
设计电路图如图3.9所示。
图3.9按键电路
4系统软件设计
4.1软件设计流程
本次设计的内容是一个多功能的智能系统。
这是一个基于单片机的设计。
在编写程序的时候,我们采用的是总分结构。
先将主程序编写出来。
再根据不同的功能模块进行程序的编写。
这样的方式有利于我们后期调试的时候,能够更加快速准确的定位到问题的所在。
编写程序之前,应该先画出流程图。
理清楚每个功能是怎样通过程序一步一步来实现的。
所以流程图对于编程来说是至关重要的。
有了流程图,我们的程序该怎么去写都已经一目了然了,大大的提高了我们编程的效率。
下面一一来介绍时钟系统中主要模块的程序流程图。
图4.1主程序流程图
图4.2DS1302实时控制芯片流程图
图4.3LCD1602液晶显示控制流程图
4.2系统设计程序
本次的时钟系统设计中,编程语言我采用的是C语言。
由于之前在课堂上我们专门学习过C语言,对C语言也有一定的了解。
再加上C语言相比汇编语言可读性更高,更加利于我们理解。
所以,我最终选择C语言作为此次程序的编程语言。
在程序设计的时候,因为之前已经将主程序和各个模块的流程图画出来了。
所以我们在编写程序的时候为我们带来了很大的便利。
有了流程图,加上老师给我的程序模块,再根据需要实现的功能,自己再对程序进行编写。
通过Keil软件将我编写的代码编译为机器能够识别的机器码,再利用Protues软件将程序导入到仿真电路图,根据得到的结果来对电路和程序进行修改调整,经过反反复复的修改,最终实现其功能。
我们在进行设计的时候也有一定的技巧,比如说,我们先将单片机配置好,再把编写好的LCD驱动程序导进去,看功能是否能够实现。
然后再将时钟模块以与其他模块的程序分别导入进去,一一来检验,程序是否能够准确的运行。
4.2.1主程序
具体程序参见附录1。
4.2.2LCD1602驱动程序
具体程序参见附录2。
4.2.3DS1302驱动程序
具体程序参见附录3。
5系统仿真结果与说明
5.1仿真软件介绍
在本次设计中,主要采用的是Protues以与Keil这两款软件,下面会分别来介绍这两款软件。
5.1.1Protues软件介绍
Protues是一款由一家英国电子公司开发的,在Windows操作系统上运行的可以对电路进行分析以与对实物进行仿真的软件。
这款软件优于其他EDA工具,还有一个更加重要的原因,就是Protues还能够仿真单片机和外围的器件。
所以不管是在单片机的开发应用中,还是单片机的教学中,Protues已经成为了仿真的首选软件。
Protues除了具有简单且实用性强的ISIS原理布图,ARESPCB布线和SPICE仿真的基本功能外,还能够通过键盘,LED灯等外设让使用者进行与电路的实时交互仿真,以与通过仿真单片机,直接在原理图上导入程序,并且能够得到输出的结果。
Protues也为我们提供了大量的使用资源。
其中仿真的元件就包含数字,模拟,直流,交流等等,且其数量就上千种。
除了丰富的仿真元器件资源,而且还蕴藏了丰富的仿真仪表资源。
其中就包括了电压表,电流表,示波器,信号发生器等等。
不仅仅是存在了这么多的仿真仪器,而且还具有一个图像显示功能,可以让我们更加直观的看到线路上的信号的变化情况。
甚至比实际的示波器具有更多的功能。
同时,这些仪器还能提供参数的一个理想状态下的指标,这样我们在使用这款软件时,会更加的便捷。
Protues也可以在电路上使用模拟信号和数字信号进行测试。
Protues除了强大的功能外,还因其能直观的看见模拟的实物运行的过程和结果,所以不管是在生产应用还是在教学工作中,Protues这款软件使用的情况相当的广泛。
并且,这款软件也为使用者们提供了一个十分便利的平台。
这让我们在学习的过程中,能够更好地去实践,去创造。
在本次设计中,我们便采用了Protues软件对时钟系统进行了仿真。
在使用过程中,操作简单易学。
而且电路中所需要的元器件在软件的元件库中都能顺利找到。
这款软件对我们的原理图的正确性,合理性都进行了检验。
导入之前通过Keil编译后的程序,再利用仿真的实验仪器对时间和日历显示,LED闪烁,以与蜂鸣器的整点报时进行了测试。
有了这款软件,对元器件的采购又有了新的选择。
5.1.2Keil软件介绍
Keil是由美国一家公司研发的MCU软件开发系统。
Keil现在是一款主流的集成开发调试工具,它的库函数十分的丰富,功能也很强大。
它主要的功能还是我们输入的源程序代码变成机器能够识别的机器码。
Keil利用uVision将C编译器,库管理,宏汇编和仿真调试器组合的一个完整的开发方案。
我们此次设计使用Keil软件是在WindowsXP的环境下运行的。