毕业设计(论文)基于AT89S52单片机的仓库温湿度监测系统的设计_第1页
毕业设计(论文)基于AT89S52单片机的仓库温湿度监测系统的设计_第2页
毕业设计(论文)基于AT89S52单片机的仓库温湿度监测系统的设计_第3页
毕业设计(论文)基于AT89S52单片机的仓库温湿度监测系统的设计_第4页
毕业设计(论文)基于AT89S52单片机的仓库温湿度监测系统的设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、湖州职业技术学院应用电子技术专业毕业论文仓库温湿度监测系统的设计摘要现代生产要求,人们发现需要实现仓库的智能化管理,而仓库温湿度监测系统是一种性能良好的调控方式,主要应用于仓库、温室以及一些对温湿度有一定要求的区域,本文设计了一种以at89s52单片机为核心的低成本、高精度、微型化led显示温湿度监测系统,并使用一些常用芯片如:ds18b20、ghs-20e等。系统由单片机、温度检测电路、湿度检测电路、报警电路以及显示电路构成。由芯片at89s52控制温湿度传感器检测到的温湿度值进行存储转换,从而在显示电路中数码管中显示出来。本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。本文讲

2、述了单片机技术研制成功的温湿度的监测系统的基本原理,温湿度传感器信号采集通过单片机来实现方案。采用软件校正,提高了测量精度和整机的可靠性。实际使用表明,极大的提高了安全性、可靠性和准确度。关键词:仓库,温湿度传感器,单片机at89s52 目 录摘要i目 录ii第1章 概述201.1选题背景201.2设计过程及工艺要求201.3设计的重点与难点20第2章 方案论证与比较212.1温度传感器的选择212.2湿度传感器的选择21第3章 系统总体设计233.1系统设计233.2芯片at89s52介绍233.3传感器的介绍263.3.1传感器的定义及作用263.3.2传感器的特性263.3.3温度传感器

3、ds18b20263.3.4湿度传感器ghs-20e313.3.5 a/d转换tlc549313.4温湿度采集电路设计333.5显示电路的设计343.6报警电路的设计353.7按键电路的设计36第4章 系统调试374.1软硬件的调试374.2系统软件设计37总 结40致 谢41参 考 文 献42附 录43ii湖州职业技术学院应用电子技术专业毕业论文第1章 概述1.1选题背景防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度

4、表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。1.2设计过程及工艺要求一、基本功能 检测温度、湿度 显示温度、湿度 过限报警二、 主要技术参数 温度检测范围 : 0-+50 测 量 精 度 : 0.5 湿度检测范围 : 10%-99%rh 检 测 精 度 : 1%rh 显 示 方 式 : 温度:二位显示 湿度:四位显示 报 警 方 式 : 三极管驱动的蜂鸣音报警1.3设计的重点与难点本设计的任务是设

5、计一个温湿度监测系统,可以应用于仓库以及对温湿度有一定要求的区域。测量时能够清晰稳定地显示出监测结果。系统组成的设计:各部分硬件的选取很有讲究,要十分合理。设计的难点是:1、温度湿度模块设计2、显示电路设计3、流程图及程序的设计第2章 方案论证与比较当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无

