于冬晨毕业论文设计(8)

2018-12-15 17:44

无锡城市职业技术学院毕业设计(论文)

36

太阳能热水器监控仪设计

附录2 部分程序

DS18B20温度检测程序: #include #include #include #include #define SomeNOP() #define uint unsigned int #define uchar unsigned char #define ulong unsigned long

sbit dq = P1^3; //DS18b20 char data temp;

uchar code ds18_1[] = {0x28,0xFF,0x38,0x1B,0x01,0x00,0x00,0xF5}; uchar code ds18_2[] = {0x28,0xD3,0x2C,0x1B,0x01,0x00,0x00,0x5D}; uchar key;

unsigned char code disp_code[]={

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf}; unsigned char code key_code[]={

0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77 }; /*--us 延时--*/

//cyc=18。432 delay(10)=51us void delay(uint us) { }

/*--ms 延时--*/

//cyc=11。0592 ,j<28,1ms

37

///cyc=11.0592 时的延时时间

while(--us);

无锡城市职业技术学院毕业设计(论文)

//cyc=18。432 ,j<56,1ms void delay_ms (uint ms) {

uint data i,j; for(i=0;i

SBUF=i; while(!TI); TI=0; }

/***********ds18b20复位**************/ void ds_reset(void) { dq=1;

_nop_(); dq=0;

delay(150); _nop_(); dq=1; delay(30); dq = 1; }

/***********ds18b20读一个字节**************/ uchar rd_ds18 (void) //读取单字节 {

//从高到低

uchar i,u=0; for(i=0;i<8;i++)

38

太阳能热水器监控仪设计

{ dq = 0; u >>= 1; dq = 1; if(dq==1) u |= 0x80;

delay (8);// _nop_(); }

return(u); }

/*************ds18b20写一个字节****************/ void wr_ds18 (unsigned char wr) //单字节写入 { uchar i;

//从低到高

for (i=0;i<8;i++) { dq = 0; _nop_(); dq=wr&0x01;

delay(8); //delay 45 uS //5 8 _nop_(); _nop_(); dq=1; wr >>= 1; } }

/**************读取ds18b20当前温度************/ char get_temp(void) {

39

无锡城市职业技术学院毕业设计(论文)

uchar Low,Height,i,j,templs; ds_reset();

wr_ds18(0xcc); //skip rom wr_ds18(0x44); //start convert ds_reset();

wr_ds18(0xcc); //skip rom

wr_ds18(0xbe); //read ram Low=rd_ds18(); Height=rd_ds18(); i=Low>>4; j=Height<<4; templs=i|j; // com(templs); return(templs); }

/**************匹配ds18b20************/ void mach_ds() { uchar i; ds_reset();

wr_ds18(0x55); //mach rom for (i=0;i<8;i++) {

wr_ds18(ds18_1[i]); } }

/***********读DS器件ID号**************/ /*---*/ void rd_ds_id() uchar id;

40

//小数部分 //整数部分

//补码形式表示部分

{


于冬晨毕业论文设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新系统资料酒店管理办法

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

马上注册会员

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