基于DS12C887的实时时钟日历设计课程设计(论文).doc

上传人:laozhun 文档编号:3938356 上传时间:2023-03-28 格式:DOC 页数:41 大小:5.71MB
返回 下载 相关 举报
基于DS12C887的实时时钟日历设计课程设计(论文).doc_第1页
第1页 / 共41页
基于DS12C887的实时时钟日历设计课程设计(论文).doc_第2页
第2页 / 共41页
基于DS12C887的实时时钟日历设计课程设计(论文).doc_第3页
第3页 / 共41页
基于DS12C887的实时时钟日历设计课程设计(论文).doc_第4页
第4页 / 共41页
基于DS12C887的实时时钟日历设计课程设计(论文).doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于DS12C887的实时时钟日历设计课程设计(论文).doc》由会员分享,可在线阅读,更多相关《基于DS12C887的实时时钟日历设计课程设计(论文).doc(41页珍藏版)》请在三一办公上搜索。

1、编号: 课程设计(论文)说明书题 目:基于DS12C887实时日历时钟设计 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 魏文彬 学 号: 1200220227 指导教师: 王健 职 称: 副教授 2014 年 12 月 24 日摘 要本文设计的电子万年历属于小型实用的家用电子产品。利用单片机进行控制,实时时钟芯片DS12C887时钟芯片进行记时及掉电存储,外加红外遥控、Nokia5110液晶显示、DHT11温湿度传感器和蜂鸣器,可实现时间的调整、显示以及温湿度显示。电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会

2、议室、门卫等场所。因而,此设计具有相当重要的现实意义和实用价值。关键词:单片机;DS12C887;Nokia5110液晶;DHT11温湿度传感器AbstractThis design of electronic calendar is a small and practical home electronics products. The use of single-chip control, real-time clock chip DS12C887 clock and power-down timer chip storage, plus an infrared remote contro

3、l, Nokia5110 LCD, DHT11 temperature and humidity sensors and buzzer, enabling adjustment of time, temperature and humidity display and display. Widely used in household electronic calendar can also be used in banking, telecommunications, hotels, hospitals, schools, businesses, shops and other relate

4、d industries hall, meeting rooms and units, guard and other places. Therefore, this design has a very important practical significance and practical value.Key words: Microcontroller; DS12C887;Nokia5110 LCD; DHT11目 录引 言11 系统总体设计21.1 系统设计的主要内容和具体要求21.2 方案论证32 系统硬件电路设计42.1 单片机控制电路42.2 DS12C887时钟电路72.3

5、Nokia5110液晶显示屏92.4 LM7805CV供电电路102.5 红外遥控器电路112.6 闹铃电路122.7 温湿度传感器DHT11电路123 系统软件程序设计133.1 主程序运行说明及流程图143.2 DS12C887使用说明及流程图153.3 Nokia5110液晶操作说明及流程图153.4 红外遥控器控制说明163.5 DHT11温湿度传感器说明164 系统调试165 结论17谢 辞18参考文献19附录A:实时日历电子钟设计电路原理图20附录B:实时日历电子钟实物图21附录C:主程序清单24 引言数字时钟具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于

6、家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子时钟、数字闹钟等等。单片机在多功能高精度时钟中的应用已是非常普遍的,人们对高精度钟的功能及工作顺序都非常熟悉,但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过红外遥控器可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和

7、数码管显示技术。本文提出了一种基于STC89C52RC单片机的时钟设计方案,本方案以STC89C52RC单片机作为主控核心,与时钟芯片DS12C887、红外遥控器、Nokis5110液晶显示、DHT11温湿度传感器等模块组成硬件系统。在硬件系统中设有遥控和LCD显示器,根据使用者的需要可以随时对时间进行校准与设定等操作,综上所述此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1 系统总体设计图1-1 系统总体设计1.1 系统设计的主要内容和具体要求1.1.1主要内容:本次设计的题目是基于DS12C887的高精度时钟的设计

