温控系统说明书.doc

温控系统说明书.doc

ID:59246573

大小:49.00 KB

页数:7页

时间:2020-09-08

温控系统说明书.doc_第1页
温控系统说明书.doc_第2页
温控系统说明书.doc_第3页
温控系统说明书.doc_第4页
温控系统说明书.doc_第5页
资源描述:

《温控系统说明书.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于单片机的简单温控系统机控学院自动化12-2潘星光实现功能:利用单片机89C52和热电偶进行测量发热电阻的温度,利用LCD1602进行显示的温度和人工可设置温度的上限与下限值,即有两个按键是来控制上限值的大小,而另两个按键则是控制下限值的大小的。发热电阻从系统上电后就立即通电发热,设置好所需要温度范围,则测量温度显示的数值会随发热电阻通电时间的增大而增大,当测量的温度超出所设定的上限值时,就会驱动蜂鸣器报警,发热电阻停止通电,同时也会驱动马达扇风来降温;而当测量温度低于所设定的下限值时,也会进行报警,但电机不会被启动和发热电阻也继续通电发热。当然当测量温度在上限值和下限值之间时

2、,是不会进行报警和驱动马达的,但发热电阻仍处于通电状态中。电路原理图:主程序:#include#include<1602.h>#includesbitds=P2^2;sbitbeep=P2^3;sbitrd=P3^7;sbitk=P1^0;bitflag;uchards_rom[8];ucharH,L,Key_value;voidTempDelay(ucharus){while(us--);//6.51us}voidds_reset(){ds=1;_nop_();ds=0;TempDelay(80);//520usds=1;TempDela

3、y(5);if(ds==0)flag=1;elseflag=0;TempDelay(20);ds=1;}bitds_read_bit(){bitdat;ds=0;_nop_();_nop_();ds=1;_nop_();dat=ds;TempDelay(12);returndat;}uchards_read_byte(){uchari,j,value;for(i=0;i<8;i++){j=ds_read_bit();value=(j<<7)

4、(value>>1);}returnvalue;}voidds_write_byte(uchardat){uchari,onebit;for

5、(i=0;i<8;i++){onebit=dat&0x01;if(onebit)//写1{ds=0;TempDelay(1);ds=1;_nop_();}else//写0{ds=0;TempDelay(11);ds=1;_nop_();}dat>>=1;}}voidds_change(){ds_reset();ds_write_byte(0xcc);ds_write_byte(0x44);}ucharget_temperature(){uinttemp;uchara,b,c;ds_reset();ds_write_byte(0xcc);ds_write_byte(0xbe);a=

6、ds_read_byte();b=ds_read_byte();temp=b;temp<<=8;temp

7、=a;c=temp*0.0625;returnc;}voidkey(){Key_value=P3;Key_value=Key_value&0x0f;if(Key_value!=0x0f){delay(5);if(Key_value!=0x0f){switch(Key_value){case0x0e:H++;break;case0x0d:H--;break;case0x0b:L++;break;case0x07:L--;break;}}}}voidmain(){uchari;r

8、d=0;init_1602();write_com(0x80+0+3);write_data('H');write_com(0x80+0+8);write_data('L');lcd_distostr(1,1,0);H=35;L=25;k=1;while(1){ds_change();i=get_temperature();lcd_dis(1,14,uchartostr(i));lcd_dis(0,5,uchartostr(H));lcd_dis(0,10,uchartostr(L));if(i>=H){beep=0;k=0;}elseif(i<=L){beep=0;k=1;}e

9、lse{beep=1;k=1;}key();}}头文件1602.h程序:#defineucharunsignedchar#defineuintunsignedintsbitwela=P2^7;sbitdula=P2^6;sbitLCDEN=P3^4;sbitrs=P3^5;sbitrw=P3^6;uchardatstr[]="Temperature:";ucharstr[4];//uchartostr函数转换的字符串同时可以把16进制转成10进制voiddelay(uintz)/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。