6、法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。2.1温度传感器的选择方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按iec标准测温范围-200650,百度电阻比w(100

7、)=1.3850时,r0为100和10,其允许的测量误差a级为(0.15+0.002 |t|),b级为(0.3+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。方案二:采用ds18s20,独特的单线接口,多点能力使分布式温度检测应用简单,不需要外部元件和备份电源,可用数据线供电,测量范围从-55+125,增量值为0.5,并且以9位数值方式读出温度且可在 1秒内把温度变成数字。综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。2.2湿度传感器的选择 测量空气湿度的方式很多,其

8、原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。方案一:采用ghs-20e湿度传感器。ghs-20e湿度传感器为电阻式传感元件,它的工作电压为交流1v,频率为50hz1khz,测量湿度10100%rh,工作温度范围为050,阻抗在50%rh(25)时为40k。这种传感器是一种电阻式传感元件,具有成本低、互换性号,湿滞小、耐高湿小且易运用,电阻信号输出近似线性等优点。在生产生活中运用起来比较简单方便。方案二:采用hs110

9、0/hs1101湿度传感器。hs1100/hs1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(hs1100)和侧面接触(hs1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%-100%rh范围内;电容量由16pf变到200pf,其误差不大于2%rh;响应时间小于5s;温度系数为0.04 pf/。可见精度是较高的。综合比较方案一与方案二,方案一满足精度及测量湿度范围的要求,在其一定范围内使

10、用时具有良好的线性,可有效地利用其线性特性。因此,我们选择方案一来作为本设计的湿度传感器。第3章 系统总体设计3.1系统设计本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和a/d模拟数字转换芯片的性能,我设计了以at89s52基本系统为核心的一套检测系统,其中包括a/d转换、单片机、复位电路、温度检测、湿度检测、按键及显示、报警电路、系统软件等部分的设计。见图3.1所示:ghs-20e湿度传感器tlc549单片机at89s52串行口led显示ds18b20温度传感器报警电路图3.1 系统总体框图 本设计由信号采集、信号分析和信号处理三个部分组成的。(一) 信号采集

11、 由ghs-20e、ds18b20及tlc549组成; (二) 信号分析 由a/d转换器tlc549、单片机89s52基本系统组成;(三) 信号处理 由串行口led显示器和报警系统等组成。3.2芯片at89s52介绍at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k在系统可编程flash 存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。由于此

12、单片机应用在仓库温湿度检测上,所以本设计选用了低功耗、高性能、低价格、小管脚(40脚)的at89s52单片机。如图3.2所示:图3.2 at89s52芯片引脚图at89s52具有以下标准功能:8k字节flash,256字节ram,32 位i/o口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断

13、或硬件复位为止。引脚功能介绍 1.vcc:电源电压。2.gnd:地。3. p0 口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。 在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。4. p1 口:p1 口是一个具有内部上拉电阻的8 位双向i/o 口,p1 输出缓冲器能驱动4 个 ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口

14、使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2 的触发输入(p1.1/t2ex),具体如表3.1所示: 在flash编程和校验时,p1口接收低8位地址字节。 表3.1 p1口的第二功能引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程用)5.p2 口:p2 口是一个具有内部上拉电阻的8 位

15、双向i/o 口,p2 输出缓冲器能驱动4 个ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送1。在使用 8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。6. p3 口:p3 口是一个具有内部上拉电阻的8 位双向i/o 口,p3 输出

16、缓冲器能驱动4 个ttl 逻辑电平。对p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 p3口亦作为at89s52特殊功能(第二功能)使用,如表3.2所示。 在flash编程和校验时,p3口也接收一些控制信号。表3.2 p3口的第二功能端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2into(外中断0)p3.3int1(外中断1)p3.4to(定时/计数器0)p3.5t1(定时/计数器1)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通)此外,p

17、3口还接收一些用于flash闪存编程和程序校验的控制信号。rst复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将是单片机复位。ale/prog当访问外部程存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx和movc指

18、令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。psen程序储存允许(psen)输出是外部程序存储器的读选通信号,当at89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp外部访问允许,欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器的指令。flash存储器编程时,该引脚加上+1

19、2v的编程允许电源vpp,当然这必须是该器件是使用12v编程电压vpp。3.3传感器的介绍3.3.1传感器的定义及作用一、广义地来说,传感器是一种能把物理量或化学量转变成便于利用的电信号的器件。国际电工委员会(iec:international electrotechnical committee)的定义为:“传感器是测量系统中的一种前置部件,它将输入变量转换成可供测量的信号”。按照gopel等的说法是:“传感器是包括承载体和电路连接的敏感元件”,而“传感器系统则是组合有某种信息处理(模拟或数字)能力的传感器”。传感器是传感器系统的一个组成部分,它是被测信号输入的第一道关口。二、传感器的作用1

20、.信息的收集;2.信息数据的交换;3.控制信息的采集。3.3.2传感器的特性1、灵敏度高、可靠性强、稳定性好; 2、防尘耐湿、耐高低温、耐冲击、耐振动等严酷环境条件;3、收发兼用,使用方便。3.3.3温度传感器ds18b20数字温度传感器ds-18b20是美国dallas公司生产的 ds18b20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。一、主要特性ds18b20温度传感器是美国dallas半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主要完成对温度信号的

21、采集和转换工作,由ds18b20数字温度传感器及其与单片机的接口部分组成。数字温度传感器ds18b20把采集到的温度通过数据引脚传到单片机。(1) ds18b20的性能特点如下9:1) 独特的单线接口仅需要一个端口引脚进行通信;2) 多个ds18b20可以并联在惟一的三线上,实现多点组网功能;3) 无须外部器件;4) 可通过数据线供电,电压范围为3.05.5v;5) 零待机功耗;6) 温度以3位数字显示;7) 用户可定义报警设置;8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (2) ds18b20

