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

正文內(nèi)容

畢業(yè)設(shè)計-基于51單片機的無線壁掛爐溫控器設(shè)計-資料下載頁

2025-01-18 15:45本頁面
  

【正文】 /單片機從DS18B20讀書據(jù)時,將數(shù)據(jù)線從高拉低即啟動讀時序 dat=1。 _nop_()。 //等待一個機器周期 DQ = 1。 //將數(shù)據(jù)線人為拉高,為單片機檢測DS18B20的輸出電平作準備 for(time=0。time2。time++) 。 //延時約6us,使主機在15us內(nèi)采樣 if(DQ==1) dat|=0x80。 //如果讀到的數(shù)據(jù)是1,則將1存入dat else dat|=0x00。//如果讀到的數(shù)據(jù)是0,則將0存入dat //將單片機檢測到的電平信號DQ存入r[i] for(time=0。time25。time++) 。 //延時75us,兩個讀時序之間必須在60~120us之間 } return(dat)。 //返回讀出的十進制數(shù)據(jù)}/*****************************************************函數(shù)功能:向DS18B20寫入一個字節(jié)數(shù)據(jù)入口參數(shù):dat***************************************************/ WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=0。 i8。 i++) { DQ =1。 // 先將數(shù)據(jù)線拉高 _nop_()。 //等待一個機器周期 DQ=0。 //將數(shù)據(jù)線從高拉低時即啟動寫時序 DQ=datamp。0x01。 //利用與運算取出要寫的某位二進制數(shù)據(jù), //并將其送到數(shù)據(jù)線上等待DS18B20采樣 for(time=0。time10。time++) 。//延時約30us,DS18B20在拉低后的約15~60us期間從數(shù)據(jù)線上采樣 DQ=1。 //釋放數(shù)據(jù)線 for(time=0。time1。time++) 。//延時3us,兩個寫時序間至少需要1us的恢復期 dat=1。 //將dat中的各二進制位數(shù)據(jù)右移1位 } for(time=0。time4。time++) 。 //稍作延時,給硬件一點反應(yīng)時間}/******************************************************************************以下是與溫度有關(guān)的顯示設(shè)置 ******************************************************************************/ /*****************************************************函數(shù)功能:顯示沒有檢測到DS18B20***************************************************/ void display_error(void) { unsigned char i。 WriteAddress(0x00)。 //寫顯示地址,將在第1行第1列開始顯示 i = 0。 //從第一個字符開始顯示 while(Error[i] != 39。\039。) //只要沒有寫到結(jié)束標志,就繼續(xù)寫 { WriteData(Error[i])。 //將字符常量寫入LCD i++。 //指向下一個字符 delaynms(100)。 //延時100ms較長時間,以看清關(guān)于顯示的說明 } while(1) //進入死循環(huán),等待查明原因 。}/*****************************************************函數(shù)功能:顯示說明信息***************************************************/ void display_explain(void) { unsigned char i。 WriteAddress(0x00)。 //寫顯示地址,將在第1行第1列開始顯示 i = 0。 //從第一個字符開始顯示 while(Str[i] != 39。\039。) //只要沒有寫到結(jié)束標志,就繼續(xù)寫 { WriteData(Str[i])。 //將字符常量寫入LCD i++。 //指向下一個字符 delaynms(100)。 //延時100ms較長時間,以看清關(guān)于顯示的說明 } }/*****************************************************函數(shù)功能:顯示溫度符號***************************************************/ void display_symbol(void) { unsigned char i。 WriteAddress(0x40)。 //寫顯示地址,將在第2行第1列開始顯示 i = 0。 //從第一個字符開始顯示 while(Temp[i] != 39。\039。) //只要沒有寫到結(jié)束標志,就繼續(xù)寫 { WriteData(Temp[i])。 //將字符常量寫入LCD i++。 //指向下一個字符 delaynms(100)。 //延時100ms給硬件一點反應(yīng)時間 } }/*****************************************************函數(shù)功能:顯示溫度的小數(shù)點***************************************************/ void display_dot(unsigned char z)//顯示值的小數(shù)點{ WriteAddress(z)。 //寫顯示地址,將在第2行第10列開始顯示 WriteData(39。.39。)。 //將小數(shù)點的字符常量寫入LCD delaynms(5)。 //延時5ms給硬件一點反應(yīng)時間 }/*****************************************************函數(shù)功能:顯示溫度的單位(Cent)***************************************************/ void display_cent(void){ unsigned char i。 WriteAddress(0x4d)。 //寫顯示地址,將在第2行第13列開始顯示 i = 0。 //從第一個字符開始顯示 while(Cent[i] != 39。\039。) //只要沒有寫到結(jié)束標志,就繼續(xù)寫 { WriteData(Cent[i])。 //將字符常量寫入LCD i++。 //指向下一個字符 delaynms(5)。 //延時1ms給硬件一點反應(yīng)時間 } WriteAddress(0x40d)。 //寫顯示地址,將在第2行第13列開始顯示 i = 0。 //從第一個字符開始顯示 while(Cent[i] != 39。\039。) //只要沒有寫到結(jié)束標志,就繼續(xù)寫 { WriteData(Cent[i])。 //將字符常量寫入LCD i++。 //指向下一個字符 delaynms(100)。 //延時100ms給硬件一點反應(yīng)時間 } }/*****************************************************函數(shù)功能:顯示溫度的整數(shù)部分,顯示保持百位為零不顯示, 百位為零十位也為零時十位不顯示?入口參數(shù):x***************************************************/ void display_temp1(unsigned char x,unsigned char y){ unsigned char j,k,l。 //j,k,l分別儲存溫度的百位、十位和個位 j=x/100。 //取百位 k=(x%100)/10。 //取十位 l=x%10。 //取個位 WriteAddress(y)。 //寫顯示地址,將在第2行第7列開始顯示 if(flt) { WriteData(39。39。)。 if(k==0) { WriteData(39。 39。)。 WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } else { WriteData(digit[k])。 //將十位數(shù)字的字符常量寫入LCD WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } } else { if(j==0) { if(k==0) { WriteData(39。 39。)。//將百位數(shù)字的字符常量寫入LCD WriteData(39。 39。)。 //將十位數(shù)字的字符常量寫入LCD WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } else { WriteData(39。 39。)。 //將百位數(shù)字的字符常量寫入LCD WriteData(digit[k])。 //將十位數(shù)字的字符常量寫入LCD WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } } else { WriteData(digit[j])。 //將百位數(shù)字的字符常量寫入LCD WriteData(digit[k])。 //將十位數(shù)字的字符常量寫入LCD WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } } delaynms(5)。 //延時1ms給硬件一點反應(yīng)時間 }void display_temp3(unsigned char x,unsigned char y){ unsigned char j,k,l。 //j,k,l分別儲存溫度的百位、十位和個位 j=x/100。 //取百位 k=(x%100)/10。 //取十位 l=x%10。 //取個位 WriteAddress(y)。 //寫顯示地址,將在第2行第7列開始顯示 if(ct0) { WriteData(39。39。)。 if(k==0) { WriteData(39。 39。)。 WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } else { WriteData(digit[k])。 //將十位數(shù)字的字符常量寫入LCD WriteData(digit[l])。 //將個位數(shù)字的字符常量寫入LCD } } e
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1