|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請教!哪位大哥有單線溫度采集器件的資料 |
| 作者:zield 欄目:單片機 |
要寫單線溫度采集器件的論文,苦于沒資料 是關于DS18B20的. |
| 2樓: | >>參與討論 |
| 作者: wzgnow 于 2005/6/8 20:18:00 發(fā)布:
hehe 網(wǎng)上太多了,收一下! |
|
| 3樓: | >>參與討論 |
| 作者: zield 于 2005/6/8 20:24:00 發(fā)布:
主要是其用途 我硬件方面是寫完了 就是關于軟件的,網(wǎng)上看了不少就是沒有合適的 謝謝兩位 |
|
| 4樓: | >>參與討論 |
| 作者: zhugang03 于 2005/6/9 14:49:00 發(fā)布:
我剛剛做出來 用C51做的 |
|
| 5樓: | >>參與討論 |
| 作者: zield 于 2005/6/9 16:22:00 發(fā)布:
致zhugang03 用的是89C51 可否借小弟一看 |
|
| 6樓: | >>參與討論 |
| 作者: zield 于 2005/6/10 8:29:00 發(fā)布:
沒程序啊 看過了,好象不詳細.謝謝 |
|
| 7樓: | >>參與討論 |
| 作者: HIGHWAY 于 2005/6/10 10:47:00 發(fā)布:
我有匯編DS18B20的例子,需要聯(lián)系我 |
|
| 8樓: | >>參與討論 |
| 作者: HIGHWAY 于 2005/6/10 12:40:00 發(fā)布:
今天晚上發(fā)給你 |
|
| 9樓: | >>參與討論 |
| 作者: zield 于 2005/6/10 14:02:00 發(fā)布:
致HIGHWAY 我用的晶振是11.0592 |
|
| 10樓: | >>參與討論 |
| 作者: gaobq 于 2005/6/10 21:07:00 發(fā)布:
太懶了,網(wǎng)上一堆,自己找找 |
|
| 11樓: | >>參與討論 |
| 作者: HIGHWAY 于 2005/6/10 21:46:00 發(fā)布:
郵件已發(fā)兩位MAIL,請查收 |
|
| 12樓: | >>參與討論 |
| 作者: li3 于 2005/6/13 9:37:00 發(fā)布:
“溫度可精確到0.1度” 請看器件手冊,不可能到0.1的精度 |
|
| 13樓: | >>參與討論 |
| 作者: zhugang03 于 2005/6/14 14:17:00 發(fā)布:
網(wǎng)上都沒調(diào)試過 網(wǎng)上都沒調(diào)試過的,而我的C51已經(jīng)調(diào)試過的,現(xiàn)在已經(jīng)在用的,效果還可以 |
|
| 14樓: | >>參與討論 |
| 作者: 雷風 于 2005/6/14 15:02:00 發(fā)布:
18B20成型程序 #include "18B20.h" unsigned int i; //延時用數(shù)值 unsigned int flag; //讀取溫度值的傳遞變量 sbit TD=P1^5; //總線和18B20連接 /* void tmget(void) //main { unsigned CHAR lsb,msb; delay(1); tmstart(); //DS1820 start convert delay(1000); last=readtemp(); //read temperature msb=flag/256; lsb=flag%256; while (1); } */ //Reset 18B20,相當于初始化 void reset_18B20(void) { unsigned int i; TD=0; i=103;while(i>0)i--; //下拉時間 900 us TD=1; i=4;while(i>0)i--; //18B20等待時間 35 us while(TD); while(~TD); i=4;while(i>0)i--; //等待18B20存在脈沖的應答 } //read one bit bit readbit(void) { unsigned int i; bit dat; TD=0;i++; //低電平保持1us TD=1;i++;i++; //停止把io口驅(qū)動為低電平15us以上 dat=TD; i=8;while(i>0)i--; return(dat); } //read one byte unsigned CHAR readbyte(void) { unsigned CHAR i,j,dat; dat=0; for(i=1;i<=8;i++) { j=readbit(); dat=(j<<7)|(dat>>1); } return(dat); } //write one byte void writebyte(unsigned CHAR dat) { unsigned int i; unsigned int j; bit testb; for (j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) { //write 1 TD=0; //先拉低 i++;i++; TD=1; //退出低狀態(tài) i=8;while(i>0)i--; } else { TD=0; //wirte 0 i=8;while(i>0)i--; //持續(xù)至少60us低電平才為 TD=1; i++;i++; } } } //ds18B20 start convert void tmstart(void) { reset_18B20(); //18B20復位 delay(1); writebyte(0xcc); //skip rom writebyte(0x44); //convert } //讀溫度值 unsigned int readtemp(void) { unsigned CHAR a,b; unsigned i |
|
| 15樓: | >>參與討論 |
| 作者: treelf 于 2005/6/16 10:06:00 發(fā)布:
我也正需要,調(diào)了很久也沒調(diào)出來,謝謝先,treelf@sina.com 第一次不用仿真器調(diào),感覺真的很郁悶 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |