|
5黑幣
在淘寶上買的一個紅外解碼和發送模塊YM-IRTM(原理圖和資料見附件),想通過單片機的串口來實現,自己做了一下嘗試:
該模塊有四個引腳:GND,VCC,RXD(數據發送口),TXD(數據發送口);
自己用杜邦線把這些接口和單片機連接:電源相連,RXD連接P1^0;TXD連接P1^1;
然后編寫了C程序,將單片機P1^1口收到的數據通過串口中斷發送到計算機(C程序見附件);
在計算機端用串口調試助手查看接收到的數據,發現沒有紅外輸入的時候也會有信號返回(附圖)
串口接收數據截圖.png (35.63 KB, 下載次數: 332)
下載附件
2015-5-9 14:40 上傳
接線圖如下:
接線圖.jpg (2.87 MB, 下載次數: 200)
下載附件
2015-5-9 14:40 上傳
請問各位這是怎么回事?怎么才能讓串口只返回解碼后的數據呢?
下面是這個模塊的使用手冊
YS-IRTM 發射模塊使用手冊(ver1.0).pdf
(373.65 KB, 下載次數: 103)
2015-5-9 14:42 上傳
點擊文件名下載附件
YS-NEC編解碼模塊 原理圖.pdf
(63.68 KB, 下載次數: 53)
2015-5-9 14:42 上傳
點擊文件名下載附件
下面是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;
}
|
最佳答案
查看完整內容
電源有干擾,你把無關的外設比如屏幕等等 統統去掉,然后用電池供電試試,用手機充電寶或者是3節電池均可
|