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

正文內(nèi)容

ds18b20學習及例程詳解(編輯修改稿)

2025-02-17 12:38 本頁面
 

【文章內(nèi)容簡介】 READ ROM [33h] ? MATCH ROM [55h] ? SKIP ROM [CCh] ? ALARM SEARCH [ECh] ? 具體各命令作用祥看 datasheet。 ? 因為這里,我們只外接一個 ds18b20,不需要進行 64位序列碼確認。也沒有警報功能。所以,只需要進行 skip ROM[cch]命令即可。 ? 程序中該語句為 ? writebyte(0xcc)。 //skip rom cmd 十二, ds18b20功能命令 ? 這些命令可以使主機對 ds18b20的高速暫存寄存器中某些寄存器進行讀寫、開啟一次溫度轉(zhuǎn)換以及檢測電源供應方式。 ? 所有的功能命令: ? CONVERT T [44h] 溫度轉(zhuǎn)換命令 ? WRITE SCRATCHPAD [4Eh] ? READ SCRATCHPAD [BEh] ? COPY SCRATCHPAD [48h] ? RECALL E2 [B8h] ? READ POWER SUPPLY [B4h] ? 這里,我們只需要啟動溫度轉(zhuǎn)換和讀取結(jié)果兩個命令; ? 程序中: ? writebyte(0x44)。 //convert T cmd ? writebyte(0xbe)。 //read scratchpad cmd ? 程序: ? 啟動一次溫度轉(zhuǎn)換的完整程序 //向 ds18b20發(fā)送溫度轉(zhuǎn)換指令 void sendchangecmd() { dsinit()。 //初始化 ds18b20 dswait()。 //等待 da18b20回應 writebyte(0xcc)。 //skip rom cmd writebyte(0x44)。 //convert T cmd } ? 讀取溫度結(jié)果的命令順序: //向 ds18b20讀取數(shù)據(jù)命令 void sendreadcmd() { dsinit()。 dswait()。 writebyte(0xcc)。 //skip rom cmd writebyte(0xbe)。 //read scratchpad cmd } ? 其他操作順序,可以詳看 datasheet,圖11,講解很詳細。 ? 我們這里只是最簡單的應用。 十三, write time slot ? 主機在 write time slot時對 ds18b20進行寫操作; ? 很顯然, write有兩種情況: ? Write 1 and write 0; ? 無論是 write 1 or write 0 , write slot 最少持續(xù)60us 。而且,兩次 write 之間,間隔必須大于1us ,作為 recover time; ? Write 1: ? 首先,主機將數(shù)據(jù)線拉低,并在 15us之內(nèi)釋放數(shù)據(jù)線; ? 當釋放數(shù)據(jù)先后,主機將數(shù)據(jù)線拉高保持 45us ? Write 0: ? 很簡單,只需要主機,將數(shù)據(jù)線拉低,并保存 60us以上即可; ? 程序: void writebyte(uchar dat) { uint i。 uchar j。 bit b。 for(j = 0。j 8。j++) { b = dat amp。 0x01。 dat = 1。 if(b) //寫 “ 1” ,將 ds拉低 15us后,在 15us——60us內(nèi)將 ds拉高,即完成寫 1 { ds = 0。 i++。 i++。 //拉低約 6us,符合 15us的要求 ds = 1。 i = 7。 while(i 0) i。 //延時約 64us ,與前 6us相加 60us } else //寫 “ 0”,將 ds拉低 60us120us { ds = 0。 i = 8。 while(i 0) i。 //延時約 72us ds = 1。 i++。i++。 //整個寫 “ 0”過程已經(jīng)超過 60us,這里就不需要延時太長了 } } } ?
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1