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

正文內(nèi)容

4路紅外遙控器的設(shè)計_畢業(yè)設(shè)計-資料下載頁

2025-08-23 17:33本頁面

【導(dǎo)讀】紅外線遙控是目前應(yīng)用最廣泛的一種通信和遙控手段。紅外遙控技術(shù)的出現(xiàn),不。紅外線遙控器具有體積小、功耗低、功能強、成本低等特點從而成為了當今非常。流行的一種控制方式。發(fā)射/接收系統(tǒng)。本設(shè)計以紅外線作為傳遞信息的載體,可對4個受控對象的工作狀。態(tài)進行短距離無線控制,可對處于工作狀態(tài)的設(shè)備進行計數(shù),并顯示出來。控工業(yè)、醫(yī)療、家用電器等設(shè)備的開閉狀態(tài)。

  

【正文】 { unsigned char i。 while(a!=0) for(i=125。i0。i)。 } void keyscan() //按鍵掃描 { if(s1==0) { delay(10)。 if(s1==0) { keyflag=1。 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 30 頁 while(!s1)。 irdata=0x01。 } } if(s2==0) { delay(10)。 if(s2==0) { keyflag=1。 while(!s2)。 irdata=0x02。 } } if(s3==0) { delay(10)。 if(s3==0) { keyflag=1。 while(!s3)。 irdata=0x03。 } } if(s4==0) { delay(10)。 if(s4==0) 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 31 頁 { keyflag=1。 while(!s4)。 irdata=0x04。 } } if(s5==0) { delay(10)。 if(s5==0) { keyflag=1。 while(!s5)。 irdata=0x05。 } } } void ir_sendbyte() //紅外發(fā)送一個字節(jié)數(shù)據(jù) { unsigned char i。 for(i=0。i8。i++) //發(fā)送 8 位數(shù)據(jù) { set_count=35。 //發(fā)送編碼中的 高電平 irflag=1。 // 啟動紅外發(fā)射二極管發(fā)射 count=0。 //中斷計數(shù)先清零 TR0=1。 //開啟定時器 0 while(countset_count)。 //等待發(fā)送完 TR0=0。 //關(guān)閉定時 器 0 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 32 頁 if(ircodeamp。0x01) set_count=130。 //判斷最低位 ,若為 1 則 的低電平 else set_count=35。 //為 0 則 的低電平 irflag=0。 //低電平則不發(fā)射 count=0。 //中斷計數(shù)清零 TR0=1。 //開啟定時器 0 while(countset_count)。 //等待發(fā)送完 TR0=0。 ircode=ircode1。 //將數(shù)據(jù)右移,即從低位到高位發(fā)送 } } void ir_send() { set_count=672。 //發(fā)送編碼中的引導(dǎo)碼 (9ms 高電平 + 低電平 ) irflag=1。 //啟動紅外發(fā)射二極管發(fā)射 count=0。 //中斷計數(shù)清零 TR0=1。 while(countset_count)。 TR0=0。 set_count=336。 //發(fā)送編碼中的 低電平 irflag=0。 count=0。 TR0=1。 while(countset_count)。 //等待發(fā)送完 TR0=0。 ircode=irsys[0]。 //發(fā)送 16 位用戶碼的前 8 位 ir_sendbyte()。 ircode=irsys[1]。 //發(fā)送 16 位用戶碼的后 8 位 ir_sendbyte()。 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 33 頁 ircode=irdata。 //發(fā)送 8 位數(shù)據(jù)碼 ir_sendbyte()。 ircode=~irdata。 //發(fā)送 8 位數(shù)據(jù)反碼 ir_sendbyte()。 set_count=35。 //發(fā)送編碼中的 高電平 irflag=1。 count=0。 TR0=1。 while(countset_count)。 TR0=0。 irflag=0。 delay(23)。 //延時 23ms(編碼中的 23ms 低電平) set_count=670。 //發(fā)送編碼中的引導(dǎo)碼 (9ms 高電平 + 低電平 ) irflag=1。 count=0。 TR0=1。 while(countset_count)。 TR0=0。 set_count=336。 //發(fā)送編碼中的 低電平 irflag=0。 count=0。 TR0=1。 while(countset_count)。 TR0=0。 set_count=35。 //發(fā)送編碼中的 高電平 irflag=1。 count=0。 TR0=1。 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 34 頁 while(countset_count)。 TR0=0。 irflag=0。 delay(23)。 } void timer0_init() //定時器初始化 { EA=1。 TMOD=0x02。 //定時 0 8 位自動重裝模式 ET0=1。 TH0=0xFF。 //定時 26us,38K 紅外矩形波 ,晶振 24M TL0=0xE6。 } void main() { timer0_init()。 count=0。 ir=0。 irflag=0。 while(1) { keyscan()。 if(keyflag) { delay(10)。 ir_send()。 delay(500)。 keyflag=0。 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 35 頁 delay(100)。 } } } void timer0() interrupt 1 { count++。 if(irflag==1) ir=~ir。 //有發(fā)射標志,則發(fā)射 38khz 的矩形波 else ir=0。 } 遙控器接收程序: include include define uint unsigned char define uchar unsigned char uchar Flag = 0。 uchar Byte_t。 uchar recieve = 0。 uchar number_t。 sbit Rec_INF = P3^0。 sbit L1 = P2^3。 sbit L2 = P2^2。 sbit L3 = P2^1。 sbit L4 = P2^0。 uchar const Table_number[5] ={0x3F, 0x06, 0x5B, 0X4F, 0X66}。//數(shù)碼管顯示數(shù)據(jù) uchar temp_Rec。 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 36 頁 void Timer0_Init(void)。 uchar Rec_byte(void)。 void Dis_number(uchar dat)。 void Timer0_Init(void) { EA = 1。 ET0 = 1。 TMOD = 0X01。 //16 位定時器 TH0 = (6553626)/256。 //26us 采集一次數(shù)據(jù) TL0 = (6553626)%256。 } uchar Rec_byte(void) { uchar Rec。 Flag = 1。 TR0 = 1。 while(Flag)。 TR0 = 0。 Rec = recieve。 return Rec。 } void Dis_number(uchar dat) { P1 = Table_number[dat] | Rec_INF。 } void main() { Timer0_Init()。 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 37 頁 L1=L2=L3=L4=1。 Dis_number(0)。 while(1) { switch(Rec_byte()) { case 0x01 : L1 = !L1。 //接收到 s1 信號 break。 case 0x02 : L2 = !L2 。 //接收到 s2 信號 break。 case 0x03 : L3 = !L3 。 //接收到 s3 信號 break。 case 0x04 : L4 = !L4 。 //接收到 s4 信號 break。 case 0x05 : L1 = 1。 //全部清零 L2 = 1。 L3 = 1。 L4 = 1。 break。 default : break。 } number_t=(!L1amp。amp。1)+(!L1amp。amp。1)+(!L1amp。amp。1)+(!L1amp。amp。1)。 Dis_number(number_t)。 } } void Timer0() interrupt 1 //定時器 0 作為采集數(shù)據(jù)時鐘 26us 采集一次 { 煙臺南山學(xué)院畢業(yè) 設(shè)計( 論文 ) 第 38 頁 uchar temp_Rec。 TH0 = (6553626)/256。 //26us 采集一次數(shù)據(jù) TL0 = (6553626)%256。 temp_Rec = Rec_INF 。 recieve |= (temp_Rec (7 Byte_t))。 Byte_t++。 if(Byte_t7) Byte_t = 0。 Flag = 0。 }
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1