22、的内部结构ds18b20采用3脚pr35封装,ds18b20的内部结构,如图3.3所示图3.3 ds18b20封装 64位rom和单线端口存储器和控制逻辑暂存器温度传感器上限触发th下限触发tl8位crc产生器电源控制dqvdd图3.4 ds18b20内部结构二 ds18b20的工作原理1 ds18b20的工作时序根据ds18b20的通讯协议,主机控制ds18b20完成温度转换须经过三个步骤:1). 每一次读写之前都必须要对ds18b20进行复位;2). 复位成功后发送一条rom指令;3). 最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然

23、后释放,ds18b20收到信号后等待1560微秒左右后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。其工作时序包括初始化时序、写时序和读时序,具体工作方法见图3.5,3.6,3.7所示。(1) 初始化时序图3.5 初始化时序总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。接着主机释放总线,4.7k上拉电阻将总线拉高,延时1560us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us12。(2) 写时序图3.6写时序写时序包括写0时序和写1

24、时序。所有写时序至少需要60us,且在2次独立的写时序之间至少需要1us的恢复时间,都是以总线拉低开始。写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。写0时序,主机输出低电平,延时60us,然后释放总线,延时2us8。(3) 读时序 图3.7 读时序总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要60us,且在2次独立的读时序之间至少需要1us的恢复时间。每个读时序都由主机发起,至少拉低总线1us。主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线状态。主机输出低电平

25、延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us4。2 rom操作命令当主机收到dsl8b20 的响应信号后,便可以发出rom 操作命令之一,这些命令如表3.1.3:rom操作命令。三 ds18b20的测温原理每一片dsl8b20在其rom中都存有其唯一的48位序列号,在出厂前已写入片内rom 中。主机在进入操作程序前必须用读rom(33h)命令将该dsl8b20的序列号读出。程序可以先跳过rom,启动所有dsl8b20进行温度变换,之后通过匹配rom,再逐一地读回每个dsl8b20的温度数据。ds18b20的测温原理如图3.9所示,图中低温度系数晶振的振荡

26、频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始

27、对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.5中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理。另外,由于ds18b20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据。见图3.8所示:初始化ds18b20跳过rom匹配温

28、度变换延时1s跳过rom匹配读暂存器转换成显示码数码管显示图3.8 ds18b20测温流程减法计数器斜坡累加器减到0减法计数器预 置低温度系数振 荡 器高温度系数振 荡 器计数比较器预 置温度寄存器减到0图3.9 测温原理内部装置3.3.4湿度传感器ghs-20eghs-20e湿度传感器是一种电阻式传感元件,具有成本低、互换性好、湿滞小、耐湿高、尺寸小、易运用、电阻信号输出近似线性等特点。湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。3.3.5 a/d转换tlc549一a/d转换器的特点tlc54

29、9是美国德州仪器公司生产的8位串行a/d 转换器芯片.可与通用微处理器控制器通过i/o clock cs data out 三条口线进行串行接口.具有4mhz 片内系统时钟和软.硬件控制电路.转换时间最长45500次/s,tlc549允许的最高转换速率为. 40000次/s.tlc549为40000次/s. 总失调误差最大为? +-0.5lsb.典型功耗值为6mw采用差分参考电压高阻输入.抗干扰.可按比例量程校准转换范围。为了把湿度检测电路测出的模拟信号转换成数字量送cpu处理,本系设计选用了a/d转换器tlc549,它片型小.采样速度快.功耗低.价格便宜. 控制简单。 二tlc549转换器件

30、简介tlc549的内部框图和引脚名称如图3.10所示:8位模数转换器输出数据寄存器8-1数据选择器和驱动器控制逻辑和输出数据内部系统时钟采样保持ref+ref- 312analog incs 5886dataout47i/o clock图3.10 tlc549转换器的内部逻辑框图tlc549均有片内系统时钟.该时钟与i/o clock是独立工作的.无须特殊的速度或相位匹配其工作时序如图3.11所示,当cs为高时.数据输出.(data out).端处于高阻状态.此时i/o clock不起作用这种cs控制作用允许在同时使用多片tlc549时.共用以减少多路.片a/d并用时的i/o控制端口.一组通常

