本帖最后由 617595187 于 2015-9-6 22:28 编辑
按下按键,对应led亮起。
K1-------D1亮
K2-------D2亮
K3-------D3亮
K4-------D4亮
K5-------D1,D2,D3,D4全亮。
小白一个,自己写的C如下,明天进行调试:
#define GPH0CON (*(vola
tile unsigned long*) 0xE0200C00)
#define GPH0DAT (*(volatile unsigned long*) 0xE0200C04)
#define GPH0PUD (*(volatile unsigned long*) 0xE0200C08)
#define GPH0DRV (*(volatile unsigned long*) 0xE0200C0C)
#define MP0_4CON (*(volatile unsigned long*) 0xE0200340)
#define MP0_4DAT (*(volatile unsigned long*) 0xE0200344)
#define MP0_4PUD (*(volatile unsigned long*) 0xE0200348)
// #define MP0_4DRV (*(volatile unsigned long*) 0xE020034C)
#include
int init()
{
GPH0CON=(0x0<<31); //配置按键为输入
GPH0PUD=0X5555; //配置按键电平为上拉
GPH0DAT=0XFF;//11111111
GPH0DRV=0x0;
MP0_4CON=(0x11111<<3); //配置LED为输出
MP0_4PUD=(0x0<<15);
MP0_4DAT=(0XF<<4);
}
int main()
{
init();
if (GPH0DAT==0xF7) //k1按下 D1亮
MP0_4DAT=0xE0;
else if (GPH0DAT==0XEF) //K2 D2
MP0_4DAT=0XD0;
else if(GPH0DAT==0XDF) //k3 d3
MP0_4DAT=0XB0;
else if (GPH0DAT==0XBF) //k4 d4
MP0_4DAT=0X70;
else MP0_4DAT=0X00; // k5 D1 D2 D3 D4 D5
}