📄 main.c.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 + -