|
本帖最后由 qwettyuio 于 2022-1-11 11:31 編輯
#define key_S 20
#define key_L key_S*50
uchar fen;
uint count;
bit a=0;
sbit key3 = P1^3;
sbit led0 = P1^0;
sbit led1 = P1^7;
sbit led2 = P1^6;
void delay(unsigned int t)//延時(shí)時(shí)間 = t*9+16 us
{
while(t--);
}
void Scan_key()
{
if(!key3)
{
count++;
if(count==key_L)
{
a=~a;
//怎么使這代碼一開機(jī)就顯示,然后通過長(zhǎng)按切換這兩個(gè)程序
if(a)
{
Write_1621(29,0x20,4);
}
else
{
Write_1621(29,0x40,4);
}
}
if(count>key_L)
count=key_L+1;
}
else
{
if(count>key_S && count<key_L)
{
if(++fen==4)
fen=0;
}
count=0;
switch(fen)
{
case 0:Write_1621(8,0x01,4);led0=1;led1=1;led2=1;break;
case 1:Write_1621(8,0x80,4);led0=0;led1=1;led2=1;break;
case 2:Write_1621(8,0x40,4);led0=1;led1=0;led2=1;break;
case 3:Write_1621(8,0x20,4);led0=1;led1=1;led2=0;break;
default:break;
}
}
delay(110);
}void main( )
{
Init_1621(); //初始化
Port1Cfg(1,0);
Port1Cfg(1,3);
Port1Cfg(1,6);
Port1Cfg(1,7);
while(1)
{
Guding_Init();
Scan_key();
}
}
|
|