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

正文內(nèi)容

基于51單片機與若干傳感器的智能開關窗系統(tǒng)_課程設計報告-資料下載頁

2025-06-01 21:46本頁面
  

【正文】 部分 入口參數(shù): x ***************************************************/ void display_temp1(unsigned char x) { unsigned char j,k,l。 //j,k,l 分別儲存溫度的百位、十位和個位 j=x/100。 //取百位 k=(x%100)/10。 //取十位 l=x%10。 //取個位 lcd_pos(0x46)。 //寫顯示地址 ,將在第 2行第 7列開始顯示 lcd_wdat(digit[j])。 //將百位數(shù)字的字符常量寫入 LCD lcd_wdat(digit[k])。 //將十位數(shù)字的字符常量寫入 LCD lcd_wdat(digit[l])。 //將個位數(shù)字的字符常量寫入 LCD delaynms(50)。 //延時 1ms 給硬件一點反應時間 } /***************************************************** 函數(shù)功能:顯示溫度的小數(shù)數(shù)部分 入口參數(shù): x ***************************************************/ void display_temp2(unsigned char x) { lcd_pos(0x4a)。 //寫顯示地址 ,將在第 2行第 11列開始顯示 lcd_wdat(digit[x])。 //將小數(shù)部分的第一位數(shù)字字符常量寫入 LCD delaynms(50)。 //延時 1ms給硬件一點反應時間 } /***************************************************** 函數(shù)功能:做好讀溫度的準備 ***************************************************/ void ReadyReadTemp(void) { Init_DS18B20()。 //將 DS18B20初始化 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 for(time=0。time100。time++) 。 //溫度轉(zhuǎn)換需要一點時間 Init_DS18B20()。 //將 DS18B20 初始化 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 ,前兩個分別是溫度的低位和高位 } /***************************************************** 函數(shù)功能:顯示窗戶信息 ***************************************************/ void display_on(void) { unsigned char i。 lcd_pos(0x0a)。 //寫顯示地址,將在第 1行第 1 列開始顯示 i = 0。 //從第一個字符開始顯示 while(winon[i] != 39。\039。) //只要沒有寫到結束標志,就繼續(xù)寫 { lcd_wdat(winon[i])。 //將字符常量寫入 LCD i++。 //指向下一個字符 delaynms(100)。 //延時 100ms 較長時間,以看清關于顯示的說明 } } /***************************************************** 函數(shù)功能:顯示窗戶信息 ***************************************************/ void display_off(void) { unsigned char i。 lcd_pos(0x0a)。 //寫顯示地址,將在第 1行第 1 列開始顯示 i = 0。 //從第一個字符開始顯示 while(winoff[i] != 39。\039。) //只要沒有寫到結束標志,就繼續(xù)寫 { lcd_wdat(winoff[i])。 //將字符常量寫入 LCD i++。 //指向下一個字符 delaynms(100)。 //延時 100ms 較長時間,以看清關于顯示的說明 } } /***************************************************** 函數(shù)功能:主函數(shù) ***************************************************/ void main(void) { uchar v=0。 unsigned char TL。 //儲存暫存器的溫度低位 unsigned char TH。 //儲存暫存器的溫度高位 unsigned char TN。 //儲存溫度的整數(shù)部分 unsigned char TD。 //儲存溫度的小數(shù)部分 delaynms(150)。 lcd_init()。 //將液晶初始化 delaynms(5)。 //延時 5ms給硬件一點反應時間 if(Init_DS18B20()==1) display_error()。 display_explain()。 display_symbol()。 //顯示溫度說明 display_dot()。 //顯示溫度的小數(shù)點 display_cent()。 //顯示溫度的單位 while(1) //不斷檢測并顯示溫度 { ReadyReadTemp()。 //讀溫度準備 TL=ReadOneChar()。 //先讀的是溫度值低位 TH=ReadOneChar()。 //接著讀的是溫度值高位 TN=TH*16+TL/16。 //實際溫度值 =(TH*256+TL)/16,即: TH*16+TL/16 //這樣得出的是溫度的整數(shù)部分 ,小數(shù)部分被丟棄了 TD=(TL%16)*10/16。 //計算溫度的小數(shù)部分 ,將余數(shù)乘以 10 再除以 16取整, //這 樣得到的是溫度小數(shù)部分的第一位數(shù)字 (保留 1 位小數(shù) ) display_temp1(TN)。 //顯示溫度的整數(shù)部分 display_temp2(TD)。 //顯示溫度的小數(shù)部分 delaynms(10)。 if(state==1)//窗戶 開狀態(tài) { if((yu==0)||(light==0)||(TNtempl)||(TNtemph)) { z1flag=0。 //關窗戶 } else { z1flag=1。 //不動 } } if(state==0)//窗戶 關狀態(tài) { if((yu==1)amp。amp。(light==1)amp。amp。(TNtempl)amp。amp。(TNtemph)) { z2flag=0。 //kai 窗戶 } else { z2flag=1。 //不動 } } if(z1flag==0) { for(。num20。num2) { if(v8) { P1 = REV[v]。v++。 } if(v==8) v=0。 delaynms(15)。 } num2=512。 z1flag=1。 state=0。 } if(z2flag==0) { for(。num20。num2) { if(v8) { P1 = FFW[v]。v++。 } if(v==8) v=0。 delaynms(15)。 } num2=512。 state=1。 z2flag=1。 } if(state==1) { display_on()。 } else {display_off()。} } }
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1