学习型PT2262无线遥控开关程序(315M)
扫描二维码
随时随地手机看文章
/********************************************************************
学习型PT2262无线遥控开关程序
STC系列89C58RD晶振11.0952MHZ~12MHZ
发射芯片采用的是PT2262芯片用4.7M的震荡电阻315M发射
通电后运行指示灯闪烁,按动按钮开关后P0.4输出取反,当输出为低时运行指示灯熄灭
长按按钮开关约5s以上待运行指示灯点亮时再松开按钮则已进入键值遥控学习状态。
把NEC编码方式类型的摇控器对准红外头,按下后要学习的键,待运行指示灯转为闪烁时学习完成。
P0.4=OUT控制高电平有效接NPN型三极管驱动继电器
P2.2=BZ输出低电平有效接PNP型三极管驱动蜂鸣器
P0.7=运行指示灯(闪烁)+学习指示灯(长亮)即学习板上的D1指示灯
P3.2=315MHZ无线一体化接收头接(INT0)
P3.7=按钮开关低电平有效即学习板上的S5
**********************************************************************/
#include
//===========================================
voidmain(void)
{
keynum=0;
AUXR=0x01;
sw_ok=0;
ir_ok=0;
led=0;//打开LED片选
TMOD=0x01;//设置定时器0为工作方式1(00000001)
TH0=(65536-45872)/256;//11.0592mhz
TL0=(65536-45872)%256;
EX0=1;//设定接受INT0的中断
IT0=1;
ET0=1;
TR0=1;
EA=1;
guandz();//关闭点阵输出
guanled();//关闭数码管输出
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;//进入学习状态
LED=0;
num1=0;
TR0=0;
}
}
if(keynum>500)
{
keynum=0;
}
else//短按
{
keynum=0;
OUT=~OUT;//这里可加入控制命令,比如这里的当解码为01时取反P1.5
BEEP=0;//解码成功后BZ响一次
delay(10);
BEEP=1;
}
}
if(ir_ok)//判断是否开关已按下
{
ir_ok=0;
SectorErase(EEPROM_ADD);//擦除扇区
arraywrite(EEPROM_ADD,3,Ttotal);//重新写入数据
num2=byte_read(EEPROM_ADD+0);
num3=byte_read(EEPROM_ADD+1);
num0=byte_read(EEPROM_ADD+2);//读出来备用
}
if(num1>=5)
{
num1=0;
LED=~LED;
if(!OUT)
{LED=1;}
}
}
}
DbUwIgKt.rar(1.22KB,下载次数:403)
STC12C2052RD中断方式学习型PT2262无线遥控开关视频效果
电路请参阅用STC12C2052-1T单片机学习型红外遥控开关中的电路图,除了降压电容改为684/一体化红外接收头改为一体化315M无线接收头外其它完全一样
STC系列12C2052晶振11.0952MHZ~12MHZ
发射芯片采用的是PT2262芯片用4.7M的震荡电阻315M发射
通电后运行指示灯闪烁,按动按钮开关后P1.7输出取反,当输出为低时运行指示灯熄灭
长按按钮开关约5s以上待运行指示灯点亮时再松开按钮则已进入键值遥控学习状态。
按下后要学习的键,待运行指示灯转为闪烁时学习完成。
P1.3=OUT控制高电平有效接NPN型三极管驱动继电器
P1.0=BZ输出低电平有效接PNP型三极管驱动蜂鸣器
P1.7=运行指示灯(闪烁)+学习指示灯(长亮)
P3.2=315MHZ无线一体化接收头接(INT0)
P3.0=按钮开关低电平有效