|
我淘宝买了315M遥控(4键的)和接收板(带PT2272-M4),一共8块多钱,PT2272板4个数据口直接接单片机(STC89C52)P10-P13,没有其他配件,程序设置P10-P13高电平时,P14-P17输出低电平,P14-P17连PNP三极管连继电器,因为想用一个键控制一个继电器多开和关两个状态,程序如下:sbit a=P1^0;
sbit b=P1^1;
sbit c=P1^2;
sbit d=P1^3;
sbit j=P1^4;
sbit k=P1^5;
sbit m=P1^6;
sbit n=P1^7;
void main()
{
while(1)
{
if(a==1)
{j=~j;while(a); }
if(b==1)
{k=~k;while(b); }
if(c==1)
{m=~m;while(c); }
if(d==1)
{n=~n;while(d); }
}
}
单片机刚上电,P14-P17是高电平的,P10-P13因为连接PT2262的数据口,低电平,
然后遥控距离板子一米左右,按下A键(对应单片机P10)时,P14输出低电平,到这里还没问题,说明模块能通信
但是,当我按着A键不放(我设计的是按着按键不放,就while(a);,使得继电器能保持住),对应继电器磕打磕打磕打响个不停,有时很正常,有时磕打两下,就是j取反再取反,虽说是想要的电平,但是磕打那么一下也是不符合程序的,我也找不到原因,不知道为什么,请教一下大侠们:
1.PT2272第一次解码成功(实际上是第二次,第一次丢弃了,那个咱不算它,忽略了)后VT变高,输出4个数据口状态,到这里要是遥控按键还按着,没松开,是不是该马上第二次解码?
2.在它第二次解码期间,它的VT和数据口是不是会复位一下(PT2272的4位点动芯片),只到第二次也解码成功,再拉高VT,数据口?数据手册也没说第二次解码期间,VT和数据口会保持还是会复位,我的继电器磕打磕打的是什么原因呢?
3.我按着一个键不放,再按第二键时,第二键对应继电器没反应,PT2262发射完第一遍数据后,如果第一按键一直按着不管其他键有没有按下,是不是数据都保持第一键的数据?
4.这个东西我测试了下距离,大概20米吧,穿了3堵墙,一个厚约1.5米的砖堆,木有信号问题,按键时间长,多数是磕打两下,按键按大概0.5秒时,可以正常用。我想问下,用软件代替PT2262/2272,都说抗干扰差,就十几米,那这十几米的距离,穿3堵墙还能收到信号吗
问的比较多,希望大神们帮我解答下这些细节问题,谢谢
|
|