




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
恒温控制系统第一页,共三十八页,编辑于2023年,星期日任务分析:本设计以STC89C52单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机处理。并显示在LED12864液晶显示屏上,报警温度范围可调,文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:LCD12864显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、超温报警程序、直流电机控制程序。关键词:STC89C52单片机;温度控制;DS18B20;LED12864液晶显示屏;第二页,共三十八页,编辑于2023年,星期日目录1引言………………42设计要求…………53工作原理…………6
3.1工作原理………………………74方案设计...........…………………8
4.1温度方案测量…………….…84.2主控制方案...…………….…105各单元的设计………………….…13
5.1键盘单元………………………135.2电源.............................................…………………...……145.3蜂鸣器报警电路………………145.4白炽灯加热控制电路………………...………155.5电机控制电路………………………………………...………165.6LED12864液晶显示电路………….........……175.7总原理图…………….........……186程序设计............………………..…20
6.1程序结构分析…………...……216.2程序框图…………………...…226.3总程序……………………...…247.测试.......………….35附录A程序清单………………………37心得体会..........………………………38第三页,共三十八页,编辑于2023年,星期日1引言温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。第四页,共三十八页,编辑于2023年,星期日2设计要求
设计基于单片机的温度控制器,用于控制温度。具体要求如下:1.温度控制范围连续可调,测量范围为0℃85℃;2.LED12864显示;3.温度误差≤±5℃;4.具有稳定的温度控制及报警装置;
第五页,共三十八页,编辑于2023年,星期日3工作原理温度传感器DS18B20在设备环境采集温度,单片机STC89C512获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动直流电机风扇向外通风降温,当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(白炽灯),同时蜂鸣器报警。3.1硬件框图:STC89C52CPU芯片、键盘扫描、DS18B20温度芯片测量、LED12864显示、温度控制模块、电源;第六页,共三十八页,编辑于2023年,星期日AT89S51CPU键盘扫描电路DS18B20温度芯片数据传输输入电源LED1286数据显示超温报警直流电机风扇控制白炽灯第七页,共三十八页,编辑于2023年,星期日4方案设计
4.1温度测量方案由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。
DS18B20特性;独特的单线接口仅需一个端口引脚进行通讯简单的多点分布应用无需外部器件可通过数据线供电零待机功耗测温范围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F递增温度以9位数字量读出温度数字量转换时间200ms(典型值)用户可定义的非易失性温度报警设置报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件应用包括温度控制、工业系统、消费品、温度计或任何热感测系统第八页,共三十八页,编辑于2023年,星期日第九页,共三十八页,编辑于2023年,星期日4.2主控制部分方案对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。因此我们选Atmel公司STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能第十页,共三十八页,编辑于2023年,星期日单片机最小系统原理图1.复位电路2.时钟电路第十一页,共三十八页,编辑于2023年,星期日STC89C52引脚如下:①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7第十二页,共三十八页,编辑于2023年,星期日5各单元的设计
5.1按键单元单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键都是以开关状态来设置控制功能或输入数据。按键开关状态的可靠输入:为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响。在这里我们用到S1,S2,S3,S4,S5对我们的温度进行调节;按键功能;S1:对应的数+1;S2:对应的数–1;S3:左移一位;S4:确认;S5:调节温度范围键;第十三页,共三十八页,编辑于2023年,星期日5.2电源电路通过USB线+5V供电;5.3蜂鸣器报警电路第十四页,共三十八页,编辑于2023年,星期日5.4白炽灯加热控制电路I/O:P2.0口输出低电平通过继电器吸合控制白炽灯的亮灭;第十五页,共三十八页,编辑于2023年,星期日5.5电机H桥控制电路通过PW1,PW2输出电平的高低,控制电机的正反转,当PWM1为低电平,通过对PWM2输出占空比不同的矩形波使三极管Q1、Q6同时导通Q5截止,从而实现电机正向转动以及转速的控制;同理,当PWM2为高电平,通过对PWM1输出占空比不同的矩形波使三极管Q1、Q6同时导通,Q6截止,从而实现电机反向转动以及转速的控制。第十六页,共三十八页,编辑于2023年,星期日5.612864液晶显示电路第十七页,共三十八页,编辑于2023年,星期日5.7总原理图第十八页,共三十八页,编辑于2023年,星期日PCB板第十九页,共三十八页,编辑于2023年,星期日6.程序设计6.1:程序结构分析总的思路:我们要采集温度并通过单片机处理显示在我们的led12864液晶显示屏上;并要设置初始的上限温度和下限温度范围;并能通过我们的按键可以调节温度的上限和下限值;同时当我们的温度超过上限值;直流电机散热;低于下限值白炽灯加热;
首先我们的对DS18B20初始化;采集温度函数;LED12864液晶显示屏初始化;写地址函数,写数据函数,CPU处理;显示在LED液晶显示屏上,按键扫描函数;主函数;第二十页,共三十八页,编辑于2023年,星期日12864,DS18B20,T0定时器初始化读温度temp判断temp>上限值电机转散热<下限值白炽灯亮加热按键扫描键值处理调节上,下限值蜂鸣器报警LED12864显示6.2程序框图main第二十一页,共三十八页,编辑于2023年,星期日6.3总程序bitlcd_busy() //读忙状态函数
{bitresult;LCD_RS=0;LCD_RW=1; _nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P1&0x80);LCD_EN=0;return(result);}LED12864显示函数第二十二页,共三十八页,编辑于2023年,星期日voidlcd_wcmd(UINT8cmd) //写地址函数{while(lcd_busy());LCD_RS=0;LCD_RW=0; _nop_();_nop_();_nop_();_nop_();LCD_EN=0;_nop_();_nop_();P1=cmd;Delayus(50);LCD_EN=1;Delayus(50);LCD_EN=0;}第二十三页,共三十八页,编辑于2023年,星期日voidlcd_wdat(UINT8dat) //写数据函数{while(lcd_busy());LCD_RS=1;LCD_RW=0; _nop_();_nop_();_nop_();_nop_();LCD_EN=0;_nop_();_nop_();P1=dat;Delayus(50);LCD_EN=1;Delayus(50);LCD_EN=0;}第二十四页,共三十八页,编辑于2023年,星期日voidLcd_Init(void) //LCD液晶初始化函数{ Delayms(100); LCD_RST=0; Delayms(40);//等待复位>40MS LCD_RST=1; Delayms(5); lcd_wcmd(0x30);// lcd_wcmd(0x30); lcd_wcmd(0x0c); lcd_wcmd(0x01); lcd_wcmd(0x06);}第二十五页,共三十八页,编辑于2023年,星期日voidDis_Str(UINT8X,UINT8Y,UINT8*str)//写入地址*str和数据X,Y;并显示{ UINT8pos; if(X==0) {X=0x80;} elseif(X==1) {X=0x90;} elseif(X==2) {X=0x88;} elseif(X==3) {X=0x98;} pos=X+Y; lcd_wcmd(pos);//显示地址 _nop_(); _nop_();_nop_(); _nop_(); while(*str!='\0')//未结束 { lcd_wdat(*str++); Delayms(5); }}第二十六页,共三十八页,编辑于2023年,星期日voidds1820rst()/*ds1820复位*/{ UINT8x=0; DQ=1;//DQ复位
delay_18B20(4);//延时
DQ=0;//DQ拉低
delay_18B20(100);//精确延时大于480us DQ=1;//拉高
delay_18B20(40);}DS18B20子函数第二十七页,共三十八页,编辑于2023年,星期日UINT8ds1820rd()/*读数据*/{ UINT8i=0; UINT8dat=0; for(i=8;i>0;i--) { DQ=0;//给脉冲信号
dat>>=1; DQ=1;//给脉冲信号
if(DQ) dat|=0x80; delay_18B20(10); }return(dat);}第二十八页,共三十八页,编辑于2023年,星期日voidds1820wr(UINT8wdata)/*写数据*/{ UINT8i=0;for(i=8;i>0;i--) { DQ=0; DQ=wdata&0x01; delay_18B20(10); DQ=1; wdata>>=1;}}第二十九页,共三十八页,编辑于2023年,星期日UINT16read_temp(void)/*读取温度值并转换*/{ UINT8a,b; UINT16tvalue; ds1820rst();//复位
ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst();//复位
ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/
a=ds1820rd();//读低8位
b=ds1820rd();//读高8位
if((b&0xf8)==0xf8) //负数时
{ tvalue=b; tvalue<<=8; tvalue=tvalue|a; tvalue=(!tvalue)*5/8;//取反后在乘0.625温度值扩大10倍
} else //正数时
{ tvalue=b; tvalue<<=8; //左移8位
tvalue=tvalue|a; tvalue=tvalue*5/8;//温度值扩大10倍,精确到1位小数
} return(tvalue);}第三十页,共三十八页,编辑于2023年,星期日UINT8scan_key(void){ UINT8key; if((P0&0x0f)==0x0f)return(0xff); Delayms(20); if((P0&0x0f)==0x0f)return(0xff); key=(P0&0x0f); while((P0&0x0f)!=0x0f); return(key);}按键扫描第三十一页,共三十八页,编辑于2023年,星期日voidINT0_time()interrupt2{ UINT8num1=0,KEY; spk=0; Delayms(100); spk=1; KEY=scan_key(); while(KEY!=S4) { KEY=scan_key(); switch(KEY) {
caseS1:if(num1==0) { flog++; } else { if(flog>flog1)flog1++; elseflog1=flog1; } break; case S2:if(num1==0){ flog--;if(flog>flog1)flog--; elseflog=flog; } else{flog1--; } break; caseS3:num1++;num1%=2; break; } } spk=0; Delayms(50); spk=1;}用中断方式调节温度函数第三十二页,共三十八页,编辑于2023年,星期日voidmain(void)// 主函数{ inttemp;UINT8dispstr1[16]="恒温控制系统";UINT8dispstr2[16]=“室温℃
";Delayms(100);Lcd_Init();Delayms(100);int0_timer();Dis_Str(0,0,dispstr1);while(1){temp=read_temp();dispstr2[8]=temp/100%10+0x30;dispstr2[9]=temp/10%10+0x30;dispstr2[10]='.';dispstr2[11]=temp%10+0x30;Dis_Str(1,0,dispstr2);Dis_Str(2,0,dispstr3);Dis_Str(3,0,dispstr4);if(temp>=(flog*10)||temp<=(flog1*10)){
TR1=0; spk=0; Delayms(200); spk=1; if(temp>=(flog*10)){ pw1=0; pw2=1; Delayms(10); } else
TR1=0; led=0; } else{
TR1=0; spk=1; pw1=0; pw2=0; led=1;
led=1; fen=0; mis=0; shi=0; }Delayms(100);}}第三十三页,共三十八页,编辑于2023年,星期日voidINT_time1()interrupt3{ staticUINT16num=0; TH1=0x3c; TL1=0xb0; num++; if(num==20) { num=0; mis++; if(m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级历史下册 第三学习主题 建设中国特色社会主义 第12课 沿着中国特色社会主义道路前进教学实录2 川教版
- 小学信息技术四年级上册第5课《 编排文档》教学设计
- 学校社团工作计划提升学生的组织能力
- 品牌影响力提升的创意方式计划
- 班级服务活动的规划与开展计划
- 建立社区青年活动中心的实施方案计划
- 高效课堂建设与管理方案计划
- 班级关于网络安全的教育活动计划
- 《第6课 心向往之-网上旅行》教学设计教学反思-2023-2024学年初中信息技术清华大学版2012七年级上册
- 培养班级集体主义精神的方法计划
- 四川省中小流域暴雨洪水计算
- 水泥熟料岩相分析
- 杂诗十二首其二陶渊明
- 第五届大广赛获奖作品
- 《广告摄影》课件第五讲 食品广告拍摄与后期制作
- (三起点)pep人教版五年级英语下学期Unit2单元课件全套
- Brother-TC-S2A机器操作资料课件
- 肖申克的救赎的英语ppt
- X62W铣床主轴机械加工工艺规程及钻床夹具设计
- 危重孕产妇救治中心建设与管理指南
- 中医院进修申请表(共5页)
评论
0/150
提交评论