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

正文內(nèi)容

單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目六數(shù)字溫度計(jì)-在線瀏覽

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

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