51微控制器與ds18b20程式,51微控制器與DS18B20程式

時間 2021-12-19 11:17:05

1樓:匿名使用者

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit dq = p2^2; //資料口define inte***ce

sbit dula = p2^6; //數碼管段選

sbit wela = p2^7; //數碼管位選

uint temp; //溫度值 variable of temperature

//不帶小數點

unsigned char code table = ;

//帶小數點

unsigned char code table1 = ;

/*************精確延時函式*****************/

void delay(unsigned char i)

/******************************************

此延時函式針對的是12mhz的晶振

delay(0):延時518us 誤差:518-2*256=6

delay(1):延時7us (原帖寫"5us"是錯的)

delay(10):延時25us 誤差:25-20=5

delay(20):延時45us 誤差:45-40=5

delay(100):延時205us 誤差:205-200=5

delay(200):延時405us 誤差:405-400=5

*******************************************/

/*****************ds18b20******************/

void init_ds18b20(void) //ds18b20初始化send reset and initialization command

uchar read_one_byte() //讀取乙個位元組的資料read a byte date

//讀資料時,資料以位元組的最低有效位先從匯流排移出

delay(10); //此延時不能少,確保讀時序的長度60us。

}return (dat);

}void write_one_byte(uchar dat)

}uint get_tmp() //獲取溫度get the temperature

/****************數碼碼動態顯示函式**************/

void display(uint temp) //顯示程式

void main()}

2樓:匿名使用者

最好是對著18b20的時序圖看

3樓:匿名使用者

要根據你的藉口對網上的程式修改一下就ok了

4樓:匿名使用者

網上太多了,18b20的程式

我想用微控制器寫個ds18b20溫度感測器的程式但是讀

先解決一個18b20,不用系列號的。再解決一個18b20,使用系列號的。最後,再解決二個18b20,使用系列號的。現在,你弄的規模這麼大,難說在那一個步驟,有問題。 舉例說明 八位二進位制為一位元組,那最大為 1111 1111 255.先將這個數除100得到百位2,然後100取餘為55,將取餘後的...

微控制器程式錯誤,51微控制器c語言程式錯誤

後面兩個錯誤是沒有宣告函式,最簡單的方法就是把main函式調到程式的最後,你看看還有沒有錯誤,我們 hhh.c 113 error c211 call not to a function這個呼叫函式名不存在 hhh.c 114 error c211 call not to a function這個呼...

51微控制器c語言程式注釋標註,51微控制器C語言程式注釋標註

四喜丸子 按鍵掃瞄顯示程式,這有什麼難的?自己每一句照著分析分析不就行了。微控制器c語言程式設計,中間幾段程式注釋不會寫,一些步驟看不懂,望講解 20 考試翻版 微控制器的東西要看晶元的資料手冊,裡面有很多講解,其實微控制器裡特定的位址代表了微控制器特定的功能,你賦特定的值就會啟動或關閉功能,微控制...