读取DS18B20温度,通过LCD1602显示出来,并输出控制教案.doc

读取DS18B20温度,通过LCD1602显示出来,并输出控制教案.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电路原理图 程序 1.main.c #includereg51.h #includelcd.h #includetemp.h void LcdDisplay(int); sbit K1=P2^0; sbit K2=P2^1; sbit K3=P2^2; sbit K4=P2^3; extern int th=20; extern int tl=-10; sbit beep=P1^0; void main() { LcdInit(); LcdWriteCom(0xc7); LcdWriteData(C); while(1) { if(K1==0) { Delay1ms(500); if(K1==0); th++; } if(K2==0) { Delay1ms(500); if(K2==0); th--; } if(K3==0) { Delay1ms(500); if(K3==0); tl++; } if(K4==0) { Delay1ms(500); if(K4==0); tl--; } LcdDisplay(Ds18b20ReadTemp()); } } void LcdDisplay(int temp) { int i,tt,rr,mm; unsigned char datas[] = {0, 0, 0, 0},datas1[] = {0, 0, 0},datas2[] = {0, 0, 0}; float tp; if(temp 0) { LcdWriteCom(0xc0); LcdWriteData(-); i=1; temp=temp-1; temp=~temp; tp=temp; temp=tp*0.0625*10+0.5; mm=-temp; } else { LcdWriteCom(0xc0); LcdWriteData(+); tp=temp; temp=tp*0.0625*10+0.5; mm=temp; } datas[0] = temp / 1000; datas[1] = temp % 1000 / 100; datas[2] = temp % 100 / 10; datas[3] = temp% 10; if(th 0) { LcdWriteCom(0x89); LcdWriteData(-); tt=-th; } else { LcdWriteCom(0x89); LcdWriteData(+); tt=th; } datas1[0] = tt / 100; datas1[1] = tt% 100 / 10; datas1[2] = tt % 10; LcdWriteCom(0x87); LcdWriteData(H); LcdWriteCom(0x88); LcdWriteData(:); LcdWriteCom(0x8a); LcdWriteData(0+datas1[0]); LcdWriteCom(0x8b); LcdWriteData(0+datas1[1]); LcdWriteCom(0x8c); LcdWriteData(0+datas1[2]); if(tl 0) { LcdWriteCom(0x90); LcdWriteData(-); rr=-tl; } else { LcdWriteCom(0x90); LcdWriteData(+); rr=tl; } datas2[0] = rr / 100; datas2[1] = rr% 100 / 10; datas2[2] = rr % 10; LcdWriteCom(0x8e); LcdWriteData(L); LcdWriteCom(0x8f); LcdWriteData(:); LcdWriteCom(0x91); LcdWriteData(0+datas2[0]); LcdWriteCom(0x92); LcdWriteData(0+datas2[1]); LcdWriteCom(0x93); LcdWriteData(0+datas2[2]); if(mm=(th*10)||mm=(tl*10)||th=tl

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档