uchar b_LED_statu ;
uchar F_work_on;
extern uchar key_count_time;
void key_display(void)
{
switch(key_count_time)
{
case 2:
{
PUA |= 0x28; //A5 A3开启输入上拉
OEA &= 0xD7; //0:输入 1:输出
PUB |= 0x0B; //B0 B1 B3 开启输入上拉
OEB &= 0xF4; //
PUC |= 0x01; //C0 开启输入上拉
OEC &= 0xFE;
if(IOA5 == 0)
{
F_work_on= 1;
}
if(IOA3 == 0)
{
F_work_on= 0;
}
key_func_static();
}
break;
case 4:
{
PUA &= 0xD7; //A5,设置为输出模式关闭上拉 A3输入
OEA |= 0x20; //0:输入 1:输出
OEA &= 0xf7;
PUB &= 0xf4; //B0 B1 B3 关闭上拉,开启输出1
OEB |= 0x0B; //
PUC &= 0xfe; //C0 关闭上拉,开启输出1
OEC |= 0xFf; //
IOA5 = 1;
IOA3 = 0;
IOB |= 0X0b;
IOC |= 0X01;
if(b_LED_statu == 1) //根据b_LED_statu的状态,开关D1 D2 D3 D4
{
IOB3 = 0; //开启D1
}
else if(b_LED_statu == 2)
{
IOB3 = 1; //关闭D1
}
}
break;
case 6:
{
PUA &= 0xD7; //A3设置为上拉输出1模式,A5设置为输入模式关闭上拉
OEA |= 0x08; //0:输入 1:输出
OEA &= 0xdf;
PUB &= 0xf4; //B0 B1 B3 关闭上拉,开启输出1
OEB |= 0x0B; //
PUC &= 0xfe; //C0 关闭上拉,开启输出1
OEC |= 0xFf; //
IOA3 = 1;
IOA5 = 0;
IOB |= 0X0b;
IOC |= 0X01;
key_count_time= 0;
if(b_LED_statu == 3) //开启D5
{
IOB3 = 0;
}
else if(b_LED_statu == 4)
{
IOB3 = 1; //关闭D5
}
}
break;
default:
{
}
break;
}
}