<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > msp430紅外解碼成功

msp430紅外解碼成功

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
#include <msp430x22x4.h>

#define CPU_F ((double)1000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define IR_DIR_IN P2DIR&=~BIT0 //紅外接收頭P2.0設置為輸入,

本文引用地址:http://dyxdggzs.com/article/201611/316540.htm

#define IRIN (P2IN&BIT0) //紅外接收頭輸入值
char data[4]; //保存地址碼,地址反碼,數據碼,數據反碼
char m;

/*****************************************************************************
系統初始化
******************************************************************************/
void InitSys()
{
WDTCTL = WDTPW + WDTHOLD; //關(guān)閉看門(mén)狗
DCOCTL=CALDCO_1MHZ;
BCSCTL1=CALBC1_1MHZ;
P2IE|=BIT0; //P2.0中斷功能打開(kāi)
P2IES|=BIT0; //P2.0下降沿觸發(fā)中斷
IR_DIR_IN; //P2.0設置為輸入
_EINT(); //打開(kāi)全局中斷控制
}

int main( void )
{
InitSys(); //初始化
while(1);
}
/*****************************************************************************
端口1中斷函數
******************************************************************************/
#pragma vector=PORT2_VECTOR
__interrupt void Port2()
{
char i,j,k=0,m=1;
if((P2IFG&BIT0) == BIT0)
{
P2IFG &= ~BIT0; //清除P2.0中斷標志
P2IE &=~BIT0; //關(guān)閉P2.0中斷功能
for (i=0;i<8;i++) //等待9ms引導碼,在9ms內出現高電平則退出解碼
{
delay_ms(1);
if (IRIN==1) m=0;
}
while(!IRIN); //等 IR 變?yōu)楦唠娖?br /> delay_ms(4); //等待4.5ms結果碼
if(m==1)
{
while (IRIN); //等 IR 變?yōu)榈碗娖?br /> for(k=0;k<4;k++)
{
for (j=0;j<8;j++)
{
delay_us(500); //等待560us低電平
while (!IRIN); //等 IR 變?yōu)楦唠娖?br /> char n=0;
while (IRIN) //計算IR高電平時(shí)長(cháng)
{
delay_us(140);
n++;
}
data[k]=data[k]>>1;
if (n<7) {data[k]&=0x7f;}
else
if(n>=7&&n<13)
{data[k]|=0x80;}
else
if (n>=13)
{
P2IE|=BIT0;
}
}
}
}
}
P2IE|=BIT0;
}



關(guān)鍵詞: msp430紅外解

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>