/*****************红外接收*****************************************/
//引脚:P1.1 , CCIE0,Irin;
//通信格式:起始码:9ms,引导码:4.5ms,0:低:0.56ms,高:0.56ms,1:低:0.56ms,高:1.12ms
//所用资源: TimerA,CCI0
#include"msp430x14x.h"
#include"RXdcode.h"
#include"UART0.h"
unsigned int Irtime=0,Irdata[32];
unsigned char RxBuf[4],start_flag=0,Irok=0,Irtrue=0,cnt=0,state=0;
void int_TimerA()
{
P1SEL|=BIT1; //捕获输入脚
TACTL|=TASSEL_2+TACLR+MC_2+ID_3;//smclk,1mzh
TACCTL0|=CM_2+CCIS_0+SCS+CAP;//下降沿捕获
}
void RXON() //打开捕获
{
TACCTL0|=CCIE;
start_flag=0;
state=0;
Irok=0;
Irtrue=0;
}
void dcode(void) //解码
{
unsigned char data=0,i,j,k=0;
RXON();
while(Irok==0); //等待捕获完成
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
if(Irdata[k]>1320) //大于1.32ms判为1码
{
data=data|0x80;
}
else //0码
{
data=data;
}
if(j<7)
{
data=data>>1;
}
k++;
}
RxBuf[i]=data; //存储解码值
data=0;
Irok=0;
if(RxBuf[0]==RxBuf[1] &&RxBuf[0]==ADDER &&(RxBuf[2]|RxBuf[3]==0xff))
Irtrue=1; //解码正确
else
{
RXON();
}
}
}
#pragma vector=TIMERA0_VECTOR//注意:CCIFG进入
__interrupt void Timer_A(void)
{
if(start_flag==1)
{
Irtime=TACCR0;
if(Irtime>9000 && Irtime<14000)//起始码正确
{
state=1;
cnt=0;
TACTL|=TACLR;
}
else if(state==1) //开始接受数据位
{
Irdata[cnt]=Irtime;//存储每个电平的持续时间,用于以后判断是0还是1
TACTL|=TACLR;
cnt++;
if(cnt==32) //存储32位下降沿时间差
{
Irok=1;
cnt=0;
TACCTL0&=~CCIE;
state=0;
}
}
}
else
{
start_flag=1;
TACTL|=TACLR;
}
TACCTL0&=~CCIFG;
TACTL|=TACLR;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
红外传输.zip (33个子文件)
红外传输
TX
main.c 590B
settings
TX.dni 990B
TX.dbgdt 4KB
TX.cspy.bat 2KB
TX.wsdt 3KB
TXcode.c 1KB
TX.eww 156B
TX.ewp 44KB
Debug
Obj
TXcode.r43 17KB
TX.pbd 234B
main.r43 7KB
List
Exe
TX.d43 18KB
TX.ewd 13KB
TXcode.h 373B
TX.dep 3KB
RX
RX.dep 3KB
main.c 712B
settings
RX.dni 990B
RX.wsdt 4KB
RX.cspy.bat 2KB
RX.dbgdt 5KB
RX.ewp 44KB
RX.ewd 13KB
Debug
Obj
RX.pbd 313B
RXdcode.r43 17KB
UART0.r43 7KB
main.r43 8KB
List
Exe
RX.d43 20KB
UART0.h 194B
RXdcode.c 2KB
RX.eww 156B
RXdcode.h 170B
UART0.c 1KB
共 33 条
- 1
xyz201107
- 粉丝: 3
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页