|
re
只看执行过的那部分行吗?
下面是单步调试执行过的程序部分:
void init_Keyboard(void){
/*
P5SEL &= 0xfb; // P5.2 设置为I/O端口
P5SEL &= 0x9F; // P5.6, P5.5 设置为I/O端口
P4SEL &= 0xF7; // P4.3 设置为I/O端口
P1SEL &= 0xEF; // P1.4 设置为I/O端口
P3SEL &= 0xBF; // P3.6 设置为I/O端口
P2SEL &= 0xDF; // P2.5 设置为I/O端口
*/
P5DIR &= 0xfb; // P5.2 设置为输入模式
P5DIR |= 0x60; // P5.6, P5.5 设置为输出模式
P4DIR |= 0x08; // P4.3 设置为输出模式
P1DIR |= 0x10; // P1.4 设置为输出模式
P3DIR |= 0x40; // P3.6 设置为输出模式
P2DIR |= 0x20; // P2.5 设置为输出模式
P5OUT &= 0x9F; // P5.6, P5.5输出值清零
P4OUT &= 0xF7; // P4.3 输出值清零
P1OUT &= 0xEF; // P1.4 输出值清零
P3OUT &= 0xBF; // P3.6 输出值清零
P2OUT &= 0xDF; // p2.5 输出值清零
key_Flag = 0;// 初始化key_Flag
key_Pressed = 0;// 初始化key_Pressed
}
void key_Event(void){
unsigned char tmp;
P5OUT &= 0x9F; // P5.6, P5.5输出值清零
P4OUT &= 0xF7; // P4.3 输出值清零
P1OUT &= 0xEF; // P1.4 输出值清零
P3OUT &= 0xBF; // P3.6 输出值清零
P2OUT &= 0xDF; // p2.5 输出值清零
tmp = P5IN; // 获取 p5IN
...
}
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //停止看门狗
P1DIR |= 0x01; // set P1.0 to output direction
char tmp[2]="0";
init_Keyboard(); // 初始化键盘
while(1)
{
key_Event(); //检测按键事件
...
}
}
|
|