毕业设(论文)-多功能数字闹钟系统设计与实现.doc_第1页
毕业设(论文)-多功能数字闹钟系统设计与实现.doc_第2页
毕业设(论文)-多功能数字闹钟系统设计与实现.doc_第3页
毕业设(论文)-多功能数字闹钟系统设计与实现.doc_第4页
毕业设(论文)-多功能数字闹钟系统设计与实现.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

abstract提供全套毕业论文,欢迎咨询多功能数字闹钟系统设计与实现摘 要 数字电子时钟是人们日常生活中不可或缺的必需品。电子钟主要是利用现代电子技术将时钟电子化、数字化。与传统的机械钟相比,具有时钟精确、显示直观、无机械传动装置等优点,因而得到广泛应用。另外,在生活和工农业生产中,人们对电子钟的功能又提出了诸多要求:报时、闹钟、日历、温度显示,这就需要电子时钟的多功能性。根据人们的不同要求,本设计主要为实现一款可正常显示时钟,测量环境温度、湿度,带有定时闹铃,倒计时的多功能电子时钟。本设计采用液晶显示以其亮度高、显示直观等优点被广泛应用于智能仪器及家用电器等领域。该时钟系统主要由时钟模块、闹钟模块、环境温度湿度检测模块、液晶显示模块、键盘控制模块以及信号提示模块组成。能够准确显示时间(显示格式为时时:分分:秒秒,24小时制),可随时进行时间调整,具有闹钟时间设置、闹钟开/关、止闹功能,能够对时钟所在的环境温度进行测量并显示。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。关键词:电子时钟;单片机;多功能;温湿度传感器3abstractdigital electronic clock is indispensable to daily life. electronic clock is the use of modern electronic technology to clock electronic, digital. compared with the traditional mechanical clock, a clock-accurate, intuitive display, no mechanical transmission device, etc., and thus are widely used. in addition, the in the the in the life and industrial and agricultural production, the people pairs of the the the function of of electronic bell also proposed a a lot of of the requirements of: timekeeping,alarm clock, calendar, temperature display, which requires the the the versatility of electronic clock.according to the different requirements of the people of this design to achieve a normal display clock / calendar, measuring the ambient temperature, humidity, multi-function electronic clock with alarm.this design uses the lcd its high brightness, intuitive and other advantages are widely used in intelligent instruments and appliances and other areas. the clock system clock module, alarm clock module, the ambient temperature and humidity detection module, lcd module, keyboard, control module and the signal prompt module composition. be able to accurately to display the time (display format for the from time to time: sub-sub-the: seconds seconds, system of the 24 hours), can be at any time carried out the time to adjust, with a the alarm clock time setting, alarm clock on / off, ended downtown function, be able to pairs the ambient temperature where the by the clock carried out measurement and displayed. design hardware and software as the guiding ideology, give full play to the mcu function, most of the functionality through software programming simple circuit and system stability. keywords: electronic clock;single-chip; multi-function; temperature and humidity sensor ii目 录目 录摘 要abstract1 绪论11.1课题背景11.1.1 多功能数字电子钟研究的背景11.1.2多功能电子钟研究现状与意义11.1.3 多功能电子钟的功能22 硬件设计42.1 系统的设计思路42.1.1设计流程42.2单片机的选择42.2.1 单片机的发展趋势42.2.2 单片机主要应用领域和特点52.3 单片机 stc89c52简介52.4 温湿度传感器102.4.1 dht11 概述102.4.2 应用电路连接说明112.4.3 dht11数据结构112.5显示部分设计122.5.1 液晶显示屏lcd1602简介122.5.2lcd1602功能介绍122.5.3 lcd1602初始化过程142.5.4 lcd1602硬件电路接口设计152.6 单片机最小系统152.7 键盘部分172.8 报警电路设计182.9 直流稳压电源部分192.10 硬件仿真192.10.1 仿真软件protues简介192.10.2 本设计的仿真原理图203 软件设计21 3.1 编程环境keil简介213.2软件设计总体说明213.2.1主程序设计213.2.2 键盘部分223.2.3 闹钟子程序234 调试244.1软件调试244.2硬件调试305 系统可靠性的设计315.1 软件可靠性的设计315.2 硬件可靠性的设计325.3 本系统中的抗干扰的预防措施32总 结34致 谢35参考文献36附 录37附录1:部分程序代码37附录2:系统仿真原理图45河北工程大学毕业设计说明书1 绪论一寸光阴一寸金,寸金难买寸光阴。从古至今,时间是人们生活中不可缺少的重要伴侣。郭沫若先生曾说:时间就是生命,时间就是速度,时间就是力量。时间对我们来说总是那么宝贵,在我们的日常工作、学习、生活中,时间概念愈加显得重要。如果没有时间概念,社会将停滞不前。从古代的圭表、水漏,到后来的机械钟表以及当今的电子钟,都充分显现出了时间的重要。因此利用当今先进的科技致力于电子钟的研究将能更好的服务于人们的生活。1.1课题背景1.1.1 多功能数字电子钟研究的背景20世纪末,电子技术得到了极速的发展,毫无疑问,在其推动下,现代电子产品以及各种高科技产品几乎渗透到了社会的各个领域,这有力地推动了社会生产力的发展和社会信息化程度以及综合科技水平的提高,但产品更新换代的频率也越来越快。随着科技的发展社会的进步和全球化竞争的日益激烈,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能电子钟不管在性能还是在样式亦或是用途上都发生了重大的变化,许多电子钟都已具备电子闹钟、电子秒表、温湿度检测等功能。同时单片机在多功能数字钟中的应用已是非常普遍的。多功能数字电子钟除了具有时钟的功能外还可以包含对环境温度湿度检测的功能。温湿度是一种最基本的环境参数。在各个行业生产及日常生活中,对温湿度的测量及控制始终占据着非常重要的地位。数字电子时钟是采用数字电路实现对时,分,秒数字显示的装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可或缺的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。例如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电器的自动启用等,所有这些,都是以钟表数字化为基础的。1.1.2多功能电子钟研究现状与意义数字电子时钟,自从它发明的那天起,就成为人类的朋友,给人们的生活、学习、工作、娱乐带来极大的方便。但随着时间的推移,科学技术的不断发展,生活节奏越来越快,竞争日益激烈,人们对时间计量的精度要求越来越高,应用越来越广。可以说时间的准确已成为各行各业安全运行的基础,如果时间出现误差而不能及时校正,会造成一系列严重的后果和经济损失。 电子时钟的设计方法有多种,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用对单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有硬件结构简单、编程灵活、便于功能扩展等特点。由单片机作为数字钟的核心控制器,可以通过它的时钟信号实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术或者数码管显示技术。液晶显示器(lcd)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。lcd可分为段式lcd、字符式lcd和点阵式lcd。其中,段式lcd和字符式lcd只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式lcd不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。由此可见lcd的应用是如此广泛,所以用mpu控制液晶显示器是很普遍的应用。温湿度传感器是上世纪90年代中期问世的。此类传感器是微电子技术、计算机技术和自动测试技术的结晶。目前,国际上已开发出多种温湿度传感器。其传感器内部一般包含温度传感器、湿度传感器、a/d转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器、随机存取存储器和只读存储器。他能实时更新并输出数据,适配于各种微控制器也就是通常所说的单片机(mcu),并且可通过软件来实现显示功能,其智能化取决于软件和硬件的综合开发水平,二者缺一不可。目前,新型温湿传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展。21世纪后,温湿传感器毫无疑问正朝着高精度、多功能、总线标准化、高可靠性及高安全性等高科技的方向迅速发展。 在日常生活和自动控制系统中,我们时常会遇到对时间和温度湿度实时监控的需求。这就给具有多种功能的时钟提供了市场,也有了市场开发的前景。因此,研究多功能电子钟及扩大其应用,有着非常现实的意义。1.1.3 多功能电子钟的功能电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。也有体型较大的,诸如公共场所的大型电子报时器等。电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,usb扩展口功能等。本设计电子时钟主要功能为: 具有时间显示和手动校对功能,24小时制; 具有闹铃定时功能; 具有倒计时秒表功能; 具有环境温湿度采集; 具有液晶(lcd1602)显示功能2 硬件设计2.1 系统的设计思路本次设计完成电子时钟时、分、秒的显示及环境温湿度测量等功能的基础上完成定时闹钟,倒计时的功能。硬件电路包括单片机最小系统电路、lcd1602液晶显示模块、按键模块、dht11温湿度传感器模块、蜂鸣器报警电路模块;软件部分主要通过c语言的编程实现电子时钟,闹钟,倒计时,温湿度采集,然后通过液晶显示程序将时间显示出来,通过按键操作实现功能的转换和屏幕的切换。设计中结合硬件、软件的分步调试,达到要求的控制效果。2.1.1设计流程该设计的主要流程如下:首先阅读大量参考文献,进行设计方案的确定,然后在protues上进行原理图的绘制和修改,在仿真通过的情况下,购买所需要的元器件(元器件应考虑裕量)。接着把元器件焊接到各个功能电路的模块上,并结合程序进行调试。最后将各个功能的电路程序组合起来,然后再进行总体调试直到成功。图2-1 硬件设计框图2.2单片机的选择2.2.1 单片机的发展趋势单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(cpu),随机存取数据存储器(ram),只读程序存储器(rom),输入输出电路(i/o口),可能还包括定时计数器,串行通信口(sci),显示驱动电路(lcd或led驱动电路),脉宽调制电路(pwm),模拟多路转换器及a/d转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。目前在单片机系统中,应用比较广泛的微处理器芯片主要为8xc5x系列单片机。该系列单片机均采用标准mcs-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。2.2.2 单片机主要应用领域和特点单片机芯片的集成度很高,它将微型计算机的主要部件都集成在一块芯片上,具有以下特点: 体积小、重量轻、价格便宜、耗电少; 根据工控环境要求设计,且许多功能部件集成在芯片内部,其信号通道受外界影响小,故可靠性高,抗干扰性能优于采用一般的cpu; 控制功能强,运行速度快。其结构组成与指令系统都着重满足工控要求。有丰富的条件分支转移指令和很强的位处理功能及i/o口逻辑操作功能; 片内存储器的容量不可能很大;引脚也嫌少,i/o引脚常不够用,且兼第二功能以至第三功能。但存储器和i/o接口都易于扩展;自单片机出现至今,单片机技术已走过了30多年的发展路程。纵观30年来单片机发展里程可以看出,单片机技术的发展以微处理器(mpu)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机应用最多的领域主要有以下:因它具有“小、轻、廉、省”的特点,所以特别适用于“电脑型产品”,在家用电器、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备、家庭安防设备等许多产品上得到应用。适用于仪器、仪表,不仅能完成测量,还具有处理、监控等功能,易于实现数字化和智能化。2.3 单片机 stc89c52简介对于单片机的选型,主要应用从单片机应用系统的技术性,实用性和要开发性三方面来考虑。 技术性:要从单片机的技术指标角度,对单片机芯片进行选择,以保证单片机应用系统在一定的技术指标下可靠运行; 实用性:要从单片机的供货渠道、信誉程序等角度,对单片机的生产厂家进行选择以保证单片机应用系统在能长期、可靠运行; 可开发性:选用的单片机要有可靠的可以开发手段,如程序开发工具、仿真调试手段等。综合考虑本设计还是选用了stc89c52单片机。stc89c52是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 stc89x52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35mhz,6t/12t可选。 该器件采用atmel搞密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。表2-1给出了其主要功能。主要功能特性兼容mcs51指令系统8k可反复擦写flash rom32个双向i/o口256x8bit内部ram3个16位可编程定时/计数器中断时钟频率0-24mhz2个串行中断可编程uart串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能表2-1 stc89c52主要功能stc89c52各引脚如图2-2所示。图2-2 stc89c52引脚图 主电源引脚(2根)vcc(pin40):电源输入,接5v电源gnd(pin20):接地线 外接晶振引脚(2根)xtal0(pin18):片内振荡电路的输入端xtal1(pin19):片内振荡电路的输出端 控制引脚(4根)rst/vpp(pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ale/prog(pin30):地址锁存允许信号psen(pin29):外部存储器读选通信号ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 可编程输入/输出引脚(32根)stc89c52单片机有4组8位的可编程i/o口,分别位p0、p1、p2、p3口,每个口有8位(8根引脚),共32根。po口(pin39pin32):名称为p0.0p0.7。p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平(晶体管-晶体管逻辑电平)。p1口(pin1pin8):名称为p1.0p1.7。p1 口是一个具有内部上拉电阻的8 位双向i/o 口,p1 输出缓冲器能驱动4个ttl逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2 的触发输入(p1.1/t2ex),具体如下所示。 在flash编程和校验时,p1口接收低8位地址字节。p1引脚第二功能p1.0 :t2(定时器/计数器t2的外部计数输入),时钟输出p1.1 :t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5 :mosi(在线系统编程时用到)p1.6 :miso(在线系统编程时用到)p1.7 :sck(在线系统编程时用到)p2 (pin21pin28):名称为p2.0p2.7。p2 口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4 个 ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送1。在使用 8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3口(pin10pin17):8位准双向i/o口线,名称为p3.0p3.7。p3 口是一个具有内部上拉电阻的8 位双向i/o 口,p2 输出缓冲器能驱动4 个 ttl 逻辑电平。对p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 p3口亦作为stc89c52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,p3口也接收一些控制信号。端口引脚 第二功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 into(外中断0)p3.3 int1(外中断1)p3.4 to(定时/计数器0)p3.5 t1(定时/计数器1)p3.6 wr(外部数据存储器写选通)p3.7 rd(外部数据存储器读选通)此外,p3口还接收一些用于flash闪存编程和程序校验的控制信号。rst复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将是单片机复位。ale/prog当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx和movc指令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。psen程序储存允许(psen)输出是外部程序存储器的读选通信号,当stc89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp外部访问允许,欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件是使用12v编程电压vpp。2.4 温湿度传感器2.4.1 dht11 概述dht11是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个ntc测温元件,并与一个高性能8位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。dht11与单片机之间能采用简单的单总线进行通信,仅仅需要一个i/o口。传感器内部湿度和温度数据40bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。dht11功耗很低,5v电源电压下,工作平均最大电流0.5ma。性能指标和特性如下: 工作电压范围:3.5v-5.5v 工作电流 :平均0.5ma 湿度测量范围:2090rh 温度测量范围:050 湿度分辨率 :1rh 8位 温度分辨率 :1 8位 采样周期 :1s 单总线结构 与ttl兼容(5v) 表2-2 性能指标和特性参数条件mintypmax单位湿度分辨率111%rh8bit重复性1%rh精度254%rh0505%rh互换性可完全互换量程范围03090%rh252090%rh502080%rh响应时间1/e(63%)25,1m/s 空气61015s迟滞1%rh长期稳定性典型值1%rh/yr温度分辨率111888bit重复性1精度12量程范围050响应时间1/e(63%)630s2.4.2 应用电路连接说明dht11数字湿温度传感器连接方法极为简单。第一脚接电源正,第四脚接电源地端。数据端为第二脚。可直接接主机(单片机)的i/o口。为提高稳定性,建议在数据端和电源正之间接一只4.7k的上拉电阻。第三脚为空脚,此管脚悬空不用表2-3 dht11的引脚说明图pin名称注释1vdd供电 35.5vdc2data串行数据,单总线3nc空脚,请悬空4gnd接地,电源负极 2.4.3 dht11数据结构dht11数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由5byte(40bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其中校验和数据为前四个字节相加。 传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开处理。如果,某次从传感器中读取如下5byte数据: byte4 byte3 byte2 byte1 byte0 00101101 00000000 00011100 00000000 01001001 整数 小数 整数 小数 校验和 湿度 温度 校验和 由以上数据就可得到湿度和温度的值,计算方法: humi (湿度)= byte4 . byte3=45.0 (rh) temp (温度)= byte2 . byte1=28.0 ( ) jiaoyan(校验)= byte4+ byte3+ byte2+ byte1=73(=humi+temp)(校验正确) 注意:dht11一次通讯时间最大3ms,主机连续采样间隔建议不小于100ms。2.5显示部分设计2.5.1 液晶显示屏lcd1602简介液晶显示模块由于具有低功耗、寿命长、体积小、显示内容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块。本系统设计采用字符型液屏显示模块lcd1602 作为显示器件,这样不仅简化了系统的硬件设计,而且极大地提高了系统的可靠性。字符型液晶显示模块lcd1602是单片机应用设计中最常用的信息显示器件。lcd1602 可以显示两行,每行16 个字符,采用5v 电源供电,外围电路配置简单,价格便宜,具有很高的性价比。2.5.2 lcd1602功能介绍表2-4 lcd1602管脚功能表 基本操作时序: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=高脉冲 输出:无 状态字说明如表2-5所示:表2-5 状态字表对控制器每次进行读写操作之前,都必须进行读写检测,确保sta7为0 指令说明如表2-6,表2-7所示:表2-6 显示模式设置表表2-7 显示开/关及背光灯设置表 数据控制控制器内部有一个数据地址指针,用户可通过它们来访问内部的全部80字节ram 数据指针设置如表2-8所示:表2-8 数据指针设置表 其他设置如表2-9所示:表2-9 其他设置指令表2.5.3 lcd1602初始化过程 延时15ms 写指令38h(不检测忙信号) 延时5ms 写指令38h(不检测忙信号) 写指令5ms 写指令38h(不检测忙信号) 之后每次写指令、读/写数据操作之前均需检测忙信号 写指令38h:显示模式设置 写指令08h:显示关闭 写指令01h:显示清屏幕 写指令06h:显示光标移动设置 写指令0ch:显示及光标设置2.5.4 lcd1602硬件电路接口设计电路接口如下图2-3: 图2-3 lcd1602电路接口图2.6 单片机最小系统本设计的单片机最小系统主要包括stc89c52芯片,晶振电路和复位电路。 晶振电路最小系统晶振电路如图2-4所示: 图2-4 晶振电路图stc89c52内部有一个用于构成振荡器的高增益反相放大器,引脚xtal0和xtal1分别是此放大器的输入端和输出端。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212mhz之间选择,电容值在530pf之间选择,电容值的大小可对频率起微调的作用。单片机晶振两个电容的作用:这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十pf。它会影响到晶振的谐振频率和输出幅度。晶振的负载电容=(cd*cg)/(cd+cg)+cic+c式中cd,cg为分别接在晶振的两个脚上和对地的电容,cic(集成电路内部电容)+c(pcb上电容)经验值为3至5pf。 复位电路最小系统复位电路如图2-5所示。图2-5 复位电路图无论使用哪种类型的单片机,总要涉及到单片机复位电路的设计而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。单片机复位电路参数的选定须在振荡稳定后保证复位高电平持续时间大于2个机器周期。单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较器型复位电路;看门狗型复位电路。 最小系统整体图最小系统整体电路如图2-6所示图2-6 最小系统电路图2.7 键盘部分按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。 按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。在本套设计中由于只需要几个功能键,此时,可采用独立式按键结构。如图 2-7所示图2-7 键盘部分按键的软件结构:四个按键中s1为切换键,s2为设定键,s3为上调键,s4下调键。四个按键分别接在p1.0p1.3口,低电平表示有按钮按下;按钮没有接防抖电路,需要设计软件防抖。 调时。按下设定键后可以开始定时,过程如下:设定-秒加/减-按设定-分钟加/减-按设定-小时加/减。 定闹钟。按下切换键后可以定时,过程如下:切换键-设定键-秒加/减-按设定-分钟加/减-按设定-小时加/减。 倒计时秒表。按下切换键可以定时,过程同上。 温度湿度显示。按屏幕切换键可见。2.8 报警电路设计蜂鸣器报警模块的作用:当定时闹钟时间到时,蜂鸣器发出预设的声音,而发光二极管则会随着音乐闪烁。本模块采用pnp三极管为蜂鸣器放大电流,基极通过4.7k电阻与单片机stc89c52的闲置引脚p3.5相连接,集电极直接接地,发射极接发光二极管和蜂鸣器。 报警模块电路如图2-8所示。图2-8 报警模块电路图2.9 直流稳压电源部分直流稳压电源是给电子设备提供稳定直流电压的电子电路。这次电路需要的是+5v直流电源。2.10 硬件仿真2.10.1 仿真软件protues简介protues软件是英国labcenter electronics公司出版的eda工具软件。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译.硬件特点: 功能特点protues软件具有其它eda工具软件(例:multisim)的功能。这些功能是: 原理布图 pcb自动或人工布线 spice电路仿真 革命性的特点: 互动的电路仿真用户甚至可以实时采用诸如ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。 仿真处理器及其外围电路可以仿真51系列、avr、pic、arm、z80、hc11系列、68000系列等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,protues建立了完备的电子设计开发环境。软件仿真: 提供软件调试功能。 提供丰富的外围接口器件及其仿真。ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。 提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。 具有强大的原理图绘制功能2.10.2 本设计的仿真原理图见附录 23 软件设计c52单片机可以应用汇编语言和c语言进行编程。汇编语言与机器指令一一对应所以用汇编语言编写的程序在单片机里运行起来效率较高。c语言程序可读性高,更便于理解。本设计使用c语言编程。为了便于修改和调试,系统软件采用模块化设计,程序的编写编译在keil uvision4软件中完成。3.1 编程环境keil简介keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起。运行keil软件需要win98、nt、win2000、winxp等操作系统。如果你使用c语言编程,那么keil几乎就是你的不二之选,即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。keil是一个成熟的编程环境,用户也比较多,所以本设计选择由keil进行开发,还有一个选择keil开发的原因是仿真环境protues和keil支持在线联调。对于刚学单片机或者硬件还不成熟的新手使用者二者会大大缩短开发周期。3.2软件设计总体说明首先对stc89c52、lcd1602、dht11进行初始化,时间和温湿度信息通过lcd1602显示出来,当当前时间与设定的闹钟时间相同后,单片机通过报警模块进行警报,此时,若按下四个按键中的任意一个,报警停止,如无人工按键,报警在10s后停止,lcd1602显示的时间继续精确显示。3.2.1主程序设计第一次上电,系统先进行初始化, led显示初始时间“10:05:00”,并开始走时。此刻若按k1键,led显示“alarm clock”,初定闹钟时间为10:30:20。单片机依次开始调用键盘扫描子程序、dht11子程序、闹铃子程序,经过延时,返回程序开头循环运行。主程序流程图如图3-1。图3-1 多功能电子钟主程序流程图3.2.2 键盘部分单片机对键盘扫描的方法有随机扫描方式、定时扫描方式和中断扫描方式。在随机扫描方式中,cpu完成某特定任务后,即执行键盘扫描程序,以确定键盘有无按键输入,然后根据按键功能转去执行相应的操作。在执行键盘按键规定的功能中不理睬键盘输入。定时扫描方式与随机扫描方式基本相同,只是利用cpu内的定时中断,每隔一定时间扫描有无按键被按下,键盘反应速度较快,在处理按键功能过程中,可以通过键盘命令进行干预,如取消、暂停等操作。前两种扫描方式均会占用cpu大量时间。不管有没有键入操作,cpu总要在一定的时间内进行扫描,这对于单片机控制系统是很不利的。由于本设计中stc89c52单片机在系统中的主要任务是接受dht11的数据并送出显示,完成时钟校对和温湿度显示控制。89c52单片机完全有能力完成以上工作,所以采用随机扫描键盘方式,系统也能够正常运行。单片机扫描完键盘,得到键值,并根据键值转入执行对应任务,以实现按键功能。如果没有按键按下,则程序扫描到key=ffh,将键值key清零,返回主程序。3.2.3 闹钟子程序程序闹铃子程序最主要的任务是不断用时钟分(min)与时(hour)同设定的闹铃分(clk_min)与闹铃时(clk_hour)比较,只要满足min等于clk_min、hour等于clk_hour,进入该中断服务子程序。此中断服务子程序的作用是当系统处在闹铃状态下时,若闹铃关键按下,则关闭蜂鸣器;若不按功能切换键,蜂鸣器在10s之后自动停止。 if(alarm_flag=1&as=miao&am=fen&ah=shi) alarm_flag=2; if(!set_flag)&(alarm_flag=2) beercnt+; if(beercnt3) if(beercnt5) beercnt = 0; n+; else beer_off; else beer_on; if(n = 20) alarm_flag=1; n=0; 4 调试4.1软件调试首先:打开已经编译通过的单片机项目选择debug下面的start/stop debug session,这个选项可以打开调试也可以关闭调试接下来看到的窗口就是调试窗口:1:左侧的project workspaceregs是片内内存的相关情况值,sys是系统一些累加器、计数器等。regs很简单就不多说。具体介绍一下sysa:累加器acc,往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。b:寄存器b ,主要用于乘法和除法操作dptr:数据指针dptrstates:执行指令的数量sec:执行指令的时间累计(单位 秒)psw:程序状态标志寄存器psw,八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。p:奇偶标志p。反映累加器acc内容的奇偶性,如果acc中的运算结果有偶数个1(如11001100b,其中有4个1),则p为0,否则,p=1。ov:溢出标志位ov。mcs51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。ac:辅助进位标志ac。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则ac为1状态,否则为0。cy:进位标志cy(psw7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0由于psw存放程序执行中的状态,故又叫程序状态字?运算器中还

温馨提示

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

评论

0/150

提交评论