版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的电子万年历的设计摘要:本文的初衷是想做一个多功能的家用产品,旨在研究不同的小型家电实现多种并列功能的可行性。虽然设计的只是电子万年历,但是展示了各种附加功能与主要功能的并行使用,这种多功能产品的出现对现代智能产品来说意义非凡,为其指名了一条崭新的发展方向。本文是以AT89S52单片机为核心,辅以DS1302时钟芯片作为时钟电路,使用LCD12864作为显示器,在完备功能电子万年历的基础上,并附加阴历转换功能,温湿度模块,感光模块和闹钟模块。在本文的编写过程中,我分析了各种模块方案的优劣,了解了各种元器件的参数及其使用方法,并理解了各个程序中代码与实际模块工作过程的联系。最终,我做出了成品并实现了设计的各种功能,它可以显示时间,日期,温度,湿度和光照强度,拥有闹钟功能,可以对日期和时间进行设置,并且农历日期可以自动调整。关键词:多功能;电子万年历;时钟;阴历转换功能目录1绪论 11.1课题研究的意义 11.2国内外研究现状和水平 21.3课题的基本内容 22系统方案选择 32.1单片机芯片的选择 42.2按键控制模块方案的选择 42.3时钟模块方案的选择 42.4温湿度采集模块方案的选择 52.5感光模块方案的选择 52.6显示模块方案的选择 53系统硬件的设计 63.1AT89S52单片机接口设计 63.2时钟芯片DS1302接口设计 93.3DHT11传感器模块设计 113.4显示模块 133.5感光模块设计 143.6按键模块设计 143.7复位电路的设计 153.8总体电路设计 164系统的软件设计 184.1系统程序的设计 184.2时钟程序的设计 194.3显示子程序的设计 194.4开关控制子程序的设计 204.5定时闹铃子程序的设计 214.6时间日期修改子程序的设计 224.7农历自动更新子程序的设计 235设计的功能测试与展示 245.1显示功能 245.2时间日期调节功能 265.3闹钟功能 285.4复位功能 28结论 29参考文献 31第1页共31页1绪论1.1课题研究的意义当今社会已经行走在信息多元化和技术多样化的路途上,而我们不断创新的单片机在这条高速进步和发展的大路上持续发光发热,随着科技的日新月异,微型计算机的应用已经在我们生活当中的各种领域大放光彩,无论在哪个领域没,都有使用单片机的蛛丝马迹。货轮的导航系统,精密器械上仪表的控制,计算机的通信技术与数据传输,汽车的报警系统,手机、电视机、遥控器等等,这些都离不开单片机。古有地漏更鼓计时,如今,机械钟走入了我们的视野,从电子表到目前的数字电路时钟,科技进步的浪潮不可阻挡,人类乘上这波涛汹涌的浪潮,迎来了一次又一次的技术革命。在这个进程中,数字化已然成为新一代科研产品的必然趋势,与模拟信号相比,数字信号有不可言喻的优点。在万物皆数字化过程中,时钟在其中促使计时器的精度和准确度发展到了史无前例的高度,现在数字时钟年误差仅在0.5ms左右。数字时钟的外观制作技术也趋向成熟,通过使用最小的体积,最简约而又符合人们审美的外观,实现最强大的功能。随着科技的进步,时钟也被赋予了新的内容和含义。数字时钟是以数字电路为原理构建相关功能,综合了模拟电路和电路基础设计出来的一种对时间进行显示的时钟。该时钟设计结构简单,系统稳定性强,以各种不同的计数器为小型单元。给人们的生活带来了翻天覆地的大变化,如手机中的时间显示,跑1000m时的读秒计时器,微波炉的定时工作模式,相机的延时拍摄模式,热水器的热量补偿功能,家用的水表电表仪器,工厂的配电箱上的表盘等等。这些生活中的例子无一不证明数字钟表比老式钟表更常见地融入了我们的生活工作中,不但提升了工作效率,改善了生活质量,还极大的扩展了钟表原有的基础功能。由于当下环境对信息交换的需求与日俱增以及高新技术的飞速迅猛发展,促使at系列万年历的产品发展十分迅速,早期就投入市场并得到了大规模的推广和应用。该设计通过单片机作为主控,用时钟芯片进行时间实时输出,外带温湿度检测和光强检测功能,最后使用液晶显示器显示各模块运行结果。电子万年历可应用于家庭,也可应用于政局、邮政、酒店、学校、大型企业、大工厂等场所的大厅,以及单位的办公室、保卫科等地点。
1.2国内外研究现状和水平随着世界各国经济的势如破竹的发展和信息化新时代的降临,目不暇接的高新技术产品在我们的生活中崭露头角。我设计的电子万年历就属其中。而处于如今当下社会,大部分人家仍然用的是旧式历本,这不但造成大量浪费,还经常疏于更换,给人们的生活带来不便;由于数字电子万年历并没有普及,它的许多技术还没有成熟,许多旁系的功能没有开发出来,可以看出电子万年历依旧有广泛的开发前景与商业价值。就目前国内外已存在的电子时钟研究而言,本设计无疑开辟了一条新的道路。国内外的成果有使用VHDL语言编写模块程序的单片机及其时钟程序;也有用汇编语言编程的数码管显示万年历。为了满足人们日用的需求,设计出更加多元化的程序和功能,相关工作者一直在为此不断进步,不断刷新人们对时钟二字的认知。相比于国外单片机水平,中国单片机技术还在发展中,很多技术的发展相较于发达国家都比较落后,因此,看清行业的国际发展状况,研究国际市场的成熟技术与经验,对于国产企业中的大部分来说,都具有重要的意义和价值。1.3课题的基本内容此课题是在对时钟芯片和8952系列单片机认知的基础上,对单片机系统功能的使用与调试,对1302时钟芯片内部时钟信息的读取与应用。在此基础上还有通过按键对单片机实现操作功能。在条件允许的情况下,尽可能增添附加模块给该设计增加多余功能。基本如下:◎日期的年月日星期和时间的时分秒的显示;◎对以上显示内容的调整;◎用时分信息进行闹钟设定;◎农历的月份和日期显示;◎不同月份、闰年时的每月最大日期调整。后期制作时发现,所附加的功能有温度、湿度和光照强度显示。温度和湿度使用一个温湿度传感器,它将温湿度信息传给主控芯片,光照强度用光敏电阻和AD转换芯片组合而成的感光模块实现功能。
2系统方案选择系统的方案选择应该要尽可能的满足更多的条件,尽可能多的实现预设计的功能,并且因地制宜,要将工作环境也一并考虑进去。电路构成要简洁明了、更改方便,元器件的应当尽量选取更合适的模块参数、更加稳定的系统、更加高的能量利用率以及可以接受的制作成本。该设计最终成品使用单片机AT89S52的三个串行接口接直流LED液晶显示器;使用小电池座作为供电设备对微型计算机提供供电支持;时间芯片DS1302外接蜂鸣器,对单片机提供时间信息与设定闹铃信息;AD采集芯片ADC0832接光敏电阻并将得到的信息传输给单片机芯片,DHT11将温湿度信息传输给该单片机芯片;通过对这些模块具体操作,从而达成了我设计中预实现的各种功能。依照我想要实现的功能,选择相应的模块,并思考每一种模块的最优选择方案,该次设计预实现的功能由电源、温湿度、感光、操作、时钟、显示和闹钟模块来完成,该设计的总设计模块框图如图2.1所示。图2.1总设计模块框图
2.1单片机芯片的选择方案一:以传统的AT89C51芯片为核心搭建设计框架,该芯片具有4KB的内部数据存储空间,可在低电压下(3V)运行、同时具有高性能的微处理器,但是不能使用ISP(在线编程)技术,需要拔出该单片机并进行程序的修改,在单片机芯片的重复使用过程中会损耗芯片。方案二:使用AT89S52芯片为核心搭建设计框架,该芯片基本具有C51的所有优点,并且同样能在低电压(3V)下工作,在需要进行相关调试时,可直接用ISP在线修改程序,不需要对芯片进行多余操作因此不会对芯片耗损。因为8952单片机相较于8951来说,它的存储芯片多出4KB内存,并且可以通过ISP对事先设定的各种程序进行在线修改,所以使用8952单片机作为核心组件。2.2按键控制模块方案的选择方案一:矩阵键盘,该键盘的可取之处是可以将大部分的数值直接进行输入,但在实际上的操作中单片机需要重复不断地对该键盘的自设电路进行扫描,电路设计极其繁琐。方案二:选择多个单控按键,优点是检查方式比较简单,程序编写和电路设计简洁明了,可以尽量降低对单片机的负担。因为最后发现本设计只需要用到5个按键,为了释放更多的CPU空间占用,同时操作便捷、电路简洁明了,所以选用独立按键对单片机进行操作。2.3时钟模块方案的选择方案一:使用定时计数器的自动计数功能来发出秒信号,依照已设定的内部程序依次实现年、月、日、时、分、秒这种方式的计数。本方案比较节约资金。但在实际上,测试出的结果存在不小的误差。方案二:选择DS1302时钟芯片,通过它内部的时钟振荡来模拟时钟的正常运行,此芯片耗能低、运行速度快,而且可直接与单片机进行信息交换,通过单片机的反馈它就可以实现自设闹铃,从而完成相应功能。它还可以自行实现年、月、日、时、分、秒的时间记录,并且它能够根据不同月份、是否闰年检索该月最大日期,精度较高。因为DS1302时钟芯片的读秒更为精确,同时具有本月最大日期检索,而且价格相对亲民,所以选择前者在本模块中进行应用。
2.4温湿度采集模块方案的选择方案一:工业级温湿度传感器,采集对应信号后,通过复杂的内带A/D转换电路得到数字信号,具有精度较准的优点,但是所用经费相对偏高,电路不太好实现。方案二:数字式温湿度传感器(DHT11),通过简易的程序设计来实现数字的直接读出,该模块可以将被测温湿度直接读取并传输给单片机,缺点是准确度相对较低,根据不同环境可能会存在2度的温度出入。因为用方案二的电路容易实现和进行调整,并且所选取元器件价格亲民,还可以可让单片机开销降低,所以选用该传感器来实现我所需功能。2.5感光模块方案的选择方案一:直接使用数字光强度光照传感器,将该传感器所提取光强信息直接传输给单片机,具有精度高,电路连接简单的优点,但是使用成本较高,对电路电压有一定要求。方案二:使用光敏电阻和ad芯片组合电路,将电信号传输给ADC0832芯片处理,再将结果光照信息反馈给单片机,以实现设计功能。相对来说价格更为实惠,电路要求更能符合本设计。因为方案二的组合电路的电路要求更贴合本设计,并且使用价格亲民,所以选择该组合电路来实现本模块功能。2.6显示模块方案的选择方案一:数码管作为显示器,通过单片机I/O端口驱动不同码段,点亮不同码段从而形成所需的各种数字。具有坚固耐用、花费成本低、使用寿命长和颜色丰富的优点;但是显示内容比较单一,如果要显示汉字会大大增加电路的复杂程度。方案二:液晶屏作为显示器,利用液晶分子的旋光效应实现显示功能。优点是显示内容极为丰富,无论是汉字还是符号都能较为简单的显示出来,而且屏幕上所能展示的信息也比数码管多。因为液晶屏显示内容更丰富,电路连接起来简单,结合我所设计的需求需要展示较多功能。因此选用液晶屏作为显示器。
3系统硬件的设计在以上模块方案的选择后,根据方案的对应特点,考虑到电路的合理性和可行性,对需要的各个模块进行详细设计,不同模块所使用的主要元件如图3.1系统具体设计所示。小电池座DS1302AT89S52小电池座DS1302AT89S52单片机DHT11DHT11LCD12864LCD12864ADC0832ADC0832独立按键蜂鸣器独立按键蜂鸣器图3.1系统具体设计3.1AT89S52单片机接口设计3.1.1AT89S52主要功能列举◎有灵活的8位CPU和可以在系统在线编程的Flash◎芯片内含高频(12MHz)时钟振荡器◎内部程序存储器为8KB◎内部数据存储器为256字节◎拥有32个可编程I/O口线◎有8个中断向量源◎拥有三个16位定时器/计数器◎内含三级加密程序存储器◎使用全双工通信方式◎内含UART串行通道3.1.2AT89S52单片机各引脚功能介绍如图3.2AT89S52单片机引脚图所示。它显示了40个8952的引脚信息,下面进行功能介绍。图3.2AT89S52引脚图
Vcc:作为AT89S52高电位输入端,接+5V工作电源。
Vss:作为AT89S52低电位输出端,进行接地。XTAL1:系统时钟的反相放大器输入端。XTAL2:反相放大的输出端,输入到内部时钟发生器。有时在两个端口与接地端之间放置一个20PF的固定电容,使得电路更加稳定,避免因为不同干扰而停止单片机运行。
3.1.2AT89S52单片机原理图 经过对本单片机的一系列了解,根据引脚的不同功能特性,决定该单片机的引脚使用。再结合我所需要的模块功能,设计最终决定如图3.3单片机主控电路原理图所示,图3.3单片机主控电路原理图此芯片的XTAL1,XTAL2两个引脚功能特殊,它们被当做外部的振荡源给晶片内的单片机时钟电路充当信号源。AT89S52有两种时钟电路可供选择,一种是提供外部时钟信号,另一种是利用内部时钟,本设计使用的是内部时钟作为本电路设计单片机时钟信号。图3.4内部时钟电路当作为内部时钟使用时,XTAL两引脚外接一个石英晶体和两个微调电容,其电路设计如图3.4内部时钟电路所示。该单片机的XTAL1和XTAL2两个引脚内部有一片内振荡器结构,但仍需在XTAL1和XTAL2引脚电路之间连接一个晶振(石英晶体)才能组成内部时钟电路,大多数时候会在引脚电路上增加一个20PF的电容,用来增加系统的稳定性。3.2时钟芯片DS1302接口设计3.2.1DS1302基本介绍DS1302是一款性能高、耗能低、拥有片内RAM的涓流时钟芯片,用时电压宽达2.55.5V。它可以为本模块提供最重要的时间日期的数据信息,不同月份和特殊情况下(闰月)的最大天数可以自行调整。它内部有自动走时电路,可以自行模拟时钟走时。还有一个31×8的用于临时存储数据的寄存器,可以让用户自行查询。该芯片小时制可以通过AM/PM来决定是采用24H还是12H的时值。该芯片的工作电流小,在他两端的电压为2.0V时,系统内部电流小于300mA。时钟内部数据的读/写有两种方式(单/多字节传送)。工作电压为5V。它对温度的要求低,在正常气压下,工业使用的温度范围低至零下40°C,高至85°C。同时可以涓流充电,涓流芯片因此得名。如图3.5所示为1302芯片的引脚。1302芯片引脚说明:有着两个高电平输入(内部备用电源和外部主电源),5、6、7引脚充当SPI总线VCC1端口慢速充电引脚VCC2端口电源引脚SCLK端口串行时钟端口8引脚X12端口32.768kHz晶振引脚8PINDIPGND端口地线RST端口复位端I/O端口数据输入/输出端口图3.51302芯片的引脚3.2.2DS1302电路原理图(1)时钟芯片DS1302的电路原理图:图3.6电路原理图上图3.6为本模块的电路原理图,DS1302使用3根数据线与单片机进行信息交换,X1,X2接一个晶振作为脉冲源,VCC1和VCC2分别接备用电池和主电源。如下图3.7为时钟芯片典型工作电路。DS1302有两个高电位输入,一个来备用电池,另一个来自主控单片机主电源。X1和X2之间接一个晶体振荡器用于生成所需频率。与单片机的接口部分,DS1302的复位引脚和串行时钟引脚与微控制器连接。图3.7时钟芯片典型工作电路(2)数据的输入与输出(I/O)在控制指令字输入后的下一个时钟脉冲开始时,将数据写入1302芯片,数据输入从低位即0开始。在8位控制指令字命令之后,下一个脉冲的结束时将1302的数据读出,将这些得到的数据从低到高,0位到7位依次读出,读/写时序图如下图3.8所示。图3.8读/写时序图3.3DHT11传感器模块设计3.3.1DHT11传感器简介DHT11传感器实物图如下3.9所示:图3.9DHT11传感器实物图(1)引脚介绍:Pin1端口,接高电平,工作电压在3-5.5V。Pin2端口,串行数据传输,单总线传输。Pin3端口,置空。Pin4端口,接地,作电源负极。(2)接口说明:当接线长度较短(20m以下)时,可以接一个5KΩ的电阻;当连接线较长(20m以上)时,按照需求的不同,使用不同型号的电阻。下图3.10为DHT11典型应用电路。VDD通常接5V电源,T为常温25℃。图3.10DHT11典型应用电路3.3.2DHT11传感器模块电路设计在此对该传感器连接主控单片机的电路进行介绍,8952系列单片机的P3.1口可以用来接收/发送数据,因此用来连接传感器的DOUT(单总线,串行数据)口进行数据交换。传感器的电源端VCC接该单片机的VDD端,共用一个电源,接地端GND接该单片机的GND端,传感器的NC引脚保持不动,置空。传感器电路图如下图3.11所示:图3.11传感器电路图
3.4显示模块3.4.1LCD12864的特性及使用说明(1)LCD12864的接口说明如表3-1:表3-1LCM12864的接口说明序号符号功能说明序号符号功能说明1VSS接地9D2传输数据2VDD高电平输入接VCC10D3传输数据3VO偏压信号(灰度调节)11D4传输数据4RS数据/命令选择端(H/L)12D5传输数据5R/W读/写选择端(H/L)13D6传输数据6E14D7传输数据7D0传输数据15BLA背光正极8D1传输数据16BLK背光负极(2)基本操作时序如下:读:RS接低电平输入,RW接高电平输入,E接高电平输入写:RS接低电平输入,RW接低电平输入,D0-D7输入指令代码,E接高电平输入读DATA:RS接高电平输入,RW接高电平输入,E接高电平输入写DATA:RS接高电平输入,RW接低电平输入,D0-D7输入数据,E接高电平输入3.4.2LCD12864的电路设计该液晶显示器的DB0~DB7这8个数据接口分别接MCU的的P0.0-P0.7口;分别接P2.5-P2.7端口;该显示器的VO引脚接VCC和一个滑动变阻器用来调节显示屏的灰度功能;BLK、BLA为背光灯的接地端和接电源正极端,在BLA管脚上接VCC(同VDD)就可以将背光灯开启。显示模块电路如图3.12所示。图3.12显示模块电路3.5感光模块设计本系统使用的感光系统是由一个光敏电阻和一个AD采集芯片组合而成。其中光敏电阻一端接adc0832的CH0引脚,并在它与接地端间借一个2K欧姆的电阻。Ad采集芯片的CLK引脚接单片机P2.0,5号引脚和6号引脚一起接单片机P2.1,该芯片1号引脚接单片机P2.2,如图3.13感光模块电路图所示。图3.13感光模块电路图3.6按键模块设计本系统总共使用5个功能按键,分别是1个复位键和4个独立按键,这种按键模块设计编程内容简洁明了,程序运行十分容易,可以大量减少对单片机处理器的占用。4个独立按键一端为接地端,另一端与MCU的P3.3、P3.4、P3.5、P3.6口一一对应。如下图3.14所示为按键电路图。图3.14按键电路图对这4个按键进行一定程度上的说明:S4为功能键,S3为加键,S2为减键,S5为退出键。功能键:按下功能键切换系统工作模式,将显示器主面板切换为设置面板,按一次进入年调整,按两次月调整,依此类推,可进行各年、月、日、时、分、秒、星期的调整;加键:按下功能键后,显示器显示设置面板,此时按下加功能键对光标选定项执行加1操作;减键:按下功能键后,显示器显示设置面板,此时按下减功能键对光标选定项执行减1操作;退出键:按下退出键后,显示器从设置面板返回主面板。3.7复位电路的设计常用的复位操作有两种:分别是上电复位和手动复位。本设计使用的是上电复位操作,如图3.15所示为复位电路。通电一段时间后,电容进入饱和状态,RST引脚可以短暂作为电源使用。即使单片机已经启动并运行相关程序,按下复位键也能使RST工作,从而实现电路复位的功能。图3.15复位电路
3.8总体电路设计本设计电路模块包括了显示功能、温湿度检测、感光功能、闹钟功能、时钟功能和调节设置功能一共七个模块。显示部分所使用的是LCD(12864),该元件使用起来电路简单、其显示内容多样。温湿度模块所使用的是DHT11。感光模块所使用的是光敏电阻和ad采集芯片的复合电路,光敏电阻提取光照信息,ad采集芯片使该信息转换为单片机可识别内容。时钟模块所使用的是1302时钟芯片;闹钟模块使用的是常见蜂鸣器电路。设定模块有四个按键:控制键、退出键、加键、减键,通过这四个按键可以实现对万年历的一系列操作。在正常工作状态下,LCD显示内容一共有四行,液晶显示器上第1行显示的内容是温度和湿度,第2行显示的内容为阳历的年、月、日,第3行显示的内容为农历和星期,第4行显示的内容为时间的时、分、秒和光照强度。若是想要将时间和日期等信息自定义,可以通过按键模块的调节设置功能来实现。当按下功能键(S2)时,系统将切换工作模式,LCD显示内容从主面板切换到设置面板。此时液晶器显示当前时间日期和闹钟功能,通过再次按下S2(功能键)可以切换所调节单位,按下S3/S4(加/减键)可以调节时间日期。如果要使用闹钟功能,多次按下S2将光标调至闹钟开关,按下S3/S4(加/减键)可以切换闹钟开关模式,按下S2(功能键)切换到闹钟时间设定,按下S3/S4(加/减键)可以设定闹铃时间。设定完成后,按下S5(退出键)可让液晶显示器内容从设置面板返回主面板。在确定各模块设计后,通过参考各种文献,对相应模块电路的学习比对后,最终设计出总电路图,系统总设计图如图3.16所示。图3.16系统总设计电路图4系统的软件设计4.1系统程序的设计总体程序流程图如图4.1所示,系统启动后,不同模块各自进行初始化,该步骤完成后,蜂鸣器响起一次,表示系统开机,先读取已保存的时间和日期,再用温湿度模块和感光模块进行相关信息的采集,将上述这些信息读取并写入显示模块的LCD液晶显示器,开始执行显示子程序;并依此执行开关控制、闹铃、时间日期修改、农历自动更新和闰月补偿这五个子程序。各子程序执行完成后,同时在液晶显示器上显示各内容。图4.1总体程序流程图
4.2时钟程序的设计如图4.2所示为时钟程序流程图。系统通电启动后,芯片初始化完成后,等待单片机提供初始时间设置命令。收到命令后,该芯片根据内部存储的时间信息执行时间数据的写操作,并依照新时间开始走时;同时将即时时间数据传输给单片机以便单片机后续执行显示时间程序。待收到时间、日期调整命令后,重新执行时间数据的写操作,写入新的时间和日期数据,并依照之前步骤持续工作下去。通过1302芯片的这种循环工作,实现本设计的实时时钟功能。图4.2时钟程序流程图4.3显示子程序的设计显示程序是LCD12864芯片自带的一个程序,并且该芯片不是本次设计的主要研究对象,因此这里只做简单介绍。该芯片的显示程序流程图如图4.3所示。显示模块初始化后,分别对左屏和右屏进行设置。首先是起始页设置,设置了起始页的各种参数,即构建了液晶显示器所显示的主面板环境;之后进行显示汉字的设定,取得需要汉字的码值,并保存在芯片内部;最后运行调用汉字子程序,计算出所需汉字码值的初始地址并写入LCD12864,再通过12864芯片自带的调用写入数据子程序将指定汉字显示在显示器对应位置上,从而实现显示功能。图4.3显示程序流程图4.4开关控制子程序的设计开关控制子程序流程图如图4.4所示。系统初始化后,检查控制按键是否按下,若测到该开关按下,则显示器当前显示面板从主面板切换到设置面板;若没检测到按键按下,则继续显示主面板。同样,在显示器内容切换到设置面板后,继续检查控制按键是否按下,若测到该开关按下,则显示器当前显示面板从设置面板切换到主面板;若没检测到按键按下,则继续显示设置面板。图4.4开关控制子程序流程图4.5定时闹铃子程序的设计图4.5定时闹铃程序流程图定时闹铃程序流程图如上图4.5所示。系统先检测液晶显示器面板显示内容是否为主面板,检测结果为是时,再检测闹钟功能是否开启,检测结果为是时,最后在实际时、分信息与闹钟设定时、分信息相等且实际秒信息显示为0时,将蜂鸣器标志位置1。8952单片机内部程序检测蜂鸣器标志位信息,当检测到标志位为1时,蜂鸣器长鸣,此时按任意键可将标志位再次置0,结束蜂鸣器长鸣。当上述检测显示器面板内容是否为主面板和检测闹钟功能是否开启时检测结果为否时,结束定时闹铃程序。
4.6时间日期修改子程序的设计如图4.6所示为时间日期修改程序单元流程图。系统启动后,按下控制键,先进入年调节程序,即进入下图所示单元。此时如果按下加/减键,即执行年调整程序并使其加/减一;如果按下退出键,即返回主面板,单片机执行主程序;如果再次按下功能键,即切换时间日期修改程序单元,此时切换到月调整程序,再次完成下一个完整的程序单元。后续程序单元切换以此类推,顺序是年、月、日、时、分、秒、星期、闹钟开关、闹钟设定时、闹钟设定分,到闹钟设定分调整程序时按下功能键,时间日期修改程序单元切换回年调整程序,以此构成了一个循环。若要退出这个循环(时间日期修改程序),可以使用退出键或者复位键,此时时间日期修改程序设置的时钟信息写入单片机片内RAM。退出时间调整程序后,系统再次执行主程序,从上述RAM中读取时钟信息,以达到更改时间日期的目的。图4.6时间日期修改程序单元流程图
4.7农历自动更新子程序的设计如图4.7所示为农历自动更新程序流程图。启动该子程序后,首先根据内存中公历年份信息,算出存放数据的实际地址,通过计算即时日期和春节到元旦的天数差值,从而计算出即时日期到春节一共差几天,并判断出此公历日是否位于春节之后。在此进入两个农历算法,通过这个算法的循环计算,在结束算法循环后,可以通过计算得到农历的年、月、日的数值。把这些数值提供给LCD显示模块,以实现农历的自动更新功能。图4.7农历自动更新程序流程图由于液晶显示器显示范围有限,考虑到在有限范围内尽可能显示更多有效内容,本设计只取农历的月和日的数值进行显示。
5设计的功能测试与展示在完成本设计的全部硬件设计和软件设计后,按照设计需求,购买对应元器件并焊接成成品,接下来开始进行功能测试,检测各个功能是否能按照设计正常运行。5.1显示功能将所得元器件组装并焊接好后,给单片机的主电源进行供电(备用电源已经装上),将电源线另一端的USB接口接到+5V电源上,并按下电源控制开关,LCD显示器亮起,伴随蜂鸣器“嘀”一声响起,开机完成,LCD显示器所显示内容如图5.1主面板内容展示所示。图5.1主面板内容展示可以看出,LCD液晶显示器上的信息有温度、湿度、阳历日期、阴历日期、星期、时分秒、光强。与设计预期相符,对应功能都能正常运行。5.1.1温湿度显示功能系统开机后,开始检测温湿度显示功能,由图5.1可看出环境温度为29℃,环境湿度为58%。由于本系统采用的是DHT11来读取环境温湿度,我们用手捏住DHT11两端,并持续五分钟。如图5.2温湿度功能测试所示。图5.2温湿度模块功能测试 五分钟后,发现环境温度上升到了34℃,环境湿度上升到了62%,在此期间,温度持续缓缓上升,最终在34℃保持不变,湿度在开始一分钟上升迅速,升到了70%左右,随后又缓缓降至62%,总体来说湿度还是上升的。由此可见,温湿度显示功能工作正常。5.1.2感光显示功能系统开机后,开始检测感光模块显示功能,由图5.1可看出环境光强为75,本系统感光模块的工作原理是使用光敏电阻采集光强信息,交给AD采集芯片测得实际光照强度。因此用手指轻按住光敏电阻感光端,如图5.3为感光模块功能测试。图5.3感光模块功能测试按住光敏电阻后,光刺激减弱,光敏电阻所传递的光照信息发生变化,LCD液晶显示器所示光强迅速降低至30,反应灵敏,由此可见感光模块及其显示功能工作正常。5.2时间日期调节功能显示功能测试完成后,接下来进行时间日期调整功能进行测试。将成品开机后,通过控制键进入设置面板,如图5.4设置面板切换所示。再次使用控制键可以切换调整单位,使用加/减按键可以对年、月、日、时、分、秒和星期进行设置。如图5.5时间日期设置所示。图5.4设置面板切换图5.5时间日期设置设置完成后,按退出键返回主面板,如图5.6返回主面板所示。发现主面板所显示信息已经随图5.5设置信息而对应改变,并且农历日期随着阳历日期的改变而自动修改。这些主面板信息写入AT89S52单片机的片内RAM,在再次开机或者复位后,显示信息从本次保存信息的地址处读出。图5.6返回主面板将成品开机后,通过控制键进入调节面板,使用加/减按键对年月日进行调节,将日期调到能显示的最大日期和最小日期,在此过程中,农历日期随着阳历日期变化而自动调节,由此检测出DS1302的阴历补偿功能运作正常。如图5.7所示为本设计万年历可显示最小日期,如图5.8所示为万年历可显示最大日期。发现该系统只能显示从2000年开始的100年内的日期,这是因为DS1302芯片只能输出2000年到2099年的时间,因此本万年历的显示时间范围只有100年。图5.7万年历可显示最小日期图5.8万年历可显示最大日期
5.3闹钟功能将成品开机后,通过控制键进入调节面板,再次使用控制键切换到闹钟设置,通过使用加/减键,将闹钟启动并设置一个需要的闹铃时间。如图5.9闹钟设定功能所示。设置完成后按返回键返回主面板,等到主面板显示时、分信息达到设定值,蜂鸣器开始持续性工作,此时按任意键停止蜂鸣器报警。由此测试出闹钟模块功能正常运行。图5.9闹钟设定功能5.4复位功能无论是主面板还是设置面板,按下复位键,LCD液晶显示器迅速闪烁一下,单片机复位并重新读取各模块信息,重新进入主面板显示界面。如图5.10复位功能展示所示,由此可见复位电路功能工作正常。图5.10复位功能展示
结论在本文的编写过程中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公室员工培训效果反馈流程制度
- 银行第二存款人制度
- 2026年及未来5年市场数据中国时尚培训行业市场深度研究及投资战略规划报告
- 配备足量的清洁工具(扫帚、拖把、清洁剂等)并建立工具领用登记制度
- 通信档案三合一制度
- 综合资质考试题目及答案
- 运输车队司机奖罚制度
- 人体胚胎发育:哲学课件
- 前端页面布局设计技巧及案例展示
- 财务支出制度
- 《四川省历史建筑修缮技术标准》
- 初中语文词性题目及答案
- 医院电梯设备安全培训课件
- 排水系统运维人员培训方案
- 2023-2024学年五年级数学上册-第三单元《小数除法列竖式计算》典型例题练习(含答案)
- 固废和危废管理培训知识课件
- (2025年标准)sm调教协议书
- 苏教版(2025)八年级上册生物期末复习全册知识点提纲(抢先版)
- 2025年应急局在线考试题库
- 交换气球数学题目及答案
- 宾馆房间卧具管理办法
评论
0/150
提交评论