第一范文网 - 专业文章范例文档资料分享平台

基于DS18B20温度传感器设计

来源:用户分享 时间:2025/6/6 15:38:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

四川职业技术学院毕业设计(论文)

void Init_DS18B20(void); unsigned char ReadOneChar(void); void WriteOneChar(unsigned char dat); void delay(unsigned int i);

/************************************************************************/

void wait(uint i) //延时函数 {

for(;i>0;i--); }

void T0Int(void) interrupt 1 using 0 //T0中断服务函数 {if(flag!=1&&flag_18B20==0) {C100us--;

if(C100us==0) //100us计数器为0,重置计? {C100us=20000; second++;

if(second==60){second=0;minute++;} if(minute==60){minute=0;hour++;} if(hour==24){hour=0;} } } }

void display() {uchar mi,ho; if(flag_18B20==0) { if(flag!=3) {mi=minute; ho=hour; } if(flag==3) {mi=nminute; ho=nhour; }

第 28 页共 39页

四川职业技术学院毕业设计(论文)

P0=LED_CODES[second]; P2=Select[0]; wait(30); P2=0xff;

P0=LED_CODES[second/10]; P2=Select[1]; wait(30); P2=0xff;

P0=LED_CODES[mi]; if(wei==1&&flag>0) if(flash>100) P0=0xff; P2=Select[2]; wait(30); P2=0xff;

P0=LED_CODES[mi/10]; if(wei==2&&flag>0) if(flash>100) P0=0xff; P2=Select[4]; wait(30); P2=0xff;

P0=LED_CODES[ho]; if(wei==3&&flag>0) if(flash>100) P0=0xff; P2=Select[3]; wait(30); P2=0xff;

P0=LED_CODES[ho/10]; if(wei==4&&flag>0) if(flash>100) P0=0xff; P2=Select[5];

第 29 页共 39页

四川职业技术学院毕业设计(论文)

wait(30); P2=0xff; flash--; if(flash==0) flash=200; } }

uchar anjian(void) { unsigned scode ,recode; P3=0xf0;

if((P3&0xf0)!=0xf0) {

wait(100);

if((P3&0xf0)!=0xf0) {

scode=0xfe;

while((scode&0x10)!=0) {

P3=scode;

if((P3&0xf0)!=0xf0) {

recode=(P3&0xf0)|0x0f; return ((~scode)+(~recode)); }

else scode=(scode<<1)|0x01; } } } return 0; }

void pan(uchar x) {number=10;

第 30 页共 39页

四川职业技术学院毕业设计(论文)

switch(x) {

case 0x11: number=0; break; //0 case 0x21: number=1; break; //1 case 0x41: number=2; break; //2 case 0x81: number=3; break; //3

case 0x12: number=4; break; //4 case 0x22: number=5; break; //5 case 0x42: number=6; break; //6 case 0x82: number=7; break; //7

case 0x14: number=8; break; //8 case 0x24: number=9; break; //9 case 0x44: flag=1; break;

case 0x18: if(de==0)wei--;

de++; break; case 0x48: if(de==0){led=~led;} case 0x88: flag_18B20=1; break; case 0x28: flag=3; break; de++; break; }

if(x!=0x48&&x!=0x18) de=0; if(wei==0) wei=4; } tiaoshi() {

if(flag==1)

第 31 页共 39页

case 0x84: flag=0; flag_18B20=0; break;

搜索更多关于: 基于DS18B20温度传感器设计 的文档
基于DS18B20温度传感器设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8u0hd13iwp0vngk58yua7wp9920czo00zv7_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top