
毕业论文(设计)-基于AT89C51单片机的温湿度传感器.docx
30页温湿度传感器摘 要本系统以AT89C51单片机为核心,实现了一种温湿度无线测量监 控重点设计红外线发射和接收电路、温湿度测量电路该系统主要包括红外通 信模块、温湿度测量模块和人机交互模块经实验测试表明,该系统各项功能都 已达到或超过题目基本要求和发挥部分,并且实现了部分功能的创新关键词 温湿度测量单片机红外线第一章 设计要求及目的 11」设计目的 11.2设计要求 1第二章 系统方案设计及论证 22」总体方案设计 22.2方案比较与论证 22.2.1温湿度检测 2222主从机通信 32.2.3键盘部分 32.2.4显示部分 4第三章系统的硬件设计与实现 53」单片机介绍 53.1.1单片机主要性能 53.1.2单片机各引脚功能介绍 53.2红外发射电路 73.3红外接收电路 93.3键盘及显示电路 103.4语音播报电路 11第四章软件设计 124」主机程序 124.2从机程序 13总结 14致谢 15参考文献 16附录一从机电路图 17附录二从机电路图 18附录三程序代码 19引言随着社会的发展,人们对环境中的温度和湿度的要求也越来越 高,尤其是在医学、电子电力、航天航空、食品发酵等领域中对温湿 度的要求尤其严格,鉴于如此设计出一个能够精确、稳定、实时测量 出环境中温湿度的实用型温湿度检测仪显得尤为重要。
本温湿度检测仪是以AT89C51单片机的为核心控制芯片,该单 片机有很好的抗干扰能力、响应速度快基于此单片机的温湿度检测 仪可以实时、准确的测量环境中的温度和相对湿度本检测仪的硬件部分的设计采用了以高灵敏度采集湿敏电阻阻 值变化,在经过单片机处理得到相应湿度;单片机直接控制AM2303 数字式温度传感器对温度实时采集和监控本仪器还增加了报警语音 装置,用户可根据需要设定温湿度上下限,若当前温湿度超限便会报 警接入独立键盘实现人机交换功能,并用LCD显示屏作为显示设 备的硬件设计方案软件部分则采用模块化的方法将其分成几个部 分,然后逐模块设计程序,用C语言来实现,使各部分结合起来协调 工作,最终实现对环境中温湿度的实时检测第一章设计要求及目的1.1设计目的温度、湿度是工农业生产的主要环境参数.对其进行适时准确的 测量具有重要意义利用单片机对温、湿度控制具有控温、湿精度 高、功能强、体积小、价格低,简单灵活等优点,很好的满足了工艺 要求此次设计致力于训练学生综合运用单片机的基本知识,独立设 计基本硬件电路及程序实现的能力,加强学生理论与实践相结合的能 力1.2设计要求1、 实现温度和湿度的测量;2、 按开机键进行测量;3、 湿度测量范围:0%~100%RH;温度测量范围:-40-+85°C;4、 湿度测量精度:±2.0%RH温度测量精度:±0.2°C;5、 在LCD显示屏上显示数据和结果;6、语音播报系统会播报当时检测到的数据。
系统方案设计及论证2.1总体方案设计根据题目所要实现的要求,本系统包含主机系统和从机系统两个 部分,并且都以AT89C51为核心进行设计具体框图如图1-1和1-2 所示:图i・i上机系统框图图1・2从机系统框图2・2方案比较与论证2. 2.1温湿度检测方案一:采用DHT11数字式温湿度传感器该传感器指标如下: 湿度测量范围为20%〜90%RH;温度测量范围为0〜+50°C;湿度测 量精度为土 5.0%RH;温度测量精度为±2.0°C该温湿度传感器价格 较为便宜,但测温范围和测湿范围较小,温度精度和湿度精度较低, 无法达到题目要求方案二:采用AM2301电容式数字温湿度传感器该传感器指标 如下:湿度测量范围为0% ~ 100%RH;温度测量范围为-40 ~ +80°C; 湿度测量精度为±3.0%RH温度测量精度:±0.5°C该型温湿度传感 器价格适中,可以基本满足题目要求方案三:采用AM2303数字式温湿度传感器该型温湿度传感器, 采用3.3-6V直流电源供电,湿度测量范围:0%〜100%R比 温度测 量范围:-40〜+85°C;湿度测量精度:±2.0%RH温度测量精度:土 0・2°C该型温湿度传感器的温湿度范围和温湿精度均已达到或超出 题目要求,并且属于低功耗型传感器。
经过比较,从系统技术参数要求和低功耗方面考虑,选用方案三2. 2. 2主从机通信方案一:采用RF905SE无线发射模块该无线收发模块可以进行 远距离无线通信,最远可达1000米,性能稳定,易于使用,但是成 本较高方案二:采用无线蓝牙串口模块该模块传输距离为5〜10米, 可以与单片机进行串行通信,通信方便,但是成本较高方案三:采用自制红外通信电路实现,可以实现5米以上距离的 通信,并且功耗较低,所需成本较低,且可满足题目发挥部分要求经过比较,自制红外电路成本低廉,性能完全可以满足题目基 本部分和发挥部分要求,故选用方案三2. 2・3键盘部分方案一:采用矩阵式键盘,其可以减少I/O 口线的占用,一个并 行口可以构成4 x4=16个按键在需要的按键数量比较多的设计中, 采用矩阵法来连接键盘是非常合理的,其结构比较复杂一些,识别也 要复杂一些方案二:采用独立式按键一个按键占用单独的一个I/O 口,并 且要接上拉电阻,另一端接地这种键盘的硬件比较简单,适合按键 少的设计综上所述,课题中用到的按键不是很多,所有本设计选用方案二 的独立式按键2. 2.4显示部分方案一:采用LED数码管,其操作简单,显示直观。
程序的设 计也相当简单,对外界的环境要求比较低,易于维护数码管只能显 示数字,不能显示汉字硬件设计也相对复杂不适合本设计方案二:采用LCD液晶显示,其具有体积小、功耗低、显示内 容多等特点电路连接简单,价格也便宜综上所述,LCD液晶显示内容多,所以本设计选用方案二的LCD 液晶显示第三章系统的硬件设计与实现3.1单片机介绍3.1.1单片机主要性能•与MCS-51兼容• 4K字节可编程闪烁存储器•寿命:1000写/擦循环•数据保留时间:10年•全静态工作:0Hz-24Hz•三级程序存储器锁定• 128*8位内部RAM• 32可编程I/O线•两个16位定时器/计数器• 5个中断源•可编程串行通道•低功耗的闲置和掉电模式•片内振荡器和时钟电路3.1.2单片机各引脚功能介绍Vcc:供电电压GND:接地P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流当管脚第一次写1时,被定义为高阻输入P0能够用于外 部程序数据存储器,它可以被定义为数据/地址的第八位在FLASH 编程时,P0 口作为原码输入口,当FLASH进行校验时,P0输出原 码,此时PO外部必须被拉高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 口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3」TXD(串行输出口)P3.2 /INTO (外部中断0)P3.3 /INT1 (外部中断1)P3.4 TO (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入当振荡器复位器件时,要保持RST脚两个机器 周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用 于锁存地址的地位字节/PSEN:外部程序存储器的选通信号在由外部程序存储器取指 期间,每个机器周期两次/PSEN有效但在访问外部数据存储器时, 这两次有效的/PSEN信号将不出现/EA/VPP:当/EA保持低电平时,则在此期间外部存储器 (OOOOH-FFFFH ),不管是否有内部程序存储器XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出3.2红外发射电路常用的红外遥控器的输出都是用编码后串行数据对38〜40kHz的 方波进行脉冲幅度调制而产生的当发射器按键按下后,即有遥控码 发出,所按的键不同遥控编码也不同这种遥控码具有以下特征:采用脉宽调制的串行码:1. 以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示 二进制的“0” ;2. 以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示 二进制的“1”上述“0”和“1”组成的32位二进制码经38kHz的载频进行二 次调制,然后再通过红外发射二极管产生红外线向空间发射。
红外遥 控器编码常用格式为连续的32位二进制码组,其中前16位为用户识 别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰 后16位为8位的操作码和8位的操作反码,用于核对数据是否接收 准确确根据红外编码的格式,发送数据前需要先发送9ms的起始码和 4.5ms的结果码遥控串行数据编码波形如下图3-1所示:On? iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii图3-1串行数据波形编码红外发射电路,通过单片机控制三极管的导通与截至从而实现红外发射管的数据发送,红外发射电路图如图3・2所示:3・3红外接收电路接收方使用TL0038 一体化红外线接收器进行接收解码,当TL0038接收到38kHz红外信号时,输出端输出低电平,否则为高电 平所以发射电路发送红外信号时,参考上面遥控串行数据编码波形 图,在低电平处发送38kHz红外信号,高电平处则不发送红外信号红外接收电路图,通过红外接受管接收从外部接收到的信号,并通过P 口将数据传送给单片机,红外接收电路图如图3・3所示:图3-3红外接收电路图3・3键盘及显示电路Illi主机系统采用LCD屏显示温度与湿度的参数,并且通过独立式的按键选择实时检测的多路温湿度数据其中的一路。
从机也采用LCD显示数据IFs9s0srn=£=图3-4键盘及显示电路3・4语音播报电路当键盘选择一路需要查看的温湿度检测时,从机向主机发送所需 的温湿度参数,当打开语音播报键时,语音电路会播报温湿度值各是 多少因此不仅主机的显示屏上可以看到实时的温湿度参数,也可以 通过语言播报听到语音提示电路以单片20s高保真语音。
