<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-28 來(lái)源:網(wǎng)絡(luò ) 收藏

void delay_1ms(unsigned int nValue)//delay 1ms at 8M
{
unsigned int nCount;
unsigned int ii;
unsigned int jj;
nCount = 1592;
for(ii = nValue;ii > 0;ii--)
{
for(jj = nCount;jj > 0;jj--)
_NOP();
}
}

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

void delay_5us(unsigned int nValue)//delay 5us at 8M
{
unsigned int ii;
for(ii = nValue;ii > 0;ii--)
{
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
_NOP();_NOP();_NOP();_NOP();
}
}


int main( void )
{


WDTCTL = WDTPW + WDTHOLD; //關(guān)閉看門(mén)狗


InitSys(); //初始化
delay_1ms(1);
for(;;)
display();



}



/*****************************************************************************
系統初始化
******************************************************************************/
void InitSys()
{
unsigned int i;


BCSCTL1 &= ~XT2OFF;

do
{
IFG1 &= ~ OFIFG ;
for ( i = 0 ; i < 100 ; i ++ )
_NOP();
}


while ( IFG1&OFIFG != 0 );
BCSCTL2 |= SELM_2 + SELS ;



P1IE=BIT0; //P1.0中斷功能打開(kāi)
P1IES|=BIT0; //P1.0下降沿觸發(fā)中斷
IR_DIR_IN; //PI.0設置為輸入

duan_out; //P2設置為輸出

_EINT(); //打開(kāi)全局中斷控制
}
/*****************************************************************************
端口1中斷函數
******************************************************************************/
#pragma vector="PORT1"_VECTOR
__interrupt void Port1()
{
char i,j,k,n=0;
if((P1IFG&BIT0) == BIT0)
{
P1IFG &= ~BIT0; //清除P1.0中斷標志
P1IE &=~BIT0; //關(guān)閉P1.0中斷功能
I1:
for (i=0;i<4;i++)
{
if (IRIN==0) break;
if (i==3) {P1IE|=BIT0;return;}
}
delay(20);
if (IRIN==1) goto I1; //確認IR信號出現
while(!IRIN); //等待IR變?yōu)楦唠娖?br />
for (j=0;j<4;j++)
{
for (k=0;k<8;k++)
{
while (IRIN) //等 IR 變?yōu)榈碗娖?br /> {delay_5us(28);}
while (!IRIN) //等 IR 變?yōu)楦唠娖?br /> {delay_5us(28);}
while (IRIN) //計算IR高電平時(shí)長(cháng)
{
delay_5us(28);
n++;
if (n>=30){P1IE|=BIT0;return;}
}
dat[j]=dat[j] >> 1;
if (n>=11) {dat[j] = dat[j]|0x80;}
n="0";
}
}
if (dat[2]!=~dat[3]) {P1IE|=BIT0;return;}//此句剛開(kāi)始可以屏蔽,見(jiàn)到效果后再?lài)L試打開(kāi)校驗
dat[5]=dat[2] & 0x0F;
dat[6]=dat[2] & 0xF0;
dat[6]=dat[6] >> 4;
//beep();
P1IE|=BIT0;
}
}


void display()
{
wei1_1;wei2_0;
duan="seg"[dat[5]];
delay_1ms(1);
wei2_1;wei1_0;
duan="seg"[dat[6]];
delay_1ms(1);
}


上一頁(yè) 1 2 下一頁(yè)

關(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>