[求助] msp430g2553的红外接收问题

宁小小天   2014-8-11 20:56 楼主
现在要接收红外信号,将红外接收头的OUT引脚插到了P2.3,打算一遇到跳变就进入中断并计时,不知道程序怎么写了。单片机新手求指导,我的程序现成这样:


main(void)
{
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    P1DIR = BIT0;
    P1OUT = 0X01;
    int_IR();
}

//初始化Timer
void int_Timer()
{
        TACCTL1 |=CM_3+SCS+CAP+CCIE;//上下沿都触发捕捉,同步模式、使能中断
        TACTL |= TASSEL1+MC_2+ TACLR;//选择SMCLK时钟作为计数时钟源,连续计数模式
}

//有关端口初始化
void int_io()
{
        P2IFG &=~ BIT3;
        P2SEL |= BIT3;

}
//初始化红外相关资源
void int_IR()
{
         int_io();
         int_Timer();

}

//识别出红外信号后处理LED灯
void dealLED()
{

        int i;
        while(1){
                for(i=0;i<20000;i++){
                                P1OUT=0x01;
                        }
                for(i=0;i<20000;i++)
                {
                        P1OUT=0x00;
                }
        }
}

#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer_A(void)
{
         dealLED();

}

回复评论 (3)

发个程序给你参考,解码并用led指示的,你修改编码规则即可
点赞  2014-8-12 11:48
引用: shower.xu 发表于 2014-8-12 11:48
发个程序给你参考,解码并用led指示的,你修改编码规则即可

肿么发?
点赞  2014-8-12 14:29

Ver1.3.rar (108.88 KB)
(下载次数: 18, 2014-8-12 17:17 上传)


Sorry,刚忘了发
点赞  2014-8-12 17:18
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复