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

正文內(nèi)容

單片機項目實踐教程劉燎原-項目六數(shù)字溫度計-在線瀏覽

2025-02-24 21:29本頁面
  

【正文】 符號位)。 舉例。 補碼三個部分: 符號 :高字節(jié)的高 4位 整數(shù):高字節(jié)的低 4位、低字節(jié)的高 4位 ? 小數(shù):低字節(jié)的低 4位 ? 對應(yīng)的溫度計算:當符號位 S=0時,直接將二進制位轉(zhuǎn)換為十進制;當 S=1時,先將補碼變?yōu)樵a,再計算十進制值。在 DS18B20出廠時該位被設(shè)置為 0,工作模式 ,用戶不要去改動。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。 ? 根據(jù) DS18B20的通訊協(xié)議,單片機每次訪問 DS18B20都必須遵循以下順序: ? 初始化 18B20 ; ? 發(fā)對 ROM操作命令; ? 發(fā)對 RAM操作命令: ? 相應(yīng)操作。 整個操作的總線狀態(tài)如下圖。 如果 只想讀取溫度 數(shù)據(jù),那在讀完第 0和第 1個數(shù)據(jù) 后就不再理會后面DS18B20發(fā)出的數(shù)據(jù)即可。 整個操作的總線狀態(tài)如下圖: 初始化 DS18B20 跳過 ROM匹配 開始溫度轉(zhuǎn)換 轉(zhuǎn)換結(jié)束了否? 初始化 DS18B20 跳過 ROM匹配 讀溫度值 結(jié)束 開始 Y N DS18B20溫度測量操作流程 ? DS18B20 ? ROM的操作( CCH)命令 ?( 44H)命令 ? ? DS18B20 ? ROM的操作( CCH)命令 ?( BEH)命令 ?(兩個字節(jié))從 RAM中讀出,保存起來 ?,送數(shù)碼管顯示 在以上流程中,反復(fù)用到初始化、寫、讀時序,我們先編程對應(yīng)程序 ?五、 DS18B20的基本操作 在以上的工作流程中,首先要初始化 18B20,然后發(fā)各種命令以及數(shù)據(jù)傳輸都涉及到對 DS18B20的讀寫操作,所以共涉及到以下 3個工作時序: (發(fā)命令) (讀溫度) ? DS18B20的初始化 ( 1) 先將數(shù)據(jù)線置高電平“ 1” 。 ( 4) 延時 750微秒(該時間的時間范圍可以從 480到 960微秒)。 ( 6) 延時等待(如果 初始化成功 則在 15到 60毫秒時間之內(nèi)產(chǎn)生一個由DS18B20所返回的低電平“ 0” 。 ( 7) 若單片機讀到了數(shù)據(jù)線上的低電平“ 0” 后,還要做延時,其延時的時間從發(fā)出的高電平算起(第( 5)步的時間算起)最少要 480微秒。 ? unsigned char presence。delay_8us(3)。 delay_8us(80)。 delay_8us(2)。 ? delay_8us(20)。 return(presence)。 ( 2) 延時確定的時間為 15微秒,表示寫周期開始。 ( 4) 延時時間為 45微秒。 ( 6) 重復(fù)上( 1)到( 6)的操作直到所有的字節(jié)全部發(fā)送完為止。 若主機想寫 0,則拉低電平最少 60微秒直至寫周期結(jié)束,然后釋放總線為高電平。 2. 寫時序 ? void write_byte(unsigned char dat) //單片機向 DS18B20寫 入一個字節(jié)數(shù)據(jù),先低后高 ? { ? unsigned char i。i8。 ? DQ=dat0x01。 //延時約 52微秒,給 DS18B20采樣 ? DQ=1。 ? } ? } 完成一個讀時序過程,至少需要 60us才能完成 DS18B20的讀操作 ( 1)將數(shù)據(jù)線拉高“ 1”。 ( 3)將數(shù)據(jù)線拉低“ 0”。 ( 5)將數(shù)據(jù)線拉高“ 1”。 ( 7)讀數(shù)據(jù)線的狀態(tài)得到 1個狀態(tài)位,并進行數(shù)據(jù)處理。 ? unsigned char read_byte(void) //單片機從 DS18B20讀出一個字節(jié)數(shù)據(jù) ? { ? unsigned char i,dat。i8。 ? dat=1。 ? if(DQ) //存儲采樣到的值 ? dat|=0x80。 ? } ? return dat。 ?程序流程 初始化 DS18B20 跳過 ROM匹配 開始溫度轉(zhuǎn)換 轉(zhuǎn)換結(jié)束了否? 初始化 DS18B20 跳過 ROM匹配 讀溫度值 結(jié)束 開始 Y N ? DS18B20 ? ROM的操作( CCH)命令 ?( 44H)命令 ? ? DS18B20 ? ROM的操作( CCH)命令 ?( BEH)命令 ?(兩個字節(jié))讀出保存起來 ?,送數(shù)碼管顯示 ?每個步驟具體化: ? DS18B20 init_ds18b02(void); ? ROM的操作( CCH)命令 if(presence==0) //DS18B20初始化成功 {write_byte(0xcc)。 ? delay_8us(500)。 ? ( BEH)命令 write_byte(0xBE)。 //按順序讀出溫度低 8位
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1