#《水温控制系统》1997电子设计大赛(第三届)C组

上传人:公**** 文档编号:500868814 上传时间:2022-10-16 格式:DOC 页数:11 大小:46KB
返回 下载 相关 举报
#《水温控制系统》1997电子设计大赛(第三届)C组_第1页
第1页 / 共11页
#《水温控制系统》1997电子设计大赛(第三届)C组_第2页
第2页 / 共11页
#《水温控制系统》1997电子设计大赛(第三届)C组_第3页
第3页 / 共11页
#《水温控制系统》1997电子设计大赛(第三届)C组_第4页
第4页 / 共11页
#《水温控制系统》1997电子设计大赛(第三届)C组_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《#《水温控制系统》1997电子设计大赛(第三届)C组》由会员分享,可在线阅读,更多相关《#《水温控制系统》1997电子设计大赛(第三届)C组(11页珍藏版)》请在金锄头文库上搜索。

1、水温控制系统1997电子设计大赛(第三届)C组一、任务设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。二、要求.基本要求(1) 温度设定范围为4090C,最小区分度为C,标定温度lCo(2) 在全量程内任意设定一个温度值(起始温度+-20),控制系统可以实现该给定温度的恒值自动控制。(3) 显示水的实际温度,精确到0.1(误差0.5)o.发挥部分(1) 采用适当的控制方法,当设定温度突变(由40C提高到60C)时,减小系统的调节时间和超调量。(2) 温度控制的静态误差0.2Co(3)

2、 在设定温度发生突变(由40C提高到60C)时,用液晶屏幕显示水温随时间变化的曲线。答案单片机与DS18B20并用LCD1602显示c程序sbitDQ=P1八4;/ds18b20与单片机连接口sbitRS=P1八3;sbitRW=P1A2;sbitEN=P1A1;还有我的LCD的16引脚接到了单片机上的P1.0上,就是要用软件使LCD亮,硬件已经做出来了,所以改不了.(最好附上详细的解释,谢谢了)提问者:weilynare-三级最佳答案#include#defineucharunsignedchar#defineuintunsignedintsbitBLK=P1A0;sbitDQ=PM4;sb

3、itRS=P1A3;sbitRW=P1A2;sbitEN=P1A1;unsignedcharcodestr1=temperature:;unsignedcharcodestr2=;uchardatadisdata5;uinttvalue;/温度值uchartflag;/温度正负标志voiddelay1ms(unsignedintms)/延时1毫秒(不够精确的)*lcd1602程序*unsignedinti,j;for(i=0;ims;i+)for(j=0;j0;i-)DQ=0;/给脉冲信号dat=1;DQ=1;/给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);retu

4、rn(dat);voidds1820wr(ucharwdata)/*写数据*/unsignedchari=0;for(i=8;i0;i-)DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata=1;read_temp()/*读取温度值并转换*/uchara,b;ds1820rst();ds1820wr(0xcc);*ds1820wr(0x44);*ds1820rst();ds1820wr(0xcc);*ds1820wr(0xbe);*a=ds1820rd();b=ds1820rd();ds1820rst();ds1820wr(0xcc);*ds1820wr(

5、0x44);*ds1820rst();ds1820wr(0xcc);*ds1820wr(0xbe);*a=ds1820rd();b=ds1820rd();跳过读序列号*/启动温度转换*/跳过读序列号*/读取温度*/tvalue=b;tvalue=8;tvalue=tvalue|a;if(tvaluevOxOfff)tflag=O;elsetvalue=tvalue+1;tflag=1;tvalue=tvalue*(0.625);温度值扩大10倍,精确到1位小return(tvalue);/*/voidds1820disp()温度值显示ucharflagdat;disdata0=tvalue/1

6、000+0x30;百位数disdata1=tvalue%1000/100+0x30;十位数disdata2=tvalue%100/10+0x30;个位数disdata3=tvalue%10+0x30;小数位if(tflag=0)flagdat=0x20;正温度不显示符号elseflagdat=0x2d;负温度显示负号:-if(disdata0=0x30)disdata0=0x20;如果百位为0,不显示if(disdata1=0x30)disdata1=0x20;如果百位为0,十位为0也不显示wr_com(0xc0);wr_dat(flagdat);显示符号?wr_com(0xc1);wr_dat(disdata0);显示百位wr_com(0xc2);wr_dat(disdata1);显示十位wr_com(0xc3);wr_dat(disdata2);显示个位wr_com(0xc4);wr_dat(0x2e);显示小数点wr_com(0xc5);wr_dat(disdata3);显示小数位/*主程序*/voidmain()init_play();初始化显示while(1)read_temp();读取温度ds1820disp();显示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号