㈠ 怎樣用51單片機設計一無線遙控器
無線遙控可以用紅外、激光、射頻,如果是紅外的話,用紅外發射管和對38khz敏感的一體管來設計,也可以買專用的解碼晶元,但一般課程設計是不能那麼做的,不然太簡單。射頻的話如果自己設計調制解調電路會很有難度,建議購買專用晶元(如2402等),用單片機來控制。
㈡ 單片機如何實現紅外遙控
以下文件是51單片機實現遙控解碼,通過數碼管顯示鍵碼的程序,P0口驅動數碼管段選,p2.6和p2.7為數碼管位選,接收頭連到P3.2口。此程序以通過驗證,可以直接編譯使用,另外還有一個繼電器和蜂鳴器的控制,不用可以屏蔽掉。
;********************************************************************************
;* 描述: *
;* 遙控鍵值讀取器 *
;* 數碼管顯示, P0口為數碼管的數據口 *
;* *
;********************************************************************************
;遙控鍵值解碼-數碼管顯示 *
;********************************************************************************/
#include <reg51.h>
#include <intrins.h>
void IR_SHOW();
void delay(unsigned char x);//x*0.14MS
void delay1(unsigned char ms);
void beep();
sbit IRIN = P3^2;
sbit BEEP = P3^7;
sbit RELAY= P1^3;
sbit GEWEI= P2^7;
sbit SHIWEI= P2^6;
unsigned char IRCOM[8];
unsigned char code table[16] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
main()
{
IE = 0x81; //允許總中斷中斷,使能 INT0 外部中斷
TCON = 0x1; //觸發方式為脈沖負邊沿觸發
delay(1);
IRIN=1;
BEEP=1;
RELAY=1;
for(;;)
{
IR_SHOW();
}
} //end main
void IR_IN() interrupt 0 using 0
{
unsigned char i,j,k,N=0;
EA = 0;
I1:
for (i=0;i<4;i++)
{
if (IRIN==0) break;
if (i==3) {EA =1;return;}
}
delay(20);
if (IRIN==1) goto I1; //確認IR信號出現
while (!IRIN) //等 IR 變為高電平
{delay(1);}
for (j=0;j<4;j++)
{
for (k=0;k<8;k++)
{
while (IRIN) //等 IR 變為低電平
{delay(1);}
while (!IRIN) //等 IR 變為高電平
{delay(1);}
while (IRIN) //計算IR高電平時長
{
delay(1);
N++;
if (N>=30) {EA=1;return;}
}
IRCOM[j]=IRCOM[j] >> 1;
if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}
N=0;
}//end for k
}//end for j
if (IRCOM[2]!=~IRCOM[3]) {EA=1;return;}
IRCOM[5]=IRCOM[2] & 0x0F;
IRCOM[6]=IRCOM[2] & 0xF0;
IRCOM[6]=IRCOM[6] >> 4;
beep();
EA = 1;
}
void IR_SHOW()
{
P0 = table[IRCOM[5]];
GEWEI = 0;
SHIWEI = 1;
delay1(4);
P0 = table[IRCOM[6]];
SHIWEI = 0;
GEWEI = 1;
delay1(4);
}
void beep()
{
unsigned char i;
for (i=0;i<100;i++)
{
delay(5);
BEEP=!BEEP;
}
BEEP=1;
}
void delay(unsigned char x)//x*0.14MS
{
unsigned char i;
while(x--)
{
for (i = 0; i<13; i++) {}
}
}
void delay1(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i<120; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
㈢ 可以用51單片機做紅外遙控器嗎
用 51單片機做紅外接收比較好,發射器的話直接用普通電視或空調遙控器成品,成本很低,省去許多麻煩。
㈣ 用51單片機模擬紅外遙控器的4×4鍵盤的發射程序
用51單片機模擬紅外遙控器的收發射程序, 使用proteus模擬紅外遙控器發送和接受的
模擬實例 可以參考一下,現在窗口不能上傳附件了,下面是以前上傳的連接
https://..com/question/814219989536734892
㈤ 如何用單片機控制遙控器
電視機遙控器,編碼是固定的,空調遙控器編碼是不固定的,如設置溫度的編碼是根據溫度的變化編碼是不同的,當然你可以測試空調遙控器不同狀態的編碼來設置單片機發送不同的編碼就可以了。單片機是肯定可以做得到。
㈥ 有什麼辦法能用單片機觸發空調遙控器控制空調啟動嗎
拆開遙控器,觸點用導線連接單片機,一般是觸點接地就等於是按鈕按下了。還有一種方法就是用單片機模擬一個遙控器
㈦ 我想要用單片機來實現控制遙控車,思路是這樣:我已經買了一個遙控玩具汽車,有一個遙控器可以控制..
想法不錯,但是你得先去了解中國遙控器是怎樣工作的;
就是說是另做一個遙控器更合理,還是只能在此遙控器上進行改進;
至於是否需要單片機,那是後話;
㈧ 單片機模擬遙控器
可以直接加一個555定時器啊,這個簡單實用,而且准確度很高。程序用中斷方式產生38K,但是執行程序時或者中斷嵌套時時序就會錯亂,如果你的中斷程序沒有處理好就會出現你所說的這種狀況。
㈨ 求個51單片機模擬51開發板的紅外遙控器的程序
單一的這些鍵值是不好看出什麼意思的,還請詳細點。NEC的鍵值為:引導+地址+地址反碼+指令+指令反碼