用P1口的中断控制P2口的LED灯- #include <msp430x24x.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- uchar key;
- void delay(int v) //延时
- {
- while(v!=0)
- v--;
- }
- void main()
- {
- WDTCTL=WDTPW+WDTHOLD;
- P1DIR=0X00;
- P2DIR=0XFF;
- P1IFG=0X00;
- P1IES=0XFF;
- P1IE=0XFF;
- P2OUT=0XFF;
- _EINT();
- while(1)
- {
- P2OUT=table[key];
- }
- }
- #pragma vector=PORT1_VECTOR
- __interrupt void timer()
- {
- uchar temp;
- delay(2666);
- if((P1IN&0XFF)==0XFF)//判断是否有中断
- {
- temp=P1IFG;
- switch(temp)
- {
- case 1 :key=0 ;break;
- case 2 :key=1 ;break;
- case 4 :key=2 ;break;
- case 8 :key=3 ;break;
- case 16 :key=4 ;break;
- case 32 :key=5 ;break;
- case 64 :key=6 ;break;
- case 128:key=7 ;break;
- }
- }
- P1IFG=0X00;
- }
复制代码 |