31、的控制时序为:(1) .将cs置低内部电路在测得 下降沿后.再等待两个内部时钟上升沿和一个下降沿后. 然后确认这一变化. 最后自动将前一次转换结果的最高位(d7)位输出到data out端上.(2)前四个i/o clock周期的下降沿依次移出第2.3.4和第5个位(dd6.d5d4.d3)片上采样保持电路在第4个i/o clock下降沿开始采样模拟输入.(3) 接下来的3个i/o clock周期的下降沿将移出第6、7、8(d2、d1、d0)个转换位 图3.11 工作时序图(4)最后. 片上采样保持电路在第8个i/o clock周期的下降沿将移出第6、7、8(d2、d1、d0)个转换位保持功能将

32、持续4个内部时钟周期,.然后开始进行32个内部时钟周期的a/d转换 第8个i/o clock后cs必须为高.或i/o clock保持低电平.这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成 如果cs为低时i/o clock上出现一个有效干扰脉冲.则微处理器/控制器将与器件的i/o时序失去同步.若cs为高时出现一次有效低电平. 则将使引脚重新初始化. 从而脱离原转换过程。在36个内部系统时钟周期结束之前. 实施步骤(1)(4),可重新启动一次新的a/d转换.与此同时.正在进行的转换终止.此时的输出是前一次的结果而不是正在进行的转换结果。若要在特定的时刻采样模拟信号应使第8个i/o

33、 clock时钟的下降沿与该时刻对应.因为芯片虽在第4个i/o clock时钟下降沿开始采样.却在第8个i/o clock的下降沿开始保存。3.4温湿度采集电路设计本设计采用at89s52单片机作为主控制器,通过温湿度采集、系统编码、系统解码、温湿度显示来实现。温湿度系统原理如图3.8所示,部分硬件电路图见附录一。温度湿度传感器通过自身的工作时序与单片机进行工作对话,前者数据采集到后通过自己的时序将信号传送给单片机p1口里的p1.1p1.5口并在内部按着自己的工作方式对进行信号的处理,最后信号有p0、p2口输出在数码管上显示。温度传感器的具体温度工作时序见图3.5、图3.6、图3.7和湿度工作

34、时序3.11。下面是tlc549与at89s52单片机p1口直接相连的硬件接口,接口电路如图3.12所示图3.12 tlc549与at89s52单片机p1口直接相连的硬件3.5显示电路的设计led数码显示管有两种,一种是共阳极数码管,其内部是由八个阳极相连接的发光二极管组成;另一种是共阴极数码管,其内部是由四个阳极相连接的发光二极管组成。二者原理不同但功能相同。其外形和内部结构如下图3.13所示: 图3.13 led的管脚和电路原理共阳极led数码显示管是将二极管的阳极连接在一起,形成共阳极led数码显示块的公共端,该公共端接+5v,在共阳极led数码显示块中如某个发光二极管的阴极为低电平时,

35、该发光二极管被点亮;而共阴极led数码显示块的发光二极管阴极连接在一起,形成该模块的公共端(通常称为位选端),因此称为共阴极led数码显示器,8个数码管的另一端通常称为段选端,当显示器的公共端接低电平,某个发光二极管的阳极接高电平时,该发光二极管被点亮。用单片机驱动led数码管分为静态显示和动态显示。静态显示就是显示驱动电路具有锁存功能,单片机将所要显示的数据送出后就不再控制led,直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的cpu时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的i/o接口,该接口用于笔划段字型代码。这样单片机只要把显示的字形代码发送到接口电路,

36、该字段就可以显示发送的字形。要显示新的数据时,单片机再发送新的数据。另一种方法是动态扫描显示。由于单片机本生具有较强的逻辑控制能力,所以采用动态扫描软件译码并不复杂。而且软件译码其译码逻辑可随意编程设定,不受硬件译码逻辑限制。采用动态扫描软件译码地方式能大大简化硬件电路结构,降低系统成本。它用分时地方法轮流控制各个显示器地com端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。静态显示数据稳定,占用很少的cpu时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较少;动态显示需要

