云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于DS18B20温度传感器设计

基于DS18B20温度传感器设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/9 4:03:49

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

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温度传感器设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

四川职业技术学院毕业设计(论文) 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--; <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com