基于单片机的空调温度控制器设计课程设计.doc

基于单片机的空调温度控制器设计课程设计.doc

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 接口技术课程设计报告 基于单片机的空调温度控制器设计 摘 要 设计了基于AT89C52的高精度家用空调温度控制系统,系统硬件主要由电源电路、温度采集电路(DS18B20)、键盘、显示电路、输出控制电路及其他辅助电路组成;软件采用8051C语言编程;该系统可以完成温度的显示、温度的设定、空调的控制等多项功能。 关键词:单片机;DS18B20;温度检测;显示 目录 TOC \o 1-3 \h \u #includekey.h #include18B20.h #includeLCD.h ////////////////////全局变量///////////////////////////// float TEMP_NOW=0.0; float TEMP_SET=21.0; uint T_Count=0; uint S_Count=0; uint P_Count=0; uint N_Count=0; uint M_Count=1; uchar Current_Temp_Display_Buffer[]={ NOW:-23.5 }; uchar set_Temp_Display_Buffer[]= { SET: 21.0 }; int sel=0; void Comparison(); //////////////////////定时/////////////////////////////// void timer0_init(void) { TMOD = 0x00 ; //设置定时器0的工作方式 TH0 = (8192-5000)/32;//单片机晶振为12MHz,机器周期为1us,t=5ms, //N=5000/1=5000 TL0 = (8192-5000)%32; IE = 0x82; TR0=1; } void timer0() interrupt 1 { TH0 = (8192-5000)/32; TL0 = (8192-5000)%32; if(++T_Count == 100) //////100为0.5s { TR0=0; Read_Temperature(); Display_Temperature() ; T_Count=0; if(++P_Count == 6) { N_Count=1; } TR0=1; } } ////////////////////主程序/////////////////////////////// void main() { init_lcd(); Init_DS18B20(); timer0_init(); while(1) { Print(); set_num(); Comparison(); } } void Comparison() { if(N_CountM_Count) { if(TEMP_NOWTEMP_SET) { warm=1; cold=0; } if(TEMP_NOWTEMP_SET) { cold=1; warm=0; } if(TEMP_NOW==TEMP_SET) { cold=0; warm=0; } } } 18B20.h: #ifndef _18B20_H #define _18B20_H #include extern uchar Init_DS18B20(); extern void Read_Temperature(); extern void Display_Temperature(); #endif 18B20.c: #include #include intrins.h #define delayNOP() {_nop_();_nop_();_nop_();_nop_();} uchar code Temperature_Char[8] = {0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00}; uchar code df_Table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9}; uchar CurrentT = 0; uchar Temp_Value[]={0x00,0x00}; uchar Display_Digit[]={0,0,0,0}; bit DS18B20_I

您可能关注的文档

文档评论(0)

weidameili + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档