void Port_Init(void);
void Beepon(void);
void Beepoff(void);
void Led_Display(int data);
void LedBeepTest(void);
void Port_Init(void)
{
//LED
rGPKCON0 = (rGPKCON0 & ~(0xffffU<<16))|(0x1111U<<16);
rGPKPUD = (rGPKPUD & ~(0xffU << 8))|(0x00U<<8);
//beep
rGPFCON = rGPFCON&(~(0x1<<(29)));//GPD14 [29:28] 01输出
rGPFCON = rGPFCON|(0x1<<(2*14));
rGPFPUD = rGPFPUD&(~(0x3<<(2*14)));//GPD14 [29:28]保留上拉11
rGPFDAT = rGPFDAT|0x0000; // GPD14 [14]=1 ON =0 OFF
}
void Beepon(void)
{
rGPFDAT = rGPFDAT|0x4000; // GPD14 [14]=1
}
void Beepoff(void)
{
rGPFDAT = rGPFDAT&(~0x4000); // GPD14 [14]=0
}
void Led_Display(int data)
{
rGPKDAT = (rGPKDAT & ~(0xf<<4)) | ((data & 0xf)<<4);
}
void LedDelay(void)
{
volatile unsigned int k;
for(k = 0; k < 10000000; k++);
}
void LedBeepTest(void)
{
unsigned int i;
for(i=0;i<4;i++)
{
Led_Display(~(0x1<<i)); // 0001
Beepon();
LedDelay();
Beepoff();
LedDelay();
}
}