按键扫描程序
#define S1 GpioDataRegs.GPADAT.bit.GPIOA0
void Scan_Key(void); //扫描键盘
void Manage_Key1(void);
void main(void)
{
InitSysCtrl(); // 系统初始化子程序,在DSP28_sysctrl.c中
DINT; // 关闭总中断
IER = 0x0000; // 关闭外设中断
IFR = 0x0000; // 清中断标志
InitPieCtrl(); //初始化PIE控制寄存器
InitPieVectTable(); //使能PIE向量表
// InitPeripherals();
EALLOW;
GpioMuxRegs.GPADIR.bit.GPIOA0=0;
EDIS;
while(1)
{if((S1==0)|(S2==0)|(S3==0)|(S4==0))
Scan_Key();
}
}
void Scan_Key(void)
{
unsigned int i;
for(i=0;i<10000;i++); //键盘消抖动
if(S1==0)
{
Manage_Key1();}
}
void Manage_Key1(void)
{
flag1=flag1+1;
} |