8、,同时也使用了温湿度传感器DHT11,可以正常的显示年、月、日、时、分、秒以及温湿度。本系统利用单片机实现具有计时、校时、显示温湿度等功能的数字时钟,是以单片机STC89C52为核心元件,同时采用Nokia5110液晶显示屏动态显示“时”、“分”、“秒”以及“温湿度”的现代计时装置。与传统机械表相比,它具有走时精确、显示直观、能显示周围环境的温湿度等特点。另外具有校时功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。本次设计可分为两部分:硬件部分、软件部分。硬件部分包括:STC89C52单片机、DS12C887时钟芯片、Nokia5110液晶显示器、红外遥控器、蜂鸣器、温湿度传

9、感器DHT11。主要由STC89C52单片机、实时时钟芯片电路、液晶显示输出电路、红外遥控器控制电路、DHT11温湿度传感器电路、蜂鸣器电路等几大部分组成。具体说来,系统智能控制部分由单片机及其相关的外围电路组成,外围电路包括复位电路、晶振电路、键盘设计、闹铃电路及电源电路。利用单片机将复位电路、动态显示电路、电源电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。软件部分主要包括了主程序模块、DS12C887模块、Nokia5110液晶模块、红外遥控器控制模块、DHT11温湿度模块、蜂鸣器模块。1.1.2 具体技术要求:(1)在Nokia5110液晶上显示年、月、日、星期、

10、时、分、秒以及温湿度,并且按秒实时更新显示。(2)具有闹铃设定及到时报警功能,报警响起时按任意键可取消报警。(3)能够通过红外遥控器随时调节各个参数。(4)每次有键按下时,蜂鸣器都以短“滴”声报警。(5)利用DS12C887自身掉电可继续走时的特性,设计实现断电时间不停、再次上电时间仍然准确显示在液晶上的功能。1.2 方案论证时钟电路有各种各样的,在不同的要求和条件下有着各自的优势,本设计的题目是高精度时钟的设计,根据设计要求时钟显示正常的年、月、日、星期、时、分、秒。要想实现上述功能,所以设计要从电路设计的性价比、显示时间的精确以及稳定性为前提。本设计是要将硬件系统和软件系统有机的结合在一起

11、,方可实现我们设计任务中的各项要求。1.2.1 方案1基于STC89C52单片机的电子万年历设计不使用时钟芯片,而直接用STC89C52单片机来实现电子万年历设计。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。这样就实现了直接用单片机来实现电子万

12、年历设计。用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机的资源。但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。1.2.2 方案2基于DS12C887的电子万年历设计在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。过去多用并行接口的时钟芯片,如MC146818,DS12887等。它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用空间多、近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时时钟芯片也出现了不

13、少,DS12C887是一个综合性能较好且价格便宜的并行接口实时时钟芯片。利用单片机进行控制,采用DS12C887作为实时时钟芯片,并与单片机进行同步通信,外加显示电路、红外遥控电路、闹铃电路、温湿度传感器电路,即构成一个基本的电子万年历系统。若还要添加其他功能,在这基础上外扩电路即可。由于在系统设计时,需要考虑以下几点因素:功耗低、精确度高、软件编程较简单,芯片的体积小、芯片成本低等,而DS12C887芯片有上面所述的诸多优点,所以本设计采用方案2。2 系统硬件电路设计按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、供电模块、键盘接口模块、显示模块和闹铃模块共6个模块组成,电路系

14、统构成框图如图2-1所示。(89C52)主控模块DS12C887时钟电路红外遥控电路Nokia5110液晶显示供电电路闹铃电路DHT11图2-1 实时日历时钟电路系统构成框图2.1 单片机控制电路单片机控制系统包括STC89C52单片机以及它的外围电路(晶振电路和复位电路)。2.1.1STC89C52的引脚及功能:单片机STC89C52的管脚说明如图2-2所示:图2-2 STC89C52的管脚(1) 主要电源引脚 VCC 电源端 GND 接地端(2) 外接晶体引脚XTAL1和XTAL2 XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,

15、该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。 XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。(3) 控制或与其它电源复用引脚RST、ALE/PROG、/PSEN和/EA/VPP RST 复位输入端。 当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。 ALE/PROG 当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的

16、。然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)。 /PSEN 程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。当AT89S52/LV52由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN有效(既输出2个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP 外部访问允许端。要使CPU只访问外部程序存储器(地址为0000HFFFFH),则/EA端必须保持低电平(接到GND端)。当/EA端保持高电平(接VSS端)时,CPU则执行内部程序存储器中

17、的程序。(4) 输入/输出引脚 P0.0 P0.7、P1.0P1.7、P2.0 P2.7 和P3.0P3.7 P0端口(P0.0 P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。P1端口(P1.0 P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 P2端口 (P2.0P2.7) P2是一

18、个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。P3端口(P3.0P3.7) P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能,这些特殊功能见表2-1: 端口引脚 兼 用 功 能 P3.0RXD (串

19、行输入口) P3.1TXD (串行输出口) P3.2/INT0 (外部中断0) P3.3/INT1 (外部中断1) P3.4T0 ( 定时器0的外部输入) P3.5T1 (定时器1的外部输入) P3.6/WR (外部数据存储器写选通) P3.7/RD (外部数据存储器读选通)表2-1 P3端口的特殊功能2.1.2 复位电路单片机复位的条件是当单片机振荡器工作时,RST引脚上出现持续两个机器周期的高电平,从而实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,RST引脚上高电平必须持续10ms以上才能保证有效复位。STC89C52的复位是由外部的复位电路来实现的:图2-3

20、 单片机复位电路2.1.3 晶振电路晶振的作用是为系统提供基本的时钟信号。晶振电路中接在晶振旁的两个电容,叫负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C2、C3可在30pF时振荡器有较高的频率稳定性。图2-4 晶振电路2.2 DS12C887时钟电路本次设计采用实时时钟芯片是DS12C887,这种实时时钟芯片具备年、月、日、星期、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。2.2.1 器件介绍DS12C887是美国Dallas半导体公司推出

21、的并行接口实时时钟日历芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与计算机常用的时钟芯片MC146818和DS12887管脚兼容,可直接替换。采用DS12C887芯片设计的时钟电路无需任何外围电路和器件,并且有良好的微机接口。DS12C887芯片内有微功耗,外围接口简单,精度高,工作稳定可靠等优点,广泛各种需要较高精度的实时时钟系统中。DS12C887主要功能介绍:(1)内含一个锂电池,断电后运行十年以上不丢失数据;(2)计秒、分、时、天、星期、日、月、年、并有闰年补偿功能;(3)二进制数码或BCD码表示时间,日历和定闹;(4)12小时或24小时制,12小时时钟模式带有

22、PM和AM指示,有夏令时功能;(5)Motorola和Intel总线时序选择;(6) 有128个字节RAM单元与软件接口,其中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能;(7)可编程方波信号输出;(8)中断信号输出(IRQ)和总线兼容、定闹中断、周期性中断、时钟更新周期、结束中断可分别由软件屏蔽,也可分别进行测试;2.2.2 DS12C887与单片机的连接DS12C887是一款纯数字式的芯片,只要它与电片机的I/O口直接相连就可以操作。操作DS12C887时钟芯片共需要13条信号线,分别是并行数据地址复用线AD0AD7、CS、AS、R/W、DS

23、和IRQ。然后将RESET引脚固定接高电平,再将DS12C887芯片的VCC和GND引脚正确连接即可。DS12C887的管脚如图2-5所示。图2-5 DS12C887与单片机的连接2.3 Nokia5110液晶显示屏液晶显示器简称为LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特征实现显示信息的。液晶显示器具有体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到日益广泛的应用。液晶显示器按其功能可分为三类:笔端式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可以显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形。 下面是Nokia

24、5110液晶引脚接口介绍:图 2-6 Nokia5110液晶屏Nokia5110液晶引脚说明:第1脚:RST为5110液晶外部复位输入端。第2脚:CE为芯片使能。第3脚:DC为数据/命令选择。第4脚:Din为串行数据输入端。第5脚:CLK为串行时钟输入端。第6脚:VCC为5110液晶的电源,可接3.3V-5.0V电源。第7脚:BL为5110背光电源,可接3.3V-5.0V电源。第8脚:GND为5110的地,接GND。引脚说明如表2-2所示:表2-2 Nokia5110液晶引脚编号 符号引脚说明1 RST复位2 CE使能端3 DC数据/命令选择端4 Din串行数据输入5 CLK 串行时钟6 VC

25、C 5110电源正极7 BL 背光源正极8 GND 电源负极Nokia5110液晶与单片机的连接图如下:图2-7 Nokia5110液晶与单片机连接2.4 LM7805CV供电电路由于当Vcc输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读/写操作;当Vcc输入小于+4.25V时,禁止用户对内部RAM进行读/写操作,此时用户不能正确获取芯片内的时间信息。由此可以看出,DS12C887对电源要求较为严格,故本设计采用LM7805CV稳压电源芯片供电。LM7805CV供电电路如图2-8所示。图2-8 LM7805CV供电电路2.5 红外遥控器电路本设计采用红外遥控器控制

26、电子钟,红外接收头与单片机的P3.3口相连,红外遥控器的功能有:选择键、数值增大键、数值减小键和闹铃查看键。在时间调节中,可按功能选择键,配合数值增大、减小功能键可分别对日期和时间进行调节。在调节过程中,显示器光标会在对应调节项目上游走,分别是:“秒、分、时、星期、日、月、年”。在闹铃设置中,可按闹铃查看键,配合数值增大、减小功能键可对闹铃时间进行设置。图2-9 红外遥控器电路2.6 闹铃电路随着闹铃时间的设定,当实时时间到达闹钟的时间时,DS12C887的SQW管脚会输出一组方波,如图2-10所示,当SQW输出一个高电平时,使三极管导通,喇叭会发出蜂鸣声;当SQW输出为低电平时,三极管不导通

27、喇叭不发声。所以,整个闹钟输出为一组滴滴声。闹铃电路如图2-11所示。 图2-10 蜂鸣器驱动方波图2-11 蜂鸣器电路2.7 温湿度传感器DHT11电路DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这

28、些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。DHT11电路如图2-12所示。 图2-12 DHT11电路3 系统软件程序设计在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制实现想要的结果。为了完成上述任务,在进行软件

29、设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:单个模块比起一个完整的程序易编写及调试;模块可以共存,一个模块可以被多个任务在不同条件下调用;模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,主要由主程序DS12C887子程序、Nokia5110子程序、红外遥控器控制子程序、DHT11子程序、蜂鸣器子程序等构成。3.1 主程序运行说明及流程图在这个设计中,STC89C52主要功能是存储程序、根据程序的内容对各个端口进行判断并做出

30、相应的处理;DS12C887主要的功能是控制年、月、日、星期、时、分、秒的变化及存储,以便让单片机读取;DHT11的主要功能是测量周围环境的温湿度;Nokia5110液晶主要的功能是将时间和温湿度的内容显示出来。主程序主要实现了从DS12C887和DHT11读出数据并送到Nokia5110液晶中显示的功能,同时检测红外遥控器有没有按键按下,如果有键被按下,则执行按键处理子程序。首先进行DS12C887时钟芯片和Nokia5110液晶屏的初始化函数,然后进行按键扫描,不断地检测按键是否按下,读取DS12C887时钟芯片和DHT11的数据,并且送到液晶显示器显示;当数据发生变化时候,重新进行扫描写

31、入。主程序流程图如图3-1所示。图3-1 主程序流程图3.2 DS12C887使用说明及流程图进入主程序后,DS12C887首先进行初始化设置,若并行口有数据,最后则调用函数从日历时钟芯片获取日历时钟信息,调用显示函数显示日历时钟信息显示出来,重复进行。这部分包括对DS12C887某个单元写、读DS12C887某个单元的内容和对DS12C887设定时间。12C887的流程图如图3-2所示。开始 DS12C887初始化 调用函数获取时钟信息 送数据显示 图3-2 DS12C887操作流程图3.3 Nokia5110液晶操作说明及流程图显示主要是通过从芯片中读入程序,分别对秒、分、时、星期、日、月

32、、年进行显示,并且通过键盘的操作,对时间进行加减操作,使时间更新显示。进入主函数后,执行完Nokia5110液晶屏的初始化函数,然后用LCD_write_english_string( )函数,先显示固定的内容。最后是读出DS12C887和DHT11的数据送到固定的位置显示。Nokia5110的写命令操作和写数据操作分别用两个独立的函数来完成,函数内部唯一的区别就是液晶数据命令选择端的电平。Nokia5110的流程图如图3-3所示。开始 Nokia5110初始化 读取DS12C887并显示 读取DHT11并显示 结束 图3-3 Nokia5110操作流程图3.4 红外遥控器控制说明 如果需要修

33、改时间,则先输入你想要修改的数字,比如你想要修改时间的“分”,“分”此时显示为11,你想修改为20,则输入20,然后按下红外遥控器的“分”功能键,则你想要修改的数据成功修改为20。以此类推,年、月、日、时、分、秒、闹钟的调节原理相同。3.5 DHT11温湿度传感器说明写入秒 Miao=59 =Miao=0 =Miao=-1? =Miao=60? = 主程序中调用读取DHT11数据的函数,然后送入Nokia5110液晶屏的相应位置显示即可。4 系统调试系统调试共分为两大部分:一个是软件调试,另一个是硬件调试。其中软件调试通过Keil uVision4实现;硬件调试主要是检测硬件电路是否有短路、断

34、路、虚焊等。由于本系统线路连接比较简单,加之本人焊接技术过硬,故本系统硬件调试一次通过,没有硬件故障。难度主要在软件调试上。本人原先的构思是闹铃采用播放音乐的形式,但发现闹铃音乐播放时,液晶上不能实时显示时间,即处于时间停滞状态。经分析主函数程序执行过程后,得出闹铃采用播放音乐的方案不能实现。因为单片机至多每隔一秒就要从DS12C887中读取时间并送液晶显示,这样才能保证液晶上的时间是一秒一秒跳动的。也就是说单片机要执行别的任务(闹铃)必须要在一秒的时间间隙内完成,否则时间就无法实时显示。而一首音乐的播放时间不可能少于一秒,故闹铃声音只能采用一连串的短“滴”。设计调试完成后,给系统上电,Nok

35、ia5110液晶显示屏显示结果如图4-1所示:图4-1 Nokia5110液晶屏显示结果5 结论本设计硬件电路较简单,所用器件较少,电路中使用了STC89C52单片机、DS12C887时钟芯片、Nokia5110液晶显示器、DHT11温湿度传感器等主要器件,实现计时、校时和闹铃和温湿度显示功能。在对芯片的管脚功能和用法有充分的了解后,根据设计要求设计硬件电路,包括单片机控制电路、时钟电路、显示电路、供电电路、红外遥控电路、温湿度传感器电路和闹铃电路。然后通过软件编程,实现了对年、月、日、时、分、秒、星期、闰年和阴历的自动调整,用红外遥控器进行控制,用液晶模块进行显示,并具有闹铃功能。实时日历电

36、子钟可以正常显示时间并进行时间调整,还能显示周围环境的温湿度,基本完成了预期要实现的目标。谢 辞首先,在这里感谢学校给我们安排这次课程设计,使我有一个可以自己动手学习的机会。通过动手实践,我学习到了很多课本以外的知识,体会到了自己亲自动手做出成果的喜悦。其次,在这要感谢我们可敬可爱的王键老师,虽然老师工作繁忙,但还是会时常关注学生的课设进展,并给出很多宝贵的点拨,帮助我们解决了很多技术上难题。可以说,没有老师的悉心指导,就不会有我今天的作品。最后,我还要感谢这次课程设计中给我帮助的同学,是你们的帮助,我才能顺利的完成课程设计任务。谢谢你们的帮助!参考文献 1 郭天祥 新概念51单片机C语言教程

37、 北京:电子工业出版社,20092 吴金戌 8051单片机实践与应用 北京:清华大学出版社,20033 楼然苗 MCS51系列单片机设计实例 北京:北京航天航空大学出版社,20014 刘华东 电子CAD技术Protel 电路设计 北京:清华大学出版社,20075 谭浩强 C语言程序设计 北京:清华大学出版社,1999附录A:实时日历电子钟设计电路原理图图一:实时日历电子钟原理图附录B:实时日历电子钟实物图图二:实时日历电子钟整体实物图图三:实时日历电子钟主板图四:实时日历时钟电子钟主板背面图五:实时日历时钟红外遥控器图六:实时日历电子钟锂聚合物电池附录C:主程序清单/*主程序*/#includ

38、e nokia_5110.h#include ds12c887.h#include dht11.huchar year, month, date, hour, minute, second, day;uchar a_hour, a_minute, a_second;/红外数据处理变量bit year_f, month_f, date_f, hour_f, minute_f, second_f, day_f, a_hour_f, a_minute_f, a_second_f;uchar number = 0;uchar change, change_shiwei = 0, change_gewe

39、i = 0;/要修改的数据bit shiwei_gewei_f = 0; /判断输入的数据是十位还是个位/DHT11extern unsigned char U8FLAG;extern unsigned char U8temp;extern unsigned char U8comdata;extern unsigned char U8RH_data_H_temp;extern unsigned char U8RH_data_L_temp;extern unsigned char U8T_data_H_temp;extern char U8T_data_L_temp;extern unsigne

40、d char U8checkdata_temp;extern char U8RH_data_H;extern unsigned char U8RH_data_L;extern char U8T_data_H;extern unsigned char U8T_data_L;extern unsigned char U8checkdata;/-/红外接收解码寄存器设置unsigned char address;unsigned char shuju; /红外接收到的数据unsigned char tmr_times;unsigned char int_times;unsigned char cod

41、e_data;unsigned char code_data1;unsigned int beepcon;bit flagf;bit head_ok;bit lanth;/闹钟标志bit alarm_f = 0, alarm_flag = 0;void hongwai_number( void )/此函数用来输入数据if( shuju = 22 | shuju = 12 | shuju = 24 | shuju = 94 | shuju = 8 | shuju = 28 | shuju = 90 | shuju = 66 | shuju = 82 | shuju = 74 )alarm_f =

42、 0;/取消闹钟switch( shuju )case 22 : number = 0;break;case 12 : number = 1;break;case 24 : number = 2;break;case 94 : number = 3;break;case 8 : number = 4;break;case 28 : number = 5;break;case 90 : number = 6;break;case 66 : number = 7;break;case 82 : number = 8;break;case 74 : number = 9;break;shuju = 0; /一定要清零if( shiwei_gewei_f = 0 )change_shiwei = number;shiwei_gewei_f = !shiwei_gewei_f;else change_gewei = number;shiwei_gewei_f = !shiwei_gewei_f;void hongwai_choose( void )/需要修改的数据选择/年月日时分秒星期,闹钟的时、分、秒 闹钟的开关

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号