⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c.bak

📁 Freescal MC9S08GT60的一些实例源码
💻 BAK
字号:
#include <hidef.h> /* for EnableInterrupts macro */
#include <MC9S08GB60.h> /* include peripheral declarations */

void main(void) {
  DisableInterrupts;	//Disable Interrupts
  
  PTBD = 0x00;
  PTBDD = 0xFF; //Set Port B as output
  PTADD = 0x0F; //Set Port A bits 7-4 as input and 3-0 as output
  PTAPE = 0xF0; //Internal Pullup Enable bits 7-4
  PTAD = 0x00; 
  KBI1PE = 0xF0;  //Enable Port A bits 7-4 as keyboard
  KBI1SC = 0x06;  //Keyboard Interrupt Enable and event on falling edges sensitive
    
  EnableInterrupts; //enable interrupts/

  for(;;) {
    __RESET_WATCHDOG(); /* feeds the dog */
  } /* loop forever */
}

interrupt Keyboard() {
  char result;  
  unsigned int i;
  result = PTAD;
  KBI1PE = 0x00;
  PTADD = 0xF0;
  PTAPE = 0x0F;
  PTAD = 0x00;
  result |= PTAD;
  switch(result) {
    case 0xEE:
      PTBD = 0xEF;
      break;
    case 0xED:
      PTBD = 0xDF;
      break;
    case 0xEB:
      PTBD = 0xBF;
      break;
    case 0xE7:
      PTBD = 0x7F;
      break;
    case 0xDE:
      PTBD = 0xFE;
      break;
    case 0xDD:
      PTBD = 0xFD;
      break;
    case 0xDB:
      PTBD = 0xFB;
      break;
    case 0xD7:
      PTBD = 0xF7;
      break;
    case 0xBE:
      PTBD = 0xEF;
      break;
    case 0xBD:
      PTBD = 0xDF;
      break;
    case 0xBB:
      PTBD = 0xBF;
      break;
    case 0xB7:
      PTBD = 0x7F;
      break;
    case 0x7E:
      PTBD = 0xFE;
      break;
    case 0x7D:
      PTBD = 0xFD;
      break;
    case 0x7B:
      PTBD = 0xFB;
      break;
    case 0x77:    
      PTBD = 0xF7;
      break;
  }
  for(i=0;i<=20000;i++) __RESET_WATCHDOG();
  KBI1SC_KBACK = 1;
  KBI1PE = 0xF0;
  PTADD = 0x0F;
  PTAPE = 0xF0;
  PTAD = 0x00;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -