學(xué)習(xí)型PT2262無(wú)線遙控開(kāi)關(guān)程序(315M)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
/********************************************************************
學(xué)習(xí)型PT2262無(wú)線遙控開(kāi)關(guān)程序
STC系列89C58RD晶振11.0952MHZ~12MHZ
發(fā)射芯片采用的是PT2262芯片用4.7M的震蕩電阻315M發(fā)射
通電后運(yùn)行指示燈閃爍,按動(dòng)按鈕開(kāi)關(guān)后P0.4輸出取反,當(dāng)輸出為低時(shí)運(yùn)行指示燈熄滅
長(zhǎng)按按鈕開(kāi)關(guān)約5s以上待運(yùn)行指示燈點(diǎn)亮?xí)r再松開(kāi)按鈕則已進(jìn)入鍵值遙控學(xué)習(xí)狀態(tài)。
把NEC編碼方式類(lèi)型的搖控器對(duì)準(zhǔn)紅外頭,按下后要學(xué)習(xí)的鍵,待運(yùn)行指示燈轉(zhuǎn)為閃爍時(shí)學(xué)習(xí)完成。
P0.4=OUT控制高電平有效接NPN型三極管驅(qū)動(dòng)繼電器
P2.2=BZ輸出低電平有效接PNP型三極管驅(qū)動(dòng)蜂鳴器
P0.7=運(yùn)行指示燈(閃爍)+學(xué)習(xí)指示燈(長(zhǎng)亮)即學(xué)習(xí)板上的D1指示燈
P3.2=315MHZ無(wú)線一體化接收頭接(INT0)
P3.7=按鈕開(kāi)關(guān)低電平有效即學(xué)習(xí)板上的S5
**********************************************************************/
#include
//===========================================
voidmain(void)
{
keynum=0;
AUXR=0x01;
sw_ok=0;
ir_ok=0;
led=0;//打開(kāi)LED片選
TMOD=0x01;//設(shè)置定時(shí)器0為工作方式1(00000001)
TH0=(65536-45872)/256;//11.0592mhz
TL0=(65536-45872)%256;
EX0=1;//設(shè)定接受INT0的中斷
IT0=1;
ET0=1;
TR0=1;
EA=1;
guandz();//關(guān)閉點(diǎn)陣輸出
guanled();//關(guān)閉數(shù)碼管輸出
num0=byte_read(EEPROM_ADD+2);
num2=byte_read(EEPROM_ADD+0);
num3=byte_read(EEPROM_ADD+1);
while(1)
{
if(SW==0)
{
delay(5);
LED=1;
while(SW==0)
{
keynum++;
delay(5);
if(keynum>500)
{
sw_ok=1;//進(jìn)入學(xué)習(xí)狀態(tài)
LED=0;
num1=0;
TR0=0;
}
}
if(keynum>500)
{
keynum=0;
}
else//短按
{
keynum=0;
OUT=~OUT;//這里可加入控制命令,比如這里的當(dāng)解碼為01時(shí)取反P1.5
BEEP=0;//解碼成功后BZ響一次
delay(10);
BEEP=1;
}
}
if(ir_ok)//判斷是否開(kāi)關(guān)已按下
{
ir_ok=0;
SectorErase(EEPROM_ADD);//擦除扇區(qū)
arraywrite(EEPROM_ADD,3,Ttotal);//重新寫(xiě)入數(shù)據(jù)
num2=byte_read(EEPROM_ADD+0);
num3=byte_read(EEPROM_ADD+1);
num0=byte_read(EEPROM_ADD+2);//讀出來(lái)備用
}
if(num1>=5)
{
num1=0;
LED=~LED;
if(!OUT)
{LED=1;}
}
}
}
DbUwIgKt.rar(1.22KB,下載次數(shù):403)
STC12C2052RD中斷方式學(xué)習(xí)型PT2262無(wú)線遙控開(kāi)關(guān)視頻效果
電路請(qǐng)參閱用STC12C2052-1T單片機(jī)學(xué)習(xí)型紅外遙控開(kāi)關(guān)中的電路圖,除了降壓電容改為684/一體化紅外接收頭改為一體化315M無(wú)線接收頭外其它完全一樣
STC系列12C2052晶振11.0952MHZ~12MHZ
發(fā)射芯片采用的是PT2262芯片用4.7M的震蕩電阻315M發(fā)射
通電后運(yùn)行指示燈閃爍,按動(dòng)按鈕開(kāi)關(guān)后P1.7輸出取反,當(dāng)輸出為低時(shí)運(yùn)行指示燈熄滅
長(zhǎng)按按鈕開(kāi)關(guān)約5s以上待運(yùn)行指示燈點(diǎn)亮?xí)r再松開(kāi)按鈕則已進(jìn)入鍵值遙控學(xué)習(xí)狀態(tài)。
按下后要學(xué)習(xí)的鍵,待運(yùn)行指示燈轉(zhuǎn)為閃爍時(shí)學(xué)習(xí)完成。
P1.3=OUT控制高電平有效接NPN型三極管驅(qū)動(dòng)繼電器
P1.0=BZ輸出低電平有效接PNP型三極管驅(qū)動(dòng)蜂鳴器
P1.7=運(yùn)行指示燈(閃爍)+學(xué)習(xí)指示燈(長(zhǎng)亮)
P3.2=315MHZ無(wú)線一體化接收頭接(INT0)
P3.0=按鈕開(kāi)關(guān)低電平有效