|
我淘寶買了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堵墻還能收到信號嗎
問的比較多,希望大神們幫我解答下這些細節問題,謝謝
|
|