基于单片机的温湿度控制器设计精要.docVIP

基于单片机的温湿度控制器设计精要.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统应用 基于单片机的温湿度控制器 实验要求 设计一个温度测控系统(温度信号使用相应的传感器输入),利用键盘或上位机通信方式设置报警上下限值,利用数码LED或液晶模块或通过上位机进行当前值和报警值的显示。当前值超过上限值或下限值的时候,蜂鸣器发出不同的报警声音。 实验分析 实验主要分为硬件设计和程序设计两部分。 硬件设计 为了实现功能,应使用合适款型的单片机,提供的单片机型号为STC公司的IAP15FCK61S2。传感器选用的是操作简单、精度较高的DS18B20温度传感器。蜂鸣器选型方面,有源或者无源对实验效果影响不大,但应该注意使用三极管驱动,否则无论使用I/O口灌电流或者拉电流都无法达到其电流大小的要求。温度显示方面,此处放弃了数码管或者液晶等较为常规的方式,而是使用蓝牙模块,与安卓手机通信,完成数据传递和数值控制的功能,连接方便,且功耗较低。电源方面,使用9V碱性电池,并使用LM7805降压至5V后,给单片机及其他部分供电。原理图在文档后附上。 程序设计 程序方面,包括单片机下位机程序和手机上位机程序。单片机程序总体比较简单。在进行完单片机必要的相关程序配置之后,还要有针对性的对用到的代码块进行编程。对于温度传感器DS18B20,使用软件模拟one wire通信协议,进行数据通信(见源码ds18b20.h、ds18b20.c)。由于使用的是蓝牙串口模块,故需要对串行通信进行初始化和软件调用(见源码sci.h、sci.c)。各个模块调整完毕后,还需要对传感器采集到的值与设定的温度上限限进行比较并根据不同的异常反映到蜂鸣器上,而且需要对接收到的上位机的值进行处理等工作,还需要程序协调各项工作的时序关系(见源码deal.h、deal.c)。最后,也是最重要的部分,设置程序的入口,统筹整个工程的工作(见源码main.h、main.c)。手机上位机程序中,主要完成了对蓝牙的配对连接、数据接收、数据显示和数据修改功能。因为Android程序所包含的不仅仅是数据处理本身,还有很多对系统底层的配置和资源的调用部分,故代码无法全部给出,仅在附录中将数据通信、校验、处理和发送部分录入(见源码TMP.java)。 实验过程 完成实验要求分析后,首先进行硬件设计。单片机选型方面,并未使用提供的IAP15F2K61S2型单片机。因为之前有过使用STC公司另一款增强型51单片机STC12C5A16S2进行开发设计的经验,而且设计了成型的PCB板图,并发厂制作。在征得老师同意后,选用此类型单片机,并以原先设计好的PCB板作为硬件平台。 电源部分,PCB板图已经计划并设计完成。使用9V碱性电池,经过LM7805及多个电容降压、稳压之后,给整个系统供电。这种供电方式的优点是,不需要使用外接的电源,器件少,稳定性好等。当然,也有不足。LM7805本身发热严重,而9V电池本身放电电流较小,无法支持较大功耗的器件。 主控单片机需要搭建最小系统。使用11.0592MHz的无缘晶振作为单片机外部晶振,并连接两个33pF的电容帮助起振。因为单片机本身有着上电复位功能,所以并未在外部给出复位电路。引出单片机的P3.0、P3.1引脚(即TXD、RXD),作程序烧写和蓝牙串口通信用。 系统外围的外设很少,只有一个DS18B20温度传感器,一个蜂鸣器、一个LED灯,具体电路较为简单,不详细解释。 硬件部分设计制作完成并调试无误后,进行程序设计。 首先确认各个外设工作正常。然后,依次进行点亮LED灯、蜂鸣器鸣响、串口数据传输、DS18B20数据采集、定时器功能配置等工作。完成后,将各个部分时序协调完毕再进行手机上位机程序设计。因手机部分与课程相关性不大,不过多赘述。单片机程序时序分配见以下的程序设计框图。 程序设计框图 软件设计过程中,遇到的最大问题就是手机与蓝牙的通信。由于担心干扰的发生会引起数据的错误,所以在发送端和接收端都进行了数据校验。开始选用的是加和校验法,发现很难收到正常的帧,导致无法进行数据传输。之后采用标志位校验法,虽然有时会出现数据错乱,但是大部分时间都是正常的。对于此系统来说,个别的错误数据对整体来说,影响不大,故没有再进一步优化。 附录1:单片机程序源码 main.h #ifndef _MAIN_H #define _MAIN_H #include stc12c5a60s2.h #include intrins.h #include sci.h #include ds18b20.h #include deal.h sbit BEEP=P2^7; sbit LED=P1^2; extern unsigned char tmp_top; extern unsigned char tmp_bot; extern unsigned char tm

文档评论(0)

LOVE爱 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档