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

正文內(nèi)容

單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告:基于89c51單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)-閱讀頁(yè)

2024-11-13 18:56本頁(yè)面
  

【正文】 dat|=0x80。//如果讀到的數(shù)據(jù)是 0,則將 0 存入 dat //將單片機(jī)檢測(cè)到的電平信號(hào) DQ 存入 r[i] for(time=0。time++)。 //返回讀出的十進(jìn)制數(shù)據(jù) } WriteOneChar(unsigned char dat) //DS18B20 寫(xiě)入一個(gè)字節(jié)數(shù)據(jù) { unsigned char i=0。 i8。 // 先將數(shù)據(jù)線拉高 _nop_()。 //將數(shù)據(jù)線從高拉低時(shí) 即啟動(dòng)寫(xiě)時(shí)序 DQ=datamp。 //利用與運(yùn)算取出要寫(xiě)的某位二進(jìn)制數(shù)據(jù) , //并將其送到數(shù)據(jù)線上等待 DS18B20 采樣 for(time=0。time++) 。 //釋放數(shù)據(jù)線 for(time=0。time++)。 //將 dat 中的各二進(jìn)制位數(shù)據(jù)右移 1 位 } for(time=0。time++)。 WriteAddress(0x00)。 //從第一個(gè)字符開(kāi)始顯示 while(Error[i] != 39。) //只要沒(méi)有寫(xiě)到結(jié)束標(biāo)志,就繼續(xù)寫(xiě) { WriteData(Error[i])。 //指向下一個(gè)字符 delaynms(100)。 } void display_explain(void) //顯示說(shuō)明函數(shù) { unsigned char i。 //寫(xiě)顯示地址,將在第 1 行第 1 列開(kāi)始顯示 i = 0。\039。 //將字符常量寫(xiě)入 LCD i++。 } } void display_symbol(void) //顯示溫度符號(hào) { unsigned char i。 //寫(xiě)顯示地址,將在第 2 行第 1 列開(kāi)始顯示 i = 0。\039。 //將字符常量寫(xiě)入 LCD i++。 //延時(shí) 50ms 給硬件一點(diǎn)反應(yīng)時(shí)間 } } void display_dot(void) //顯示溫度的小數(shù)點(diǎn) { WriteAddress(0x49)。.39。 //將小數(shù)點(diǎn)的字符常量寫(xiě)入 LCD delaynms(50)。 (void) { WriteAddress(0x45)。39。 //將小數(shù)點(diǎn)的字符常量寫(xiě)入 LCD delaynms(50)。 WriteAddress(0x4c)。 //從第一個(gè)字符開(kāi)始顯示 while(Cent[i] != 39。) //只要沒(méi)有寫(xiě)到結(jié)束標(biāo)志,就繼續(xù)寫(xiě) { WriteData(Cent[i])。 //指向下一個(gè)字符 delaynms(50)。 //j,k,l 分別儲(chǔ)存溫度的百位、十位和個(gè)位 j=x/100。 //取十位 l=x%10。 //寫(xiě)顯示地址 ,將在第 2 行第 7 列開(kāi)始顯示 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告 15 WriteData(digit[j])。 //將十位數(shù)字的字符常量寫(xiě)入 LCD WriteData(digit[l])。 //延時(shí) 50ms 給硬件 一點(diǎn)反應(yīng)時(shí)間 } void display_temp2(unsigned char x) //顯示小數(shù)部分函數(shù) { unsigned char m,n。 n=x%10。 //寫(xiě)顯示地址 ,將在第 2 行第 11 列開(kāi)始顯示 WriteData(digit[m])。 delaynms(50)。 //將 DS18B20 初始化 WriteOneChar(0xCC)。 // 啟動(dòng)溫度轉(zhuǎn)換 for(time=0。time++)。 //將 DS18B20 初始化 WriteOneChar(0xCC)。 //讀取溫度寄存器 ,前兩個(gè)分別是溫度低位和高位 } void main(void) { unsigned char TL。 //儲(chǔ)存暫存器的溫度高位 unsigned char TN。 //儲(chǔ)存溫度的小數(shù)部分 LcdInitiate()。 //延時(shí) 5ms 給硬件一點(diǎn)反應(yīng)時(shí)間 if(Init_DS18B20()==1) display_error()。 display_symbol()。 //顯示溫度的小數(shù)點(diǎn) display_cent()。 //讀溫度準(zhǔn)備 包括傳感器初始化和 寫(xiě)入讀溫和溫度轉(zhuǎn)換命令 TL=ReadOneChar()。 //接著讀的是溫度值高位 if(THamp。 //實(shí)際溫度值 為 (TH*256+TL)/16 //這樣得出的是溫度的整數(shù)部分 ,小數(shù)部分被 舍去 TD=(TL%16)*100/16。 //顯示溫度的整數(shù)部分 display_temp2(TD)。 } else //如果讀的溫度是零下溫度 { TH=~TH。 //溫度值低位 取反 TN=(TH*256+TL+1)/16。 //得出零下溫度的小數(shù)值 display_temp1(TN)。 //顯示溫度的小數(shù)部分 display_minus()。} } }
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1