基于DS18B20组成的三路测温系统(5)

2019-06-05 10:43

西安航空学院毕业论文

}

void display(uchar *p) { } init_play() { }

/******************二号初始化***********************/ init_play1() { }

/*********************三号初始化*********************/ init_play2() { }

18

//显示

while(*p!='\\0') { }

wr_dat(*p); p++; delay1ms(5);

//1号初始化显示

lcd_init(); wr_com(0x80); display(str1);

//2号初始化显示

wr_com(0x80+0x08); display(str2);

//3号初始化显示

wr_com(0x80+0x40); display(str3);

西安航空学院毕业论文

/****************1号DS1820程序*********************/

void delay_18B20(uint i) {

while(i--); }

void ds1820rst() { uchar x=0; DQ = 1; delay_18B20(4); DQ = 0; delay_18B20(100); DQ = 1;

delay_18B20(40);

}

uchar ds1820rd() { uchar i=0; uchar dat = 0; for (i=8;i>0;i--) {

DQ = 0; dat>>=1; DQ = 1; if(DQ) dat|=0x80;

delay_18B20(10);

//延时1微秒

//ds1820复位

//DQ复位 //延时 //DQ拉低

//精确延时大于480us //拉高

//读数据

//给脉冲信号

//给脉冲信号

19

西安航空学院毕业论文

}

return(dat); }

void ds1820wr(uchar wdata)

{

uchar i=0;

for (i=8; i>0; i--) {

DQ = 0;

DQ = wdata&0x01;

delay_18B20(10); DQ = 1; wdata>>=1;

} }

read_temp() { uchar a,b; ds1820rst(); ds1820wr(0xcc); ds1820wr(0x44);

ds1820rst(); ds1820wr(0xcc); ds1820wr(0xbe);

a=ds1820rd(); b=ds1820rd();

tvalue=b;

//写数据

// 数据放在数据线上被读走

//1号读取温度值并转换 //跳过读序列号

//启动温度转换

//跳过读序列号

//读取温度

20

西安航空学院毕业论文

tvalue<<=8; tvalue=tvalue|a;

if(tvalue<0x07ff) else

{ }

//温度值扩大10倍,精确到1位小数

tvalue=~tvalue+1; tflag=1; tflag=0;

}

tvalue=tvalue*(0.625); return(tvalue);

/**********************1号温度值显示**********************/

void ds1820disp() {

uchar flagdat;

//百位数 //十位数 //个位数 //小数位

disdata[0]=tvalue/1000+0x30;

disdata[1]=tvalue00/100+0x30; disdata[2]=tvalue0/10+0x30; disdata[3]=tvalue+0x30;

if(tflag==0) flagdat=0x20; else

flagdat=0x2d;

//负温度显示负号:-

//正温度不显示符号

if(disdata[0]==0x30) {

disdata[0]=0x20;

21

//如果百位为0,不显示

西安航空学院毕业论文

if(disdata[1]==0x30)

disdata[1]=0x20;

//如果百位为0,十位为0也不显示

}

//wr_dat(flagdat); wr_com(0x80+2); wr_dat(disdata[0]); wr_com(0x80+3); wr_dat(disdata[1]); wr_com(0x80+4); wr_dat(disdata[2]); wr_com(0x80+5); wr_dat(0x2e); wr_com(0x80+6); wr_dat(disdata[3]); }

//显示符号位

//显示百位

//显示十位

//显示个位

//显示小数点

//显示小数位

/*******************二号DS18B20程序**************************/

void delay_18B201(unsigned int i) //延时1微秒 {

while(i--); }

void ds1820rst1() {

//ds1820复位

uchar x=0;

DQ1 = 1; delay_18B20(4);

//DQ复位 //延时 //DQ拉低

//精确延时大于480us

22

DQ1 = 0; delay_18B201(100);


基于DS18B20组成的三路测温系统(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:服装辅料(衬布)项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: