I .竣 廑 …………………………. 基于5 1单片机的温湿度检测器设计 苏州信息职业技术学院通信与信息工程系 杜豫平 【摘要】温湿度的测量在仓库管理、生产制造、气象观测、科学研究以及生活中被广泛应用,本文给出了一种基于MCS一51单片机的温湿 度检测器的设计方法。设计不但能实现通过LCD1602实现温湿度显示,还能通过RS一485总线进行远程数据通信。 【关键词】单片机;温湿度;RS一485总线 Temperature and humidity detector design based on SCM DUYu-ping (SuzhouCollegeofInformationTechnology Wujiang 215200,Jiangsu) Abstract:Temperature and humidity measurement was used extensively in warehouse management,manufacturing,meteorological observa· tion,and scientiifc research,Thispaperpresentsamethodoftemperature andhumiditydetectordesign basedonMCS-51 single—chipmicrocomputer, The design not only call be achieved through the realization of LCD1602 displaying temperature and humidity,but also through the RS485 bus to the remote data communication. Keywords:SCM;Temperature andhumidiy;RS-t485Bus 1.引言 温湿度探测头地址编码模块。本设计方案中 恢复。在此期间不发送任何指令。电源引 脚(VDD和GND)之间可增加1个100nF的电 在传统的模拟式温湿度传感器设计 温湿度检测采用数字温湿度传感器SHT10, 中,一般需要设计信号调理电路并需要经 其温度检测范围-40。c~123.8 ̄C,湿度检 容器,用于去耦滤波。sCK引脚是MCU与 过复杂的校准和标定过程,受环境影响较 测范围在0~100%RH,以AT89C51单片机为 SHTIO之问通信的同步时钟,由于接口包 大,参数容易发生偏移,因此精度难以保 控制核心,对温湿度传感器实时读取内部 含了全静态逻辑,因此没有最小时钟频 证,且在线性度、重复性、互换性、一致 参数,测量结果不仅通过本地液晶LM016L 率。DATA ̄I脚是1个三态门,用于MCU与 性等方面不如人意。因此设计具有精度 (LCD1602)显示,而且通过RS485总线将 SHT10之问的数据传输。DATA的状态在串 高、稳定性好、成本低、功耗低的温湿度检 采集数据传送到远程服务器,以便进一步 行时钟SCK的下降沿之后发生改变,在SCK 测系统非常重要。为此采用数字化高精度温 对数据分析、存档、处理,各探测头地址 的上升沿有效。在数据传输期间,当SCK 度传感器SHT10结合单片机控制技术,从而 通过拨码开关设置完成。 克服了传统温湿度检测系统需要复杂的校 准过程和精度低的缺点。 为高电平时,DATA数据线上必须保持稳定 状态。为避免数据发生冲突,MCU应该驱 3.温湿度采集控制 系统温湿度检测采用SHT10单片数 动DATA使其处于低电平状态,而外部接1 2.系统设计原理与框图 字温湿度集成传感器,该传感器由1个电 个上拉电阻将信号拉至高电平。 SHT10传感器的通讯主要包括传感器 如图1所示,温湿度探测头一般包括 容式聚合体测湿元件和1个能隙式测温元 温湿度检测、温湿度显示,为能适应与无 件组成,并与1个l4位A/D转换器以及1个 硬件启动、启动传输、命令传输。传感器 人值守环境,系统中还包括远程通信以及 2-wire数字接口在单芯片中无缝结合,使 硬件启动要求传感器通电时上电速率不能低 : …………………一 - … ……………一 得该产品具有功耗低、反 :侍1苏广占白共伺切卡七1 、及 于lV/ms。通电后传感器需要1 lms进入休眠 l/485 R S'\_ RS485 r澍湿度传一 应快、抗干扰能力强等优 状态,在此之前不允许对传感器发送任何命 点。SHT10单片机控制电 令。对SHT10传感器命令操作主要有温度测 路如图2所示,SHT10的 量、湿度测量、读状态寄存器、写状态寄 存器、软复位等,如表1所示,命令命令包 转换嚣 感器S l A'I’89C51 iI}探要地Il: : 图1温湿度检测器原理框图 : 、 温澎度 示 供电电压为2.4v~5.5v。 器 D…I…6…02… 传感器上电后,要等待 括3个地址位(仅支持“000”)和5个命令 1lms,从“休眠”状态 位),首先要对传感器发送“启动传输时 序”,来完成数据传输的初始化,然后传 送相关命令数据,SHT10接收到命令后, 懒 ∞∞x 表1 SHTIO命令对照表 内部控制器要等待测量结束,SHTIO通过 下拉DATA至低电平并进入空闲模式,表示 测量的结束。控制器再次触发SCK时钟, 溢凄溅撬 溉度涮爨 读袄悉鬻存嚣 骂拭悉鸯存嚣 豫辩 ooOl1 ∞101 ∞1¨ ∞"O 0{0{繁.f1 10x 对数据进行读取,接着传输2个字节的测 量数据和1个字节的CRC奇偶校验(可选 择读取)。MCU需要通过下拉DATA为低电 图2 SHT10单片机扩展电路图 软复位 羧fI=l簸缘 敞悫鹰 器簸能 後 11110 筻为数漶敞枣窿镬疑遴 个瀹令游, 少鬯抟11ms 平,以确认每个字节。所有的数据从MSB 64一电子世II/2011.12/ 煎 应 I 一并始… ‘_t 系筑研始化 -’. 测璇 艘 t i 5测满漱艘 I i }: 9黛无错误?/ S F! f10复悔 H箨湓淞度{蓖 娃乐漱湿度值。 , 温耀艘值保存 笈邀缓冲 · ’: 图3 LCD1602与单片机接线图 表2 1602LCD ̄l脚说明表 图4 RS485通信接口原理图 图5主程序流程图 据。E端为使能端,当E端由高电平跳变成 编号 符号 引脚说明 编 号 符号 弓I脚明 l VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R朋 读/写选择 13 D6 数据 6 E 使能信号 i4 D了 数据 DO 数据 15 BLA 背光源正极 8 DI 数据 16 BLK 背光源负极 表3 LCD1 602 ̄令说明表 序号 指令 l 涪显示 2 光标返回 低电平时,液晶模块执行命令。与单片机 接口如图3所示。 1602液晶模块内部的字符发生存储 器(CGROM)已经存储了160个不同的点阵 字符图形,这些字符有:阿拉伯数字、英 文字母的大小写、常用的符号、和日文 假名等,每一个字符都有一个固定的代 码,比如大写的英文字母“A”的代码是 0100000iB(41H),显示时模块把地址 41H中的点阵字符图形显示出来,我们就 能看到字母“A”。LCD1602液晶模块的读 RS R D7 D5 D5 D4 D3 D2 D1 DO O O O O 0 0 O O O l O O O O O 0 O O 1 木 3 置输入模式 4 显示开/关控制 5 光标或字符移位 O O O O 0 0 0 O O O O O 0 0 0 0 0 0 1 1 I/lD S D C B 出 写操作、屏幕和光标的操作都是通过指令 编程来实现的,内部的控制器共有11条控 制指令,如表3所示。 1 S/C R/L 6 直功能 地址 O O 0 O l DL N F 木 毒 5.RS485远程通信电路设计 温湿度检测器所测数据通过RS485总线 远程传送至服务器端,RS485采用平衡发 送和差分接收,因此具有抑制共模干扰的 能力。加上总线收发器具有高灵敏度,能 检测低至200mV的电压,故传输信号能在 千米以外得到恢复。 RS485采用半双工工 作方式,任何时候只能有一点处于发送状 态,因此,发送电路须由使能信号加以控 制。如图4所示,本设计通过SN75LBCI84 7 匿字符发生存贮器 O O O I 8 置数据存贮器地址. O O 1 字符发生存贮器地址 显不数据存贮器地址 9 读·I亡标志或地址 O 1 BF 计数器地址 要写的数据内容 读出的数据内容 10 写数到c昧堋或 l O DDR&l匿 11 扶CGRA ̄或DDEA ̄读 i 1 数 开始,右值有效,在收 ̄]cRc的确认位之 其中VL为液晶显示器对比度调整端, 后,表明通讯结束。如果不使用CRC一8校 接正电源时对比度最弱,接地时对比度最 芯片实现RS485总线驱动,为防止受雷 验,控制器可以在测量值LSB后,通过保 高,对比度过高时会产生“鬼影”,使 击等高压干扰,总线分别接VOl、VD2、持ACK位为高电平来结束本次通信,SHTIO 用时可以通过一个1OK的电位器调整对比 VD3、VD4稳压管。为了防止总线中其他分 自动转入休眠模式。 度。Rs:勾寄存器选择,高电平时选择数据 机的通信受到影响,在SN75LBCI84的信号 和R2,这一 寄存器、低电平时选择指令寄存器。R/W 输出端串联了2个20Q的电阻Rl4.LCD1 602液晶显示控制 LCD1602为字符型液晶显示器,是一种 为读写信号线,高电平时进行读操作,低 本机的硬件故障就不会使整个总线的通信 专门用于显示字母、数字、符号等点阵式 电平时进行写操作。当RS和R/W共同为低 受影响,为消除通信过程中信号反射造成 LCD,其显示容量为l6×24"字符,1602LCD 电平时可以写入指令或者显示地址,当RS 信号干扰,需要在总线比两端连接120 Q 采用标准的14脚(无背光)或l6脚(带背 为低电平R/W为高电平时可以读忙信号, 光)接口,各引脚接口说明如表2所示。 当RS为高电平R/W为低电平时可以写入数 终端精密电阻。为防止总线将外部干扰或 (下转第95页) /201 1.12/屯子世界 一65— 数学厦地_(( I 成flash动画,并通过3D技术把软驱的内 4.将授课为主的教学模式改为自学为 空间。教师把课堂教学目标分解为一个个 “任务”,而且这些“任务”具有可操作 点就是给了学生充分的自由,学生成为了 部结构完全呈现出来,通过讲故事的形式 主的教学模式,由于计算机基础课程以应 灵魂,把软驱看成一个现实生活中的人, 和技:巧应并重。我们应该改变“填鸭式” 把整节课的知识传授给学生:赋予软驱以 用为主要教学目的,因此课程内容中知识 性。“任务驱动教学法”一个很显著的特 把软驱出故障看成生病,通过软驱到医院 的教!学方法,上课时只传授课程的基本概 学习的主体,培养了学生动手操作能力及 看病的经过,来讲解软驱故障的维修,软 念和经常用到的一些操作,以及遇到问题 团结协作精神,这在计算机课程教学中显 驱到医院看病的过程就是故障排除的过程。 时解决问题的思路。所谓“师傅领进门, 得尤为重要。因为职业学校的计算机课程 精彩地讲解、立体地演示、学生动手实际 修行: 个人”,提倡“精讲多练”。教师 要培养的并不是理论知识特别丰富的学生, 操作,一个精彩的故事读完了,我们的课 在教!学过程中,不仅应起引导的作用,而 而是偏重于培养能够动手解决实际问题的 程也结束了,学生也掌握本节课的内容, 其结果是既省时又省力,教学效果非常好。 且应把大量的时间留给学生自己去学习、 学生;而且计算机课程中有很多课本身就 思考、体会,培养学生在使用计算机的过 是操作多于理论,比如说:办公自动化软 3.实施分组教学,提高教学效率。鉴 程中:遇到问题,能够自己通过该软件的帮 件的使用、网站建设、网页设计、平面设 于入学新生的计算机水平参差不齐,给老 助系统来解决问题的能力。教师应用不多 计等课。我们在这些课程的课堂教学中, 师上课带来一定的困难,我们要求老师教 学中要兼顾后进生,建议在新生入学时进 行计算机应用基础水平考试,以便教师掌 的时间演示令学生感兴趣的实例,激发学 可以恰当的把教学内容分解为若干任务,通 生的!学习兴趣,然后让学生自己摸索、学 过完成任务,达到学习某一知识的目的 习使用这个软件,从而完成实例。 5.在课堂上恰当的使用“任务驱动 参考文献 【1】彭绍东.论计算机辅助学习模式卟数字与信 教学法”。“任务驱动”是一种建立在建 息化,2003. 握学生情况,因材施教。在讲课时,我们 可根据学生的实际情况,把他们分组,水 平比较高的学生担任组长,利用课余时间 构主义学习理论基础上的教学法,学生的 【2]何克抗.论计算机教育发展的新阶段Ⅱ].计算 机世界报,1999. 辅导后进学生,让他们尽快赶上来,一个 学习:着动必须与任务或问题相结合,让学 也不掉队,平时鼓励学生多上机,更多地 注重课外的学习。 生带:着真实的任务去学习,为每一位学生 的思考、探索、发现和创新提供了开放的 (上接第65页) 高压信号引入控制器造成整个检测器损坏, 6.系统软件设计 束通信。数据传输过程中采用累加和校 温湿度检测探头软件设计主是实现 验,发送数据时将各被发送数据相加并取 SN75LBCI84与单片机接口间采用高速光耦 温湿度检测、温湿度显示、以及远程数据 反后作为最后一字节传送,服务器接收数 TLP521进行物理隔离。 通信等。其中温湿度检测和显示安排在主 据时将各收到数据相加,并将和与FFtt, 有误,则重新发送地址帧要求对方重新发 送数据。 …………………………………一…一一!程序中实现,数据通信程 相等表示接收真确,不相等表示数据传输 7.结束语 基于51单片机的温湿度检测器具有 精度高、量程宽、灵敏度高、体积小、功 耗低,结合RS485总线远程通信的优点, 系统结构简单、开发成本低、抗干扰能力 强、性能稳,体现了较高的性价比。 参考文献 【1】张志良编著.单片机原理与控制技术 .机 械工业出版社,2008.01. [2]吴国宏.新型温湿度传感器SHTIO的原理及 应用Ⅱ】.单片机与嵌入武系统应用,2009.4. 【3]高志国.基于RS一485总线可靠性研究Ⅱ].石油 化工自动化,2011.4. 【4]隋清江.基于PROTEUS的LCD1602接口设 计与仿真U】.微计算机信息,2010.7. 作者简介:杜豫平(1961一),1982年7月 毕业于上海交通大学电子工程系,研究方 向:通信技术、单片机技术应用。 /2011.12/电子世界 一95—