基于STC89C52单片机浴室温度控制系统.docVIP

  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文档。上传文档
查看更多
基于STC89C52单片机浴室温度控制系统

基于STC89C52单片机浴室温度控制系统   摘 要:本文介绍了一种浴室水温控制器,利用STC89C52单片机作为核心控制部件,可以通过按键设定上限温度,下限温度,超过上限保温,低于下限加热,温度传感器选用高精度、高可靠的数字式温度传感器DS18B20,四位一体数码管显示温度值。   关键词:单片机;温度传感器;数码管   1 总体设计方案   系统电路采用STC89C52单片机作为控制核心,它是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器。   浴室水温控制系统的基本功能:可以设定上限温度、下限温度,超过上限温度保温,低于下限温度加热,本设计中的保温和加热用发光二极管的亮灭来演示。测温范围:0-125度,精度0.1度。系统以单片机STC89C52为核心,有电源电路、时钟电路、复位电路、温度传感器DS18B20、按键及LED,发光二极管,报警等显示电路构成。   2 系统的硬件设计   2.1 传感器的测温实现   本设计选用DS18B20“单总线”温度传感器,采用外部电源+5V供电,温度传感器DS18B20的3脚和单片机共用5V直流电压,1脚接地,2脚和单片机的P3.4相连,因为DS18B20的2脚数据线是漏极开路,本身不具备输出高电平的能力,单片机读“1”信号必须通过其他方式来实现,典型的方法就是外接上拉电阻。   根据DSl8820的通讯协议,单片机控制DSl8820完成温度转换必须经过3个步骤:每一次读写之前都要对DSl8820进行复位操作,复位成功后发送跳过ROM指令,然后发送RAM指令如本设计中的发温度转换指令44H和发读温度命令0BEH,这样DSl8B20就可进行预定的操作。   2.2 蜂鸣器电路   单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。本设计中使用PNP三极管来实现,蜂鸣器的正极接PNP三极管的集电极,负极接地。三极管的基级经过470Ω的限流电阻接到单片机的P3.0引脚,程序控制P3.0引脚的电平来使蜂鸣器发出声音。   独立式按键电路。本设计一共有3个独立式按键,按键的作用是对温度的上下限值进行设置。三个按键的功能如下:K1:增加按键;K2:减少按键;K3:功能键,实现当前温度值,上限值,下限值的切换,并且在上下限值时可通过K1或K2键对上下限值予以更改。   2.3 LED显示电路   因为液晶显示器的允许的温度范围比较小,如0℃以下时液晶显示器反应非常慢,甚至不工作,本设计采用LED显示电路,选用一个共阴四位一体数码管,四位一体数码管的段选A,B,C,D,E,F,G,DP分别与单片机P0口的各位依次相连,四位一体数码管的4个位选与单片机的P2.0,P2.1,P2.2,P2.3相连。另外所有直流电压皆是5v,由USB电源线提供。   3 系统软件设计   主函数循环调用读取温度函数,温度显示函数、按键扫描函数,并把当前温度值与按键设置的上下限值进行判断。主函数如下所示:   void main()   {f2=0;   mak=1;   while(1)   {delay(1);   read_temp();//读取温度   final_temp=tvalue;   if(mak==1)   {display2(final_temp);}   timeset();   if(final_temp/10HTEMP)   {jiawen=1;   baowen=0;   bebe=0;   baojing=0;   delay(20);   baojing=1;   delay(10);}   else   if(final_temp/10LTEMP)   {jiawen=0;   baowen=1;   bebe=1;}   }}   4 系统仿真与实物   将在Keil中编译好的程序,编译下载后生成.HEX代码文件,灌入到Proteus软件绘制的硬件图的单片机中,运行仿真,会看到数码管显示温度传感器的温度值,人为改变硬件图中温度传感器的温度值,会看到数码管显示的温度值也随之改变,再通过按功能键K3,配合K1、K2来设置温度的上下限值,当前显示的温度值超过设置的上下限值时,蜂鸣器会发出报警声音,声音的频率可通过程序的延时时间来设置。根据可靠的仿真结果,也制作了相应的实物,实物调试也比较成功,总之,本次设计能够达到温度控制的要求,取得了比较满意的效果。   [参考文献]   [1]DS18B20英文数据手册.   [2]彭芬.单片机C语言应用技术[M].西安:西安电子科技大学出版社,2012

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档