|
各位大虾,我是单片机的初学者,请各位不要见笑阿,我的程序太长了,不好放,我就把我调试中断的一个小程序给大家看看吧,我的目的是想在中断程序执行完以后,让数码管又原来的0变成2,可是2怎么都带不出来,程序如下:
#include <msp430x14x.h>
int key;
unsigned char seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void delay(void)
{
int i,j;
for(i=0;i<5000;i++)
for(j=0;j<5000;j++) ;
}
interrupt[PORT1_VECTOR]void putkey(void)
{
key=2;
P4OUT=0xFE;
}
void main(void)
{
BCSCTL1&=~0x80; //Xt2 is on
BCSCTL2 |=0x88; //SMCLK=XT2
WDTCTL=WDTPW+WDTHOLD; //Stop WDT
P1DIR=0x0F;
P1IE|=0xF0;
P1OUT=0x00;
P1IES|=0xF0; //中断触发沿选择为下降沿
//P1IE=0xF0; //中断使能
_EINT();
P5DIR|=0xFF;
P4DIR|=0xFF;
P4OUT=0x00;
P5OUT=0x00;
P5OUT=seg[0];
P4OUT=0xFD;
while(1)
{
delay();
P5OUT=seg[key];
}
} |
|