Board logo

标题: 还是关于按键中断的问题9s12xep100 [打印本页]

作者: freewind20    时间: 2011-7-25 17:34     标题: 还是关于按键中断的问题9s12xep100

本帖最后由 freewind20 于 2011-7-25 17:40 编辑

做了一个9s12xep100按键中断,程序如下:
#define kb_ps       PPSH
#define kb_ie       PIEH
#define kb_if       PIFH
void delay(void){
  unsigned int i,j;
  for(i=0;i<1000;i++)
    for(j=0;j<1335;j++);
}

void main(void) {
  DisableInterrupts;
  key_up_d=0;  //输入
  key_down_d=0;
  kb_ps=0;
  kb_if=0xff;
  kb_ie=0x14;
  ledd=1;
EnableInterrupts;
  
  for(;;){
    //led=~led;
    //delay();
    //_FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 25 key_interrupts(void){
   DisableInterrupts;
   kb_if=0xff;
   if(key_up==0){
    led=0;
    delay();
   }   
   if(key_down==0){
    led=1;
    delay();
   }
   EnableInterrupts;
}
#pragma CODE_SEG DEFAULT
key_up按下灯亮,但是key_down按下灯没有灭。
用示波器看了一下,key_down连接的端口原来是高电平,按下按键变成低电平。
作者: strongchen    时间: 2011-7-29 15:44

key_down按下后,能进入key_interrupts中断吗?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0