|
float dis_key=0;
void delay10ms(void) //誤差 0us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void keyscan()
{
if(key1==0)
{
delay10ms();//消抖
if(key1==0)
{
dis_key=0;
}
}
if(key2==0)
{
delay10ms();//消抖
if(key2==0)
{
dis_key=100.0;
}
}
}
void display_key()
{
unsigned int i=0,dis[4];
dis[0]=(int)(dis_key*10)/1000;//百位
dis[1]=(int)(dis_key*10)%1000/100;//十位
dis[2]=(int)(dis_key*10)%100/10;//個(gè)位
dis[3]=(int)(dis_key*10)%10;//十分位
for(i=0;i<4;i++)
{
P1=dispbitcode[i];//位選擇
P0=dispcode[i];
delay10ms();
P1=0;P0=0;//消隱
}
}
給你一個(gè)差不多的例子 |
|