37、cpu时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的cpu时间多,但使用的硬件少,能节省线路板空间。本设计的显示电路采用共阳led四位数码管和二位数码管,位码用pnp三极管驱动。如图3.14所示图3.14 温湿度 显示电路3.6报警电路的设计报警器的种类很多,比如:扬声器、蜂鸣器等。本设计中选用压电式蜂鸣器作为报警器。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515v直流工作电压),多谐振荡器起振,输出1.52.5khz的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制

38、成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。9设计要求定时时间到时要有声音提醒信号产生,可选择一只蜂鸣器来实现这一功能。压电式蜂鸣器工作时约需10ma的驱动电流,并设计一个相应的驱动及控制电路。电路设计如图3.15所示,蜂鸣器作为三极管q1的集电极负载,当q1导通时,蜂鸣器发出鸣叫声音,vt1截止时,蜂鸣器不发声。蜂鸣器电路与单片机的接口:q1的基极接到单片机p1口的p1.5引脚,13.5引脚作为输出口使用。当p1.6=1时,q1导通时,使蜂鸣器的两个引脚间获得将近5v的直流电压,蜂鸣器中有电流通过,而产生蜂鸣音。当p1.6=0时,q5截止,蜂鸣器的两引脚间

39、的直流电压接近于0v,蜂鸣器不发声。图3.15蜂鸣器报警电路3.7按键电路的设计本设计在按键上运用了按键1、按键2、按键3分别用于设置、设置+、设置,三个按键与单片机p3口的p3.7、p3.6、p3.5一一连接,如图3.16所示:图3.16按键设置电路第4章 系统调试4.1软硬件的调试仓库温湿度检测系统的制作和调试,利用温度湿度传感器来采集周围环境的温湿度。根据仓库存放大侠标准的不同,可适当调整温湿度正常范围的区间值。当达不到或者超过范围的通过报警电路进行报警。当再正常范围内时则显示出温湿度的具体温湿度值。硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改温湿

40、度的 初始范围,以适应不同地方,不同条件下的检测需要。根据所设计的电路参数和程序,温度检测的范围为0-+50、温度误差再0.5,湿度检测范围10%-99%rh、湿度误差1%rh。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。4.2系统软件设计本设计就是以at89s52单片机为核心。它采用模块化设计,由主程序、549读取子程序、ds18b20读取子程序、键处理子程序、显示子程序等模块组成。该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用549读取子程序、ds18b20读取子程序、键处理子程序,并把测量结果用显示子程序在数码管上显示

41、出来,从而完成整个程序过程。为了增强系统的可靠性,应在软硬件上采用一些特殊措施。主程序框图如下图4.1所示:549读取子程序、ds18b20读取子程序作用是通过p1.0 p1.4端口将采集到的信号发送给单片机进行处理,在单片机内部处理后,通过显示电路显示出温湿度值。549读取子程序、ds18b20读取子程序各自完成各自的信号的采集,另外549读取子程序还需要通过转换后才能让单片机读取来完成信号的采集。ds18b20读取子程序、549读取子程序如图4.2和图4.3所示。 开 始单片机初始化读取tlc549湿度值数 据 处 理键 处 理 设 置读取ds18b20温度值数 据 处 理显 示结 束湿度

42、、温度过限蜂鸣器告警图4.1 主程序框图 开始总 线 复 位读高位地位字节,并合并数 据 处 理是否满足设限温度?输 出 数 据结 束产生报警yn图4.2 ds18b20读取子程序结 束tlc549,cs置低1.4微秒后,置i/o clock为高读data out ,置i/o clock为高cs置高是第8位吗?初始化:cs=0;i/o clock=1,移位计数器为零yn图4.3 549读取子程序总 结本设计系统采用了美国atmel公司生产的单片机at89s52芯片。以及其它常用芯片如:温度传感器ds18b20、湿度传感器ghs-20e等来设计温湿度检测电路,实现了温湿度的读取和显示。本系统具有

43、易安装检测、软件功能完善,工作可靠、准确度高等优点。这次毕业设计给我的感受很深刻,使我第一次系统全面的回顾了大学三年所有的课程:模拟电路、数字电路、编程等等。从中我还体会到了所学理论知识的重要性:知识掌握得越多,设计得就更全面、更顺利、更好。再有学会了怎样查阅资料和利用工具书。由于一个人不可能什么都学过,什么都懂,更加不可能一学就通,因此,当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料。在设计过程中,通过大量的查阅资料,认真研究教材,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,按着各部分模块编写程序。毕业设计培养了严肃认真和实事求是的科

