- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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_IS_OK = 1;
void Del
您可能关注的文档
最近下载
- (精编)【医学教学课件】人绒毛膜促性腺激素(HCG).ppt VIP
- 2024年巡察整改专题民主生活会个人“聚焦四个方面”对照检查材料范文2篇.docx VIP
- 小学易错字1000.doc VIP
- 最新国家开放大学电大本科《人类行为与社会环境》论述题题库及答案精品.pdf VIP
- 说课课件(3.7.1处理民族关系的原则:平等、团结、共同繁荣).pptx VIP
- 省级教学能力大赛--教学实施报告(范本).pdf VIP
- 2024年安全月活动上的领导讲话稿范文(三篇).docx VIP
- 国家开放大学电大工商管理考题题库及答案.docx VIP
- 2025关于加强党的作风建设论述摘编PPT学习课件.pptx VIP
- (2025)反洗钱知识考试试题库及答案.pdf VIP
文档评论(0)