430调试程序是出现奇怪现象
这个键盘程序是参照尹延辉的视频写的,下载后发现没反应,后来偶然发现上电后没法应,按一下复位按键有反应,再按一下复位按键程序正常执行,我是初学者,甚是不明白,望高手指导一下,下面是程序#include "msp430x14x.h"
#include "My_define.h"
#include "My_function.h"
#define keyin (P1IN&0X0F)
uchar keyval = 0;
void main( void )
{
//init();
WDTCTL = WDTPW + WDTHOLD;
P1IES = 0X0F;
P1IE = 0X0F;
P1DIR = BIT7;
P1OUT = 0;
P4DIR = 0XFF;
P5DIR = 0XFF;
P5OUT = 0xc0;
P4OUT = 0XF7;
_EINT();
for(;;)
{
LPM1;
P5OUT = duan;
}
}
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
if(P1IFG & 0X0F)
{
switch(P1IFG)
{
case 0x01:if(keyin == 0x0e)
{
delay_DCO_1ms(8);
if(keyin == 0x0e)
{
while(keyin != 0x0f);
keyval = 1;
LPM1_EXIT;
P1IFG=0;
return ;
}
}
case 0x02:if(keyin == 0x0d)
{
delay_DCO_1ms(8);
if(keyin == 0x0d)
{
while(keyin != 0x0f);
keyval = 2;
LPM1_EXIT;
P1IFG=0;
return ;
}
}
case 0x04:if(keyin == 0x0b)
{
delay_DCO_1ms(8);
if(keyin == 0x0b)
{
while(keyin != 0x0f);
keyval = 3;
LPM1_EXIT;
P1IFG=0;
return ;
}
}
case 0x08:if(keyin == 0x07)
{
delay_DCO_1ms(8);
if(keyin == 0x07)
{
while(keyin != 0x0f);
keyval = 4;
LPM1_EXIT;
P1IFG=0;
return ;
}
}
}
}
} 代码不全吧
页:
[1]