44、学态度和吃苦耐劳的精神以及严谨的作风,提高了交流沟通和团体协作能力。这些对我以后的工作都非常有帮助的。致 谢此次毕业设计,我遇到很多问题,通过向老师求教、和同学讨论让我知道真正完成一项设计是不容易的,在巩固专业知识的同时也让我学到了坚持和努力,在这里我要谢谢许勇刚老师的悉心指导,帮助解决毕业设计中遇到的许多问题,还不断向我们传授分析问题和解决问题的办法,并指出了正确的努力方向,使我在毕业设计过程中少走很多弯路。从他身上学到了很多东西,他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益非浅。在此表示深深的敬意与感谢。并对多年来教导关心过我的老师表示深深的谢意和敬意。参 考 文 献1

45、李光飞(2005)单片机课程设计实例指导(第2版)北京航空航天出版社。2 张志良(2005). 单片机原理及控制技术(第2版).机械工业出版社。3 刘笃仁、韩保君(2003). 传感器原理及应用技术.机械工业出版社。4 刘华东(2006).单片机原理与应用(第2版).电子工业出版社。5 沙占友(2002).智能化集成温度传感器原理与应用m机械工业出版社。6 贾伯年(2000).传感器技术东南大学出版社。7 周志文(2007).c语言程序设计机械工业出版社。8 夏路易(2002).电路原理图与电路板设计教程.北京希望电子出版社。9 赵亮、侯国锐(2003)单片机c语言编程与实例.人民邮电出版社。

46、10 吉雷(2004)protel99从入门到精通西安电子科技大学出版社。附 录一、电路原理图二、实物图三、源程序#defineucharunsigned char#define uintunsigned int#define ulong unsigned long#include /导入头文件#include /导入头文件#include /导入头文件#include /导入头文件sbitsetdown=p35;/设置减sbitsetup=p36;/设置加sbitset =p37;/设置sbitjdq =p13;/继电器sbitspeak=p15; /报警sbitgwei=p24; /千位s

47、bitswei=p23; /十位sbitbwei=p22; /十位sbitqwei=p25; /个位sbitwei6=p26; /位sbitwei5=p27; /位sbitfanled =p31; /sbithotled =p36; /sbithumiled =p37; /sbitfanjdq =p14; /sbithotjdq =p15; /sfr xsout = 0x80;/p0=0x80,p1=0x90,p2=0xa0,p3=0xb0.数据端口sbit tmdat = p10;/温度uchartmpbuf6;/临时保存 百位,十位,个位,点位,十点位,正负位,为1为负,为0为正 /sbi

48、t tmdat = p10;/温度/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00;/显示表/uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/共阳表uchar code table=0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28,0x30,0x

49、25,0xe4,0x23,0x64,0x74;/共阳表bit xsbz,setbz,setupbz,setdownbz;uchar ms,adjs,setmaxt,setmint,setmaxh,setminh,setmode;uinttmp;/温度/uint admezhi;/uchartmpbuf5;/临时保存/* 549控制引脚宏定义*/ sbittlc549_sdo =p13;/ 数据 sbittlc549_cs =p14;/ 片选 sbittlc549_sck =p12;/*549时钟*/ uint adzhi; uint adyzhi; uint adzzhi; uint adme

50、zhi; uint xianzhi; uint sdzhi; bit clbz; uchar js;/ad相关/uinttmp;/温度uchar setzhi; /设定值bit setbz,setkbz,setupbz,setdownbz; /设置标志 void delay(int useconds) /延时 int s;for (s=0; suseconds;s+);/延时ucharreset_bus(void) /ds18b20总线复位ucharpresence;tmdat = 0; /输出为0delay(29); /延时tmdat = 1; /输出为1delay(3); /延时prese

51、nce = tmdat; delay(25); return(presence); void write_bit(char bitval) /ds18b20写入一位命令tmdat = 0; if(bitval=1) tmdat =1;delay(5); tmdat = 1; void write_byte(char val) /ds18b20 写入一个字节数 uchari;uchartemp;for (i=0; ii; temp &= 0x01; write_bit(temp); delay(5);ucharread_bit(void) /ds18b20读一位uchari;tmdat = 0; tmdat = 1; for (i=0; i3; i+); return(tmdat); ucharread_byte(void) /读一个字节 uchari;ucharvalue = 0;for (i=0;i8;i+) if(rea

温馨提示

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

评论

0/150

提交评论