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

正文內(nèi)容

紅外遙控系統(tǒng)畢業(yè)設(shè)計--基于單片機的紅外遙控系統(tǒng)設(shè)計-資料下載頁

2025-06-07 02:23本頁面
  

【正文】 { 21 if(a==0x16) //按的是‘ 0’則亮四個燈 { //16H 為按鍵解碼后的代碼 du=1。 //開控制端 P1=0xaa。 //單片機接收到數(shù)據(jù)后執(zhí)行的指令 du=0。 } //若全部 LED 點亮后需點亮某盞燈需先全部關(guān)閉 else if(a==0x0c){du=1。D1=!D1。du=0。} //白色亮滅 39。139。 else if(a==0x18){du=1。D2=!D2。du=0。} //綠色亮滅 39。239。 else if(a==0x5e){du=1。D3=!D3。du=0。} //藍色亮滅 39。339。 else if(a==0x08){du=1。D4=!D4。du=0。} //紅色亮滅 39。439。 else if(a==0x19){du=1。P1=0xff。du=0。} //全滅 39。100+39。 } /************************************************************* 函數(shù)功能: 18B20 處理 *************************************************************/ void B20_chuli(unsigned char wendu) { if(wendu==0x0d) { if(Init_DS18B20()==1) display_error()。 display_explain()。 display_symbol()。 //顯示溫度說明 display_dot()。 //顯示溫度的小數(shù)點 display_cent()。 //顯示溫度的單位 flag=0。 ReadyReadTemp()。 //讀溫度準備 TL=ReadOneChar()。 //先讀的是溫度值低位 TH=ReadOneChar()。 //接著讀的是溫度值高位 if((THamp。0xf8)!=0x00) //判斷高五位 得到溫度正負標志 { flag=1。 TL=~TL。 //取反 TH=~TH。 //取反 tltemp=TL+1。 //低位加 1 TL=tltemp。 if(tltemp255) TH++。 //如果低 8 位大于 255,向高 8 位進 1 TN=TH*16+TL/16。 //實際溫度值 =(TH*256+TL)/16,即: TH*16+TL/16 //這樣得出的是溫度的整數(shù)部分 ,小數(shù)部分被丟棄了 TD=(TL%16)*10/16。 //計算溫度的小數(shù)部分 ,將余數(shù)乘以 10 再除以 16 取整, } 22 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ù)部分 delay(10)。 if(TN33){beep()。} } } /************************************************************ 函數(shù)功能:主函數(shù) *************************************************************/ void main() { while(1) { unsigned char i。 LcdInit()。 //調(diào)用 LCD 初始化函數(shù) delay(10)。 Init_DS18B20()。 //18B20 傳感器初始化 WriteInstruction(0x01)。//清顯示:清屏幕指令 WriteAddress(0x00)。 // 設(shè)置顯示位置為第一行的第 1 個字 i = 0。 while(string[i] != 39。\039。) //39。\039。是數(shù)組結(jié)束標志 { // 顯示字符 1602IRCODE TEST WriteData(string[i])。 i++。 } EA=1。 //開啟總中斷 EX0=1。 //開外中斷 0 ET0=1。 //定時器 T0 中斷允許 IT0=1。 //外中斷的下降沿觸發(fā) TMOD=0x01。 //使用定時器 T0 的模式 1 TR0=0。 //定時器 T0 關(guān)閉 while(1)。 //等待紅外信號產(chǎn)生的中斷 } } /************************************************************ 函數(shù)功能:紅外線觸發(fā)的外中斷處理函數(shù) 23 *************************************************************/ void Int0(void) interrupt 0 { EX0=0。 //關(guān)閉外中斷 0,不再接收二次紅外信號的中斷,只解碼當(dāng)前紅外信號 TH0=0。 //定時器 T0 的高 8 位清 0 TL0=0。 //定時器 T0 的低 8 位清 0 TR0=1。 //開啟定時器 T0 while(IR==0)。 //如果是低電平就等待,給引導(dǎo)碼低電平計時 TR0=0。 //關(guān)閉定時器 T0 LowTime=TH0*256+TL0。 //保存低電平時間 TH0=0。 //定時器 T0 的高 8 位清 0 TL0=0。 //定時器 T0 的低 8 位清 0 TR0=1。 //開啟定時器 T0 while(IR==1)。 //如果是高電平就等待,給引導(dǎo)碼高電平計時 TR0=0。 //關(guān)閉定時器 T0 HighTime=TH0*256+TL0。 //保存引導(dǎo)碼的高電平長度 if((LowTime8500)amp。amp。(LowTime9500)amp。amp。(HighTime4000)amp。amp。(HighTime4500)) { //如果是引導(dǎo)碼 ,就開始解碼 ,否則放棄 ,引導(dǎo)碼的低電平計時 //次數(shù)= 9000us/=8294, 判斷區(qū)間 :8300- 500= 7800, 8300+ 500= 8800. if(DeCode()==1) // 執(zhí)行遙控解碼功能 { Disp()。//調(diào)用 1602LCD 顯示函數(shù) beep()。//蜂鳴器響一聲 提示解碼成功 LED_Flash(a[2])。 //按鍵檢測 顯示 B20_chuli(a[2])。 //調(diào)用 18B20 采集 顯示 18B20 溫度 } } EX0=1。 //開啟外中斷 EX0 }
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1