|
5黑幣
在淘寶上買的一個(gè)紅外解碼和發(fā)送模塊YM-IRTM(原理圖和資料見附件),想通過單片機(jī)的串口來實(shí)現(xiàn),自己做了一下嘗試:
該模塊有四個(gè)引腳:GND,VCC,RXD(數(shù)據(jù)發(fā)送口),TXD(數(shù)據(jù)發(fā)送口);
自己用杜邦線把這些接口和單片機(jī)連接:電源相連,RXD連接P1^0;TXD連接P1^1;
然后編寫了C程序,將單片機(jī)P1^1口收到的數(shù)據(jù)通過串口中斷發(fā)送到計(jì)算機(jī)(C程序見附件);
在計(jì)算機(jī)端用串口調(diào)試助手查看接收到的數(shù)據(jù),發(fā)現(xiàn)沒有紅外輸入的時(shí)候也會(huì)有信號(hào)返回(附圖)
接線圖如下:
請問各位這是怎么回事?怎么才能讓串口只返回解碼后的數(shù)據(jù)呢?
下面是這個(gè)模塊的使用手冊
YS-IRTM 發(fā)射模塊使用手冊(ver1.0).pdf
(373.65 KB, 下載次數(shù): 103)
2015-5-9 14:42 上傳
點(diǎn)擊文件名下載附件
YS-NEC編解碼模塊 原理圖.pdf
(63.68 KB, 下載次數(shù): 53)
2015-5-9 14:42 上傳
點(diǎn)擊文件名下載附件
下面是C源程序:
#include<reg51.h>
sbit RXData=P1^0;
sbit TXData=P1^1;
void UsartConfig();
unsigned char SetOrder;
void main()
{
SetOrder="A1 F3 02 00 00";
RXData=SetOrder;
while(1){
UsartConfig();
SBUF=TXData;
}
}
void UsartConfig()
{
SCON=0x50;
TMOD=0x20;
PCON=0x80;
TH1=0XF3;
TL1=0XF3;
ES=1;
EA=1;
TR1=1;
}
void Usart() interrupt 4
{
while(!TI)
SBUF=TXData;
TI=0;
}
|
最佳答案
查看完整內(nèi)容
電源有干擾,你把無關(guān)的外設(shè)比如屏幕等等 統(tǒng)統(tǒng)去掉,然后用電池供電試試,用手機(jī)充電寶或者是3節(jié)電池均可
|