freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目六數(shù)字溫度計(jì)(編輯修改稿)

2025-02-10 21:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ? DS18B20 ? ROM的操作( CCH)命令 ?( 44H)命令 ? ? DS18B20 ? ROM的操作( CCH)命令 ?( BEH)命令 ?(兩個(gè)字節(jié))從 RAM中讀出,保存起來 ?,送數(shù)碼管顯示 在以上流程中,反復(fù)用到初始化、寫、讀時(shí)序,我們先編程對(duì)應(yīng)程序 ?五、 DS18B20的基本操作 在以上的工作流程中,首先要初始化 18B20,然后發(fā)各種命令以及數(shù)據(jù)傳輸都涉及到對(duì) DS18B20的讀寫操作,所以共涉及到以下 3個(gè)工作時(shí)序: (發(fā)命令) (讀溫度) ? DS18B20的初始化 ( 1) 先將數(shù)據(jù)線置高電平“ 1” 。 ( 2) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn)) ( 3) 數(shù)據(jù)線拉到低電平“ 0” 。 ( 4) 延時(shí) 750微秒(該時(shí)間的時(shí)間范圍可以從 480到 960微秒)。 ( 5) 數(shù)據(jù)線拉到高電平“ 1” 。 ( 6) 延時(shí)等待(如果 初始化成功 則在 15到 60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“ 0” 。據(jù)該狀態(tài)可以來 確定它的存在 ,但是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。 ( 7) 若單片機(jī)讀到了數(shù)據(jù)線上的低電平“ 0” 后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第( 5)步的時(shí)間算起)最少要 480微秒。 ( 8) 將數(shù)據(jù)線再次拉高到高電平“ 1” 后結(jié)束。 ? unsigned char presence。 ? init_ds18b02(void) //DS18B20初始化 ? { ? DQ=1。delay_8us(3)。 //延時(shí)約 25微秒 ? DQ=0。 delay_8us(80)。 //延時(shí)約 650微秒 ? ? DQ=1。 delay_8us(2)。 ? presence = DQ。 ? delay_8us(20)。 //延時(shí)約 170微秒 ? ? DQ = 1。 return(presence)。 ? } ?DS18B20的寫操作 ( 1) 數(shù)據(jù)線先置低電平“ 0” 。 ( 2) 延時(shí)確定的時(shí)間為 15微秒,表示寫周期開始。 ( 3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 ( 4) 延時(shí)時(shí)間為 45微秒。 ( 5) 將數(shù)據(jù)線拉到高電平。 ( 6) 重復(fù)上( 1)到( 6)的操作直到所有的字節(jié)全部發(fā)送完為止。 ( 7) 最后將數(shù)據(jù)線拉高。 若主機(jī)想寫 0,則拉低電平最少 60微秒直至寫周期結(jié)束,然后釋放總線為高電平。 若主機(jī)想寫 1,在一開始拉低總線電平 1微秒后就釋放總線為高電平,一直到寫周期結(jié)束。 2. 寫時(shí)序 ? void write_byte(unsigned char dat) //單片機(jī)向 DS18B20寫 入一個(gè)字節(jié)數(shù)據(jù),先低后高 ? { ? unsigned char i。 ? for(i=0。i8。i++) ? { ? DQ=0。 ? DQ=dat0x01。 //單片機(jī)逐位發(fā)出數(shù)據(jù)給 DS18B20 ? delay_8us(4)。 //延時(shí)約 52微秒,給 DS18B20采樣 ? DQ=1。 ? dat=1。 ? } ? } 完成一個(gè)讀時(shí)序過程,至少需要 60us才能完成 DS18B20的讀操作 ( 1)將數(shù)據(jù)線拉高“ 1”。 ( 2)延時(shí) 2微秒。 ( 3)將數(shù)據(jù)線拉低“ 0”。 ( 4)延時(shí) 15微秒。 ( 5)將數(shù)據(jù)線拉高“ 1”。 ( 6)延時(shí) 15微秒,對(duì)總線進(jìn)行采樣檢測(cè)。 ( 7)讀數(shù)據(jù)線的狀態(tài)得到 1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 ( 8)延時(shí) 30微秒。 ? unsigned char read_byte(void) //單片機(jī)從 DS18B20讀出一個(gè)字節(jié)數(shù)據(jù) ? { ? unsigned char i,dat。 ? for(i=0。i8。i++) ? { ? DQ=0。 ? dat=1。 //一舉兩得 ? DQ=1。 ? if(DQ) //存儲(chǔ)采樣到的值 ? dat|=0x80。 ? delay_8us(4)。 ? } ? return dat。 ? } 例:設(shè)計(jì)溫度計(jì), 4位顯示, 1位小數(shù)點(diǎn)。 ?程序流程 初始化 DS18B20 跳過 ROM匹配 開始溫度轉(zhuǎn)換 轉(zhuǎn)換結(jié)束了否? 初始化 DS18B20 跳過 ROM匹配 讀溫度值 結(jié)束 開始 Y N ? DS18B20 ? ROM的操作( CCH)命令 ?( 44H)命令 ? ? DS18B20 ? ROM的操作( CCH)命令 ?( BEH)命令 ?(兩個(gè)字節(jié))讀出保存起來 ?,送數(shù)碼管顯示 ?每個(gè)步驟具體化: ? DS18B20
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1