main.c
来自「PXA270平台的键盘应用程序代码~~~~实现4*4键盘全功能」· C语言 代码 · 共 105 行
C
105 行
//#include <stdio.h>
//LED
#define LED_CS3 (*((volatile unsigned short int *)(0x10300000)))
#define LED_CS4 (*((volatile unsigned short int *)(0x10400000)))
//键盘设置寄存器
#define KEYPAD_1 (*((volatile unsigned int *)(0x41500000)))
#define KEYPAD_2 (*((volatile unsigned int *)(0x41500048)))
//键盘允许中断设置
#define INTERRUPTION (*((volatile unsigned int *)(0x40d00004)))
//只读寄存器
#define KEYPAD_8 (*((volatile unsigned char *)(0x41500008)))
#define KEYPAD0_11 (*((volatile unsigned char *)(0x41500020)))
void IRQ_keypad(void)
{
char k;
char ch;
k=KEYPAD_8;
ch=KEYPAD0_11;
switch(k)
{
case 0x40:
LED_CS3=0xf040;
break;
case 0x02:
LED_CS3=0xf079;
break;
case 0x04:
LED_CS3=0xf024;
break;
case 0x20:
LED_CS3=0xf030;
break;
default:
break;
}
switch(ch)
{
case 0x00:
LED_CS3=0xf019;
break;
case 0x01:
LED_CS3=0xf012;
break;
case 0x02:
LED_CS3=0xf003;
break;
case 0x05:
LED_CS3=0xf078;
break;
case 0x10:
LED_CS3=0xf000;
break;
case 0x11:
LED_CS3=0xf018;
break;
case 0x12:
LED_CS3=0xf008;
break;
case 0x15:
LED_CS3=0xf000;
break;
case 0x20:
LED_CS3=0xf046;
break;
case 0x21:
LED_CS3=0xf040;
break;
case 0x22:
LED_CS3=0xf006;
break;
case 0x25:
LED_CS3=0xf00e;
break;
default:
break;
}
}
int main(void)
{
KEYPAD_1=0x7ffffff3; //中断直接键盘0x600003f3;//0x2faff1c2;//
KEYPAD_2=0x00000303;
INTERRUPTION=0x00000010;
LED_CS3=0x007f;
LED_CS4=0xf0f0;
while (1)
{
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?