下載手機(jī)汽配人

跪求指點(diǎn)DS18B20程序?一個(gè)溫控系統(tǒng)的溫度傳感器部分?結(jié)構(gòu)如下:

初始化DS18B20→發(fā)出跳過ROM指令→發(fā)出溫度轉(zhuǎn)化命令→延時(shí)等待轉(zhuǎn)化→初始話DS18B20→發(fā)出暫存指令→發(fā)出匹配ROM指令→讀取數(shù)據(jù)→數(shù)據(jù)發(fā)送至AT89S52
提問者:網(wǎng)友 2018-08-01
最佳回答
這是我之前寫的一個(gè)程序 希望能幫到你 有問題可以探討下 #include #include #define data P0 #define uchar unsigned char #define uint unsigned int uchar TEMP;// 溫度值的變量; uchar flag1; sbit RS=P2^0; sbit RW=P2^1; sbit LCDE=P2^2; sbit DQ=P2^3; sbit bflag=ACC^7; uchar tab1[]={'0','1','2','3','4','5','6','7','8','9'}; uchar idata tab2[2][16]={{"Be careful "},{"temperature: "}}; uchar buf[2]; void delay1(uchar i) { while(--i); } void delay3 (unsigned int count) { unsigned int i; while (count) { i =200; while (i>0) i--; count--; } } void tmreset (void)// 發(fā)送復(fù)位和初始化 { unsigned int i; DQ = 0; i = 103; while (i>0) i--; // 延時(shí) DQ = 1; i = 4; while (i>0) i--; } bit tmpread (void)// 讀取數(shù)據(jù)的一位 { unsigned int i; bit dat; DQ = 0; i++; DQ = 1; i++; i++;//延時(shí) dat =DQ; i = 8; while (i>0) i--;// 延時(shí) return (dat); } unsigned char tmpread2 (void)//讀一個(gè)字節(jié) { unsigned char i,j,dat; dat = 0; for (i=1;i<=8;i++) { j = tmpread (); dat = (j << 7) | (dat >> 1); } return (dat); } void tmpwrite (unsigned char dat)//寫一個(gè)字節(jié) { unsigned int i; unsigned char j; bit t
回答者:網(wǎng)友
產(chǎn)品精選
搜索問答
還沒有汽配人賬號(hào)?立即注冊(cè)

我要提問

汽配限時(shí)折扣

本頁是網(wǎng)友提供的關(guān)于“跪求指點(diǎn)DS18B20程序?一個(gè)溫控系統(tǒng)的溫度傳感器部分?結(jié)構(gòu)如下:”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。