sht10温湿度传感器C51单片机汇编语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 要
随着社会的发展,人们对环境中的温度和湿度的要求也越来越高,尤其是在医学、电子电力、航天航空、食品生产等领域中对温湿度的要求尤其严格,鉴于如此设计出一个能够精确、稳定、实时测量出环境中温湿度的实用型温湿度检测仪显得尤为重要。
本温湿度检测仪是以AT89S51单片机的为核心控制芯片,该单片机有很好的抗干扰能力、响应速度快。基于此单片机的温湿度检测仪可以实时、准确的测量环境中的温度和相对湿度。
本检测仪的硬件部分的设计采用了数字温湿度传感器SHT10,由单片机直接控制来实现对温湿度的实时采集和监控。
本设计加入了时间显示功能,可显示年月日时分秒,并可由。接入独立键盘键盘实现人机交换功能,并用LCD12864作为显示设备的硬件设计方案。软件部分则采用模块化的方法将其分成几个部分,然后逐模块设计程序,用汇编语言来实现,使各部分结合起来协调工作,最终实现对环境中温湿度的实时检测。
该温湿度检测仪能够基本完成的温湿度检测,但由于个人经验不足等因素,本设
计还有一些不足之处,离产品实用还有一定的差距,还有一些方面需要进一步完善。
关键词:AT89S51单片机 , 传感器,LCD,温湿度
每存入一个新数据便自动冲去一个旧数据。环形队列的地址为30H~3FH共16个单元,温湿度数据各占8个单元。为了有效防止显示闪烁现象,每秒钟进行一次数据处理(8个数据求和再除以8),处理后的数据换算成温湿度的值送显示缓存并申请显示,同时进行监控处理,符合加热器加热停止条件或排分扇启动停止条件的,要进行相应的处理。
由于系统中有看门狗电路,所以在编程时要特别注意,传统的等待按键释放的方法容易造成看门狗电路输出复位信号。解决方法是,在主程序中,当检测到有键按下后置键按下标志位,在主程序的循环中则反复判断键按下标志位是否被清零,如果被清零则说明键已释放,然后才能进行下一轮的键盘按下判断。在T0中断处理程序中,每次中断均要检测键是否按下。若无键按下,有两种情况,一是系统中无键按下(此时键按下标志为0),处于监控状态;二是键按下释放后的情况(此时键按下标志为1),这时要清键按下标志,以便主程序中进行下一轮的键按下检测。这样既可以保证当键按下后不论按下多长时间只响应一次,又可以保证不使看门狗电路输出复位信号。