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

正文內(nèi)容

基于51單片機(jī)的紅外遙控開關(guān)的設(shè)計(jì)定搞-資料下載頁

2024-11-12 15:39本頁面

【導(dǎo)讀】靈活性、先進(jìn)性,它的應(yīng)用大大方便了人們的生活。本文給出了系統(tǒng)的硬件組成和硬軟件設(shè)計(jì)方法,段等3部分,并再接收端進(jìn)行校驗(yàn)。整個(gè)系統(tǒng)由發(fā)射和接收兩個(gè)部分組成。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)射管;接收部分包括LED紅外光接收器、解調(diào)、解碼電路。用后,證明其方便、可靠并具有實(shí)用價(jià)值。

  

【正文】 keyvol++。 k=0。 while(remotein==1) { delay1ms(1)。 k++。 if(k2) goto OOUUTT 。 } } } OOUUTT: switch(keyvol) { case 2:{AA=~AA。break。} case 3:{BB=~BB。break。} case 4:{CC=~CC。break。} case 5:{DD=~DD。break。} case 6:{EE=~EE。break。} case 7:{FF=~FF。break。} case 8:{GG=~GG。break。} case 9:{HH=~HH。break。} case 10:{AA0=~AA0。break。} case 11:{BB0=~BB0。break。} case 12:{CC0=~CC0。break。} case 13:{DD0=~DD0。break。} case 14:{EE0=~EE0。break。} case 15:{FF0=~FF0。break。} case 16:{GG0=~GG0。break。} case 17:{HH0=~HH0。break。} default:break。 咸寧學(xué)院學(xué)士學(xué)位論文 30 } } EX1=1。 } //************遙控發(fā)射程序 **********// include include //_nop_():延時(shí)函數(shù)用 define uchar unsigned char define uint unsigned int sbit remoteout=P3^4。 // 遙控輸出口 uint i,j,m,n,k,s。 uchar keyvol,temp。 // 鍵值存放 /*************1 毫秒延時(shí)程序 ***************/ void delay(uint z) { uint t1,y。 for(t1=z。t10。t1) for(y=110。y0。y)。 } /**************初始化函數(shù) ****************/ clearmen() { remoteout=0。 // 關(guān)遙控輸出 IE=0x00。 //禁止所有中斷 TMOD=0x02。 // 8 位自動(dòng)沖撞模式 TH0=0xf3。 // 40Khz 初值 TL0=0xf3。 EA=1。 // 開關(guān)中斷 } /**************發(fā)射函數(shù) ****************/ 附 錄 31 void sed () { ET0=1。 //定時(shí)器 0 中斷 充許 TR0=1。 //啟動(dòng)定時(shí) 0,開始計(jì)數(shù) delay(1)。 ET0=0。 remoteout=0。 // 40Khz 發(fā) 3 毫秒 for(m=keyvol。m0。m) { delay(1)。 //停 1 毫秒 ET0=1。 TR0=1。 delay(1)。 ET0=0。 TR0=0。 remoteout=0。 //40 毫秒 Khz 發(fā) 1 毫秒 } delay(10)。 } void tx() { switch(keyvol) { case 0:keyvol=keyvol+1。sed()。break。 case 1:keyvol=keyvol+1。sed()。break。 case 2:keyvol=keyvol+1。sed()。break。 case 3:keyvol=keyvol+1。sed()。break。 case 4:keyvol=keyvol+1。sed()。break。 case 5:keyvol=keyvol+1。sed()。break。 case 6:keyvol=keyvol+1。sed()。break。 case 7:keyvol=keyvol+1。sed()。break。 咸寧學(xué)院學(xué)士學(xué)位論文 32 case 8:keyvol=keyvol+1。sed()。break。 case 9:keyvol=keyvol+1。sed()。break。 case 10:keyvol=keyvol+1。sed()。break。 case 11:keyvol=keyvol+1。sed()。break。 case 12:keyvol=keyvol+1。sed()。break。 case 13:keyvol=keyvol+1。sed()。break。 case 14:keyvol=keyvol+1。sed()。break。 case 15:keyvol=keyvol+1。sed()。break。 default:break。 } } /**************鍵功能函數(shù) ****************/ void keywork() { uchar scancode,tmpcode。 P0=0xf0。 // 發(fā)全 0 行掃描碼 if((P0amp。0xf0)!=0xf0) //若有鍵按下 { delay(5)。 //延時(shí)去抖動(dòng) if((P0amp。0xf0)!=0xf0) //延時(shí)后在判斷一次,去除抖動(dòng)影響 { scancode=0xfe。 while((scancodeamp。0x10)!=0)// //逐行掃描,剛好掃到第五位就推出了 { P0=scancode。 //輸出行掃描碼 if((P0amp。0xf0)!=0xf0) //本行有鍵按下 { tmpcode=(P0amp。0xf0)|0x0f。 // 返回特征字節(jié)碼,為 1 的位即對(duì)應(yīng)于行和列 temp=(~scancode)+(~tmpcode)。 附 錄 33 switch(temp) { case 0x11:keyvol=0。tx()。break。 case 0x21:keyvol=1。tx()。break。 case 0x41:keyvol=2。tx()。break。 case 0x81:keyvol=3。tx()。break。 case 0x12:keyvol=4。tx()。break。 case 0x22:keyvol=5。tx()。break。 case 0x42:keyvol=6。tx()。break。 case 0x82:keyvol=7。tx()。break。 case 0x14:keyvol=8。tx()。break。 case 0x24:keyvol=9。tx()。break。 case 0x44:keyvol=10。tx()。break。 case 0x84:keyvol=11。tx()。break。 case 0x18:keyvol=12。tx()。break。 case 0x28:keyvol=13。tx()。break。 case 0x48:keyvol=14。tx()。break。 case 0x88:keyvol=15。tx()。break。 } } else scancode=(scancode1)|0x01。 //行掃描碼左移一位 } } } } /**************主函數(shù) ****************/ void main() { clearmen()。 //初始化 while(1) { 咸寧學(xué)院學(xué)士學(xué)位論文 34 keywork()。 //按鍵掃描 } } /**************40Khz 發(fā)生器 ****************/ //定時(shí)中斷 T0 void timeint(void) interrupt 1 { remoteout=~remoteout。 } //**********************結(jié)束 ************************//
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1