基于单片机的多功能时钟.doc_第1页
基于单片机的多功能时钟.doc_第2页
基于单片机的多功能时钟.doc_第3页
基于单片机的多功能时钟.doc_第4页
基于单片机的多功能时钟.doc_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文题目:基于单片机的多功能时钟设计外文题目: THE DESIGN OF MULTIFUNCTIONAL CLOCK BASED ON SINGLE-CHIP毕业设计(论文)共 62 页(其中:外文文献及译文20页) 图纸共0张 完成日期 2013年06月 答辩日期 2013年06月 辽宁工程技术大学本科毕业设计(论文)学生诚信承诺保证书本人郑重承诺: 毕业设计(论文)的内容真实、可靠,系本人在 指导教师的指导下,独立完成。如果存在弄虚作假、抄袭的情况,本人承担全部责任。学生签名:年 月 日辽宁工程技术大学本科毕业设计(论文)指导教师诚信承诺保证书本人郑重承诺:我已按学校相关规定对 同学的毕业设计(论文)的选题与内容进行了指导和审核,确认由该生独立完成。如果存在弄虚作假、抄袭的情况,本人承担指导教师相关责任。指导教师签名:年 月 日摘要多功能时钟广泛应用于个人家庭,车站,码头,办公室等公共场所,成为人们日常生活中不可少的必需品。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得与机械式时钟相比具有更高的准时性和直观性,且无机械装置,具有更长的使用寿命。钟表的数字化给人们生产生活带来了极大地方便,而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。 数字钟在日常生活中最常见,应用也最广泛。本文以AT89S52芯片为核心,辅以必要的外围电路和温度传感器,设计一简易的多功能电子时钟系统。设计中以DS1302为时钟芯片,DS18B20为温度传感器,通过液晶显示器LCD1602实时显示时间及温度,通过按键设置年月日和星期以及定时闹钟,定时闹钟时间到自动发出警报。数字钟采用24小时制方式显示时间。文章的核心主要从硬件设计和软件编程两个大的方面。关键词:时钟;单片机;LCD液晶显示AbstractMultifunctional clock is widely used in personal family, station, wharf, office and other public places, it becomes necessary things in people daily life.Digital clock is the most common application in the module of single-chip.A digital clock is a kind of digital circuit technology implementation, minutes and seconds timing device.As the development of digital integrated circuits and quartz crystal oscillator is widely used, so compared with the mechanical clock has higher quality on time and intuitive, and without a mechanical device,and having a longer life. The digital clock brought the greatly convenient to people production the life , and greatly expanded the clocks chime of the original function.Therefore, the digital clock and expand its application, has a very realistic significance. Digital clock in our daily lives is the most common, is the most widely applied.The main section is designed digital bell to single-chip AT89C51 core, with LCD modules, clock chips, and other functional modules. In this paper, DS1302 chip is used as the clock chip, DS18B20 chip is used as the temperature sensor and LCD1602 was used to display time and temperature.You can set year, month and time alarm clock through the four buttons.When the real time reach to the time clock,the system will warn automatically.24 hours using digital bell system display time.The article primarily from the core hardware design and software programming two major aspects.Keywords: clock; single-chip;LCD display目录引言11 时钟的背景知识31.1 时钟的研究背景31.2 国内外时钟的研究现状42 总体设计方案62.1 多功能时钟的工作原理62.2 多功能时钟的总体结构63 系统硬件设计83.1 硬件介绍83.1.1 单片机AT89C5183.1.2 时钟芯片DS1302103.1.3 温度传感器DS18B20113.1.4 液晶显示屏LCD1602143.2 系统硬件构架173.2.1 AT89C51单片机最小系统173.2.2 温度测量模块183.2.3 时钟模块183.2.4 电源模块193.2.5 LCD液晶显示模块203.2.6 蜂鸣器模块213.2.7 键盘输入模块213.2.8 整体电路224 系统软件设计流程234.1 主程序流程234.2 时间日期程序流程234.3 温度显示程序流程244.4 定时报警程序流程245 仿真结果与分析讨论255.1 proteus简介255.2 Keil uVision3软件简介265.3 仿真266 结论28致谢29参考文献30附录A 外文文献译文31附录B 外文文献39附录C 程序51引言从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分体现了时间的重要性。时钟,自从它发明的那天起,就成为人类的朋友【1】,时间是人们日常生活中不可或缺的因素,随着电子时代的到来,科学技术的日益进步,人们已经不安于一个普普通通的钟表,而是开始追求具有更多功能的时钟,因而时钟的样式也变得多种多样了。本文能够使人们了解时钟的工作原理和AT89C51单片机的结构和汇编语言,以及熟练运用proteus软件进行仿真验证。时钟已经广泛应用到各个行业,在日常生活中也非常的常见,无论是工作、学习还是生活都离不开它的身影。其中,定时功能是我们经常会用到的,如闹钟的定时提醒,电风扇等。随着单片机性价比的不断提高,新一代产品的应用也越来越广泛。大则可以构成复杂的工业过程控制系统,完成复杂的控制功能;小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大、体积小、质量轻、灵活好用,配以适当的接口芯片,可以构成各种各样、功能各异的微电子产品。【2】1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试。数字式电子时钟用集成电路计时时,译码代替机械式转动,用LED显示器代替指针显示进而显示时间,减小了计时误差。这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。【3】现如今,基于单片机的时钟设计技术,无论国内外都已经非常的纯熟并应用到了各个领域。根据现有的实际情况,设计一种多功能时钟,不仅可以与普通时钟一样显示时间,还可以进行定时提醒,再增加一个温度传感器,就可进行实时温度显示,让我们可以掌控周围环境温度,方便大家的生活,适应先下追求高品质生活的人们。通过本设计,不仅提高了动手能力,还锻炼了把理论知识和实际应用结合在一起的能力。本文主要内容为:第一章为时钟的背景知识,介绍时钟的研究背景,国内外当前的研究现状。第二章为多功能时钟的总体设计方案,包括时钟的工作原理、系统的硬件框图及各部分能够实现的功能。第三章为本文的核心电路设计部分,包括各部分硬件的组成,设计电路图及各硬件的工作原理等方面的介绍。第四章为本次设计的系统程序流程部分,包括能够实现各个功能的设计流程,使本文在软件设计流程方面的工作过程能够易于理解。第五章为本次设计的仿真结果与分析讨论,包括对仿真工具proteus和keil uvision3的介绍,并利用两个软件的完美组合对此多功能时钟的工作过程进行仿真。第六章为结论部分,总结本设计能够实现的各个功能以及需要改进的方面。最后是致谢和参考文献。1 时钟的背景知识本章主要介绍时钟的时钟的研究背景,国内外当前的研究现状。1.1 时钟的研究背景20世纪末,电子技术得到了极速的发展,毫无疑问,在其推动下,现代电子产品以及各种高科技产品几乎渗透到了社会的各个领域,这有力地推动了社会生产力的发展和社会信息化程度以及综合科技水平的提高,但产品更新换代的频率也越来越快。随着科技的发展、社会的进步和全球化竞争的日益激烈,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能电子钟不管在性能还是在样式亦或是用途上都发生了重大的变化,许多电子钟都已具备电子闹钟、电子秒表、温度检测等功能。同时单片机在多功能数字钟中的应用已是非常普遍的4。多功能电子时钟除了具有时钟的功能外还可以包含对环境温度检测的功能。温度是一种最基本的环境参数,在各个行业生产及日常生活中,对温度的测量及控制始终占据着非常重要的地位。目前,典型的温度检测控制系统由模拟式温度传感器、A/D转换电路和各种单片机组成。由于模拟式温度传感器输出的模拟信号必须经过A/D转换环节转换为数字信号后才能与单片机等微处理器接口进行读写的操作,所以硬件电路会比较复杂,成本较高。而以DS18B20为代表的新型单线总线数字式温度传感器集温度测量和A/D转换于一体,这类传感器可以直接输出数字量,同时与单片机接口电路结构非常简单,可以广泛用于距离远、节点分布多的场合,具有较强推广应用价值。5 数字电子时钟是采用数字电路实现对时,分,秒数字显示的装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可或缺的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。例如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电器的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。1.2 国内外时钟的研究现状数字电子时钟,自从它发明的那天起,就成为人类的朋友,给人们的生活、学习、工作、娱乐带来极大的方便。但随着时间的推移,科学技术的不断发展,生活节奏越来越快,竞争日益激烈,人们对时间计量的精度要求越来越高,应用越来越广。可以说时间的准确已成为各行各业安全运行的基础,如果时间出现误差而不能及时校正,会造成一系列严重的后果和经济损失6 。电子时钟的设计方法有多种,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用对单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有硬件结构简单、编程灵活、便于功能扩展等特点。由单片机作为数字钟的核心控制器,可以通过它的时钟信号实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术或者数码管显示技术7。温度是一种最基本的环境参数,日常生活和工农业生产中经常要检测温度。传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,制作成本较高。近年来,美国DALLAS公司生产的DSl8B20为代表的新型单总线数字式温度传感器以其突出优点广泛使用于仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中。DSl8B20 集温度测量和A/D转换于一体,直接输出数字量,传输距离远,可以很方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件8。智能温度传感器(亦称数字温度传感器)是上世纪90年代中期问世的。此类传感器是微电子技术、计算机技术和自动测试技术的结晶。目前,国际上已开发出多种智能温度传感器。智能温度传感器内部一般包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器、随机存取存储器和只读存储器。智能温度传感器能实时更新并输出温度数据,适配于各种微控制器也就是通常所说的单片机(MCU),并且可通过软件来实现显示功能,其智能化取决于软件和硬件的综合开发水平,二者缺一不可。目前,新型温度传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展9。21世纪后,智能温度传感器毫无疑问正朝着高精度、多功能、总线标准化、高可靠性及高安全性等高科技的方向迅速发展,开发虚拟传感器和网络传感器、研制更先进的单片测温系统已是刻不容缓10。在日常生活和自动控制系统中,我们时常会遇到对时间和温度实时监控的需求。这就给具有多种功能的时钟提供了市场,也有了市场开发的前景。本文给出了一种基于单片机实现带温度检测的电子时钟的设计方法和实现过程。2 总体设计方案2.1 多功能时钟的工作原理本设计采用AT89C51单片机作为本系统的控制模块,辅以必要的外围电路,如图2-1所示。其中单片机是核心部件,完成数据处理和控制功能,它将时钟模块,温度检测模块的数据读取并进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。时钟部分采用时钟芯片DS1302,提供年月日、时分秒信息;温度部分采用温度传感器DS18B20,向系统提供温度信息;以LCD1602液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。2.2 多功能时钟的总体结构单片机时钟模块显示模块温度控制模块晶振、复位电路电源模块键盘输入模块蜂鸣器模块图2-1总体结构框图Figure 2-1 overall structure diagram 1)电源模块电源模块用来给整个系统提供能量,使整个系统能够顺利执行。 2)复位、晶振电路为了初始化单片机内部的某些特殊功能寄存器,必须采用复位方式,复位后可使CPU及系统各部件处于确定的初始状态并从初始状态开始正常工作。当单片机系统在运行出错或操作错误使系统处于锁死状态时,也可按复位键重新启动。【5】 3)时钟模块提供单片机工作所需的频率,计算定时器初值即需此晶振频率,产生时钟脉冲信号,并提供给显示模块,显示出时分秒及温度。本时钟芯片采用DS1302。 4)温度测量模块通过DS18B20温度传感器将周围环境的温度测出,并将此模拟数据传输到显示模块。 5)蜂鸣器模块当接收到警报信号时,蜂鸣器有电流流过,开始工作,发出声响。 6)显示模块采用DS1302液晶显示器,将接收到的时间模拟信号及温度模拟信号转变为数字信号显示出来。 7)键盘输入模块可以通过按键来实现时间或温度的显示,还可进行闹钟的设定。根据本时钟的功能设置以下功能键:K1选定键,当调整时间或定时时,使时间部分闪烁,可以辅助调整时间;K2加一键和K3减一键:当调整时间或定时时进行加一或减一调整;K4确认键,用于定时或校对时间后,进行确认,取消闪烁。3 系统硬件设计3.1 硬件介绍3.1.1 单片机AT89C51AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机AT89C51提供了高性价比的解决方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。单片机主控电路的主要元件是AT89C51,其外型如图3-1。图3-1 单片机AT89C51结构图Figure 3-1 single-chip AT89C51 structure diagram单片机AT89C51管脚说明:VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据或地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口同时为闪烁编程和编程校验接收一些控制信号。P3口也可作为AT89C51的一些特殊功能口,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出,可在SFR8EH地址上置0。此时,ALE只有在执行MOVX时ALE才起作用。另外该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间对程序存储器的读操作只限定外部程序存储器(0000H-FFFFH)。当/EA端保持高电平时,单片机读内部程序存储器。在FLASH编程期间,此引脚也用于施加12V或5V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.1.2 时钟芯片DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。图3-2外部引脚分配Figure 3-2 distribution of external pins各引脚的功能为:DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端。3.1.3 温度传感器DS18B20 1)DS18B20功能特点DS18B20具有超小体积和超低硬件开销,精度高,抗干扰能力强等优点。具有全数字温度转换及输出,单总线数据通信,最高12 位分辨率,检测温度范围大的特征,是开发温度相关产品的很好的选择。其主要功能如下:a 独特的单线接口仅需一个端口引脚进行通讯b 简单的多点分布应用c 无需外部器件d 可通过数据线供电e 零待机功耗f 测温范围-55+125,以0.5递增。华氏器件-67+2570F,以0.90F 递增g 温度以9 位数字量读出h 温度数字量转换时间200ms(典型值)i 用户可定义的非易失性温度报警设置j 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件k 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 2)DS18B20内部工作原理 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL配置寄存器。如图3-3所示。图3-3 DS18B20原理图Figure 3-3 schematic diagram of DS18B20DS18B20引脚定义: 1)DQ为数字信号输入/输出端2)GND为电源地3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20引脚图Figure 3-4 the the pin figure of DS18B20图3-5给出了DS18B20测温原理:DS18B20用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,使其在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。DS1820 内部对此计算的结果可提供0.5的分辨力。温度以16bit带符号位扩展的二进制补码形式读出。数据通过单线接口以串行方式传输。DS1820 测温范围-55+125,以0.5递增。如用于华氏温度,必须要用一个转换因子查找表。图3-5 DS18B20测温原理图Figure 3-5 temperature measurement schematic diagram of DS18B20 DS18B20与单片机的硬件连接有两种方法:一是VDD接外部电源,GND接地I/O与单片机的I/O线相接;二是用寄生电源供电,此时VDD和GND接地,I/O接单片机I/O。无论是那种供电方式,I/O线都要接4.7k左右的上拉电阻。图3-6中,DS18B20采用寄生电源方式,其VDD和GND均接地,而图3-7中,DS18B20采用外接电源方式,其VDD端用3-5.5v电源供电。本设计采用3-7所示接线,即外接电源工作方式11。 图3-6 DS18B20接寄生电源图Figure 3-6 Parasitic power diagram of DS18B20图3-7 DS18B20外接电源图Figure 3-7 Circumscribed power diagram of DS18B203.1.4 液晶显示屏LCD1602 1)LCD1602特点说明12 13液晶显示模块由于具有低功耗、寿命长、体积小、显示内容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块。本系统设计采用字符型液屏显示模块LCD1602作为显示器件,这样不仅简化了系统的硬件设计,而且极大地提高了系统的可靠性。字符型液晶显示模块LCD1602是单片机应用设计中最常用的信息显示器件。LCD1602 可以显示两行,每行16个字符,采用5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比14。 2)LCD1602功能介绍 LCD1602各引脚功能如表3-1所示。表3-1 LCD1602管脚功能表Table 3-1 pins function table of CLD1602编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压编号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读/写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极a 基本操作时序:LCD1602 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是直接看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单、直接,下面就列出典型读写的时序要求,以方便编写程序。读状态-输入:RS=L,R/W=H,E=H 输出:D0-D7=状态字写指令-输入:RS=L,R/W=L,D0-D7=指令码,E=高脉冲 输出:无读数据-输入:RS=H,R/W=H,E=H 输出:D0-D7=数据写数据-输入:RS=H,R/W=L,D0-D7=数据,E=高脉冲 输出:无b 状态字说明:表3-2 状态字表Table 3-2 state word tableSTA7D7STA6D6STA5D5STA4D4STA3D3STA2D2STA1D1STA0D0STA0-6当前数据地址指针的数值STA7读写操作使能1:禁止 0:允许对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0c 指令说明:表3-3 显示模式设置表Table 3-3 the table of showed mode setting 指令码功能00111000设置162显示,57点阵,8位数据口表3-4 显示开/关及背光灯设置表Table 3-4 the table of showed on or off and backlight指令码功能00001DCBD1 开显示;D=0 关显示C=1 显示光标;C=0 不显示光标B=1 光标闪烁;B=0光标不显示000001NSN=1 当读或写一个字符后地址指针加一,且光标加一N=0 当读或写一个字符后地址指针减一,且光标减一S=1 当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果S=0 当写一个字符,整屏显示不移动d 数据控制控制器内部有一个数据地址指针,用户可通过它们来访问内部的全部80字节RAMe 数据指针设置表3-5 数据指针设置表Table 3-5 the data pointers setting table指令码功能80H+地址码(0-27H,40H-67H)设置数据地址指针f 其他设置表3-6 其他设置指令表Table 3-6 other setting instruction table指令码功能01H显示清屏:1.数据指针清零 2.所有显示清零02H显示回车:1.数据指针清零3)LCD1602初始化过程a 延时15msb 写指令38H(不检测忙信号)c 延时5msd 写指令38H(不检测忙信号)e 写指令5msf 写指令38H(不检测忙信号)g 之后每次写指令、读/写数据操作之前均需检测忙信号h 写指令38H:显示模式设置i 写指令08H:显示关闭j 写指令01H:显示清屏幕k 写指令06H:显示光标移动设置l 写指令0CH:显示及光标设置3.2 系统硬件构架3.2.1 AT89C51单片机最小系统最小系统包括晶体振荡电路、复位开关和电源部分。图3-8为AT89C51单片机的最小系统。为了初始化单片机内部的某些特殊功能寄存器,必须采用复位方式,复位后可使CPU及系统各部件处于确定的初始状态并初始状态开始正常工作。当单片机系统在运行出错或操作错误使系统处于锁死状态时,也可按复位键重新启动。【15】晶振电路的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。图3-8 最小系统电路图Figure 3-8 the smallest system circuit diagram3.2.2 温度测量模块温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55125,可编程为9位12位A/D转换精度,测温分辨率达到0.0625,直接输出数字信号,使设计简单控制方便,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3-9所示。图3-9 DS18B20测量电路Figure 3-9 measure circuit of DS18B203.2.3 时钟模块时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟、日历和31字节静态RAM,通过简单的串行接口与单片机进行通信,实时时钟、日历电路提供秒分时日日期月年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式,DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:RST复位、I/O数据线、SCLK串行时钟。时钟RAM的读写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW,其接线电路如图3-10所示:图3-10 时钟电路Figure 3-10 clock circuit3.2.4 电源模块 单片机工作需要使用5V电压,因此需要给单片机设计电源电路。图3-11是单片机的电源电路。它采用LM7805三端集成稳压器,可输出+5V的直流电压供电。图3-11 电源电路Figure 3-11 power circuit3.2.5 LCD液晶显示模块LCD液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。通过编程实现自动关闭屏幕能够更有效的降低功耗。LCD1602分两行显示,每行可显示多达16个字符。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。其接线如图3-12所示:图3-12 LCD显示电路Figure 3-12 Showed circuit of LCD3.2.6 蜂鸣器模块当接收到警报信号时,蜂鸣器有电流流过,开始工作,发出声响。本模块采用PNP三极管为蜂鸣器放大电流,基极通过10k电阻与单片机89C51的闲置引脚P1.3相连接,集电极直接接地,发射极接蜂鸣器。报警模块电路如图3-13所示。图3-13报警电路Figure 3-13 the warming circuit3.2.7 键盘输入模块时间日期的校正需要按键模块来完成。四个按键K1-K4接到89C51芯片的P2.0-P2.3起到调节时间日期等功能。如图3-14所示,四个按键中K1为切换键,K4为确认键,K2为上调键,K3下调键。图3-14 按键电路Figure 3-14 key-press circuit3.2.8 整体电路 系统整体电路如图3-15所示:图3-13 系统总体电路图Figure 3-13 circuit diagram of overall system4 系统软件设计流程 本章主要介绍各部分的工作流程,使各部分的工作流程更清晰明了。4.1 主程序流程主程序就是主流程程序,它可以调用温度设置、时间日期设置及定时设置这三个子程序来实现其需要的功能。开始初始化读取温度、时间储存器显示时间、温度定时设置时间日期设置温度设置图4-1主程序流程图Figure 4-1 flow diagram of main program4.2 时间日期程序流程 时间日期程序主要进行对时间日期的调整。开始初始化读取日期和时间数据调整日期和时间将数据转换成液晶字符返回图4-2时间日期程序流程图Figure 4-2 flow diagram of time and date program4.3 温度显示程序流程温度显示程序主要对温度进行读取并显示。开始初始化读取DS18B20数据将数据转换为液晶字符显示返回图4-3 温度显示程序流程图Figure 4-3 flow diagram of temperature showed program4.4 定时报警程序流程定时报警程序主要来实现定时报警功能,当设置的时间到达时,系统发出声响。开始初始化选择闹钟设置时间开始计时时间到 N蜂鸣器发出声响Y返回图4-4定时报警程序流程图Figure 4-4 flow diagram of alarm timing program5 仿真结果与分析讨论本章节中主要对proteus软件和keil uvision3软件进行介绍,并简单说明两者联合调试的过程。5.1 proteus简介Proteus是由英国labcenter electronics公司开发的,是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器【16】。 Proteus软件由ISIS和ARES两个软件构成其中ISIS是一款便捷的电子系统仿真平台软件,ARES是高级的布线编辑软件。通过Proteus ISIS软件的VSM(虚拟仿真技术),用户可以对模拟电路、数字电路以及基于微控制器的系统连同所有外围接口电子元件一起仿真 Proteus软件的模拟仿真直接兼容SPICE模型,采用了扩充的SPICE3175电路仿真模型,能够记录基于图表的频率特性、直流的传输特性、参数的扫描、噪声分析、傅里叶分析等。 Proteus软件的数字仿真支持JDEC文件的物理器件仿真,有全系列的rrL和CMOS数字电路仿真模型。同时一致性分析易于系统的自动测试Proteus软件可提供的模拟(数字)、交(直)流等元器件达30 多个元件库,共计数千种。如各类运算放大器、计数器、寄存器、 多位数码管、多种D/A和A/D转换器等,都可直接调用。此外, 对于元件库中没有的器件,也可依照需要自己创建。在 仪器仪表方面,Proteus除了提供常见的交、直流电压、电流表、 示波器外,还有逻辑分析仪、计数器、SPI调试器、IIC调试器、信号发生器、点阵图形发生器等特殊的仪器。这些虚拟仪器仪表具有理想的参数指标。例如极高的输入阻抗、极低的输出阻抗【17】。5.2 Keil uVision3软件简介 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论