Atmega2560 按键功能 程序(国外英文资料).doc
文本预览下载声明
Atmega2560 按键功能 程序(国外英文资料)
# include mega2560.h
# include delay.h
无符号字符显示[10]= { 0 xc0,0 xf9 0 xa4 0 xb0,0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 };
int i = 0,j = 0,c1 = 0,c2 = 0,c3 = 0,关键= 0,k1 = 0,k2 = 0,转k6 = 0,k0 = 0;
int s1 = 0,s2 = 0,s3 = 0,s4 = 0,z,c、v = 0;
空白显示(int x)
{
为(z = 0;z 120;z + +)
{
如果((i = = 0) (我! = x)){ PORTB = 0 xf8;PORTD =显示(s1);}
else if((我= = 1) (我! = x)){ PORTB = 0 xf4;PORTD =显示(s2);}
else if((我= = 2) (我! = x)){ PORTB = 0 xf2;PORTD =显示(s3);}
else if((我= = 3) (我! = x)){ PORTB = 0 xf1;PORTD =显示(s4);}
delay_ms(1);
}
}
空白display1()
{
为(z = 0;z 120;z + +)
{
如果(i = = 0){ PORTB = 0xF8;PORTD = show[s1];}
else if(i = = 1){ PORTB = 0XF4;PORTD = show[s2]
else if(i = = 2){ PORTB = 0XF2;PORTD = show[s3]
else if(i = = 3){ PORTB = 0XF1;PORTD = show[s4];
delay_ms(1);
}
}
空白skey()
{
为(c = 0;c 120;c++)
{
/ * PA.0口检测按键是否按下* /
如果((PINA.0 = = 0) (k0 = = 0))
{
c1 + +;
如果(c1 20)
{
c1 = 0;
k0 = 1;
}
}
如果((PINA.0 = = 0) (k0 = = 1))
{
c2 + +;
如果(c2 20)
{
c2 = 0;
k0 = 2;
}
}
如果((PINA.0 = = 0) (k0 = = 2)v + +;
如果((v 80) (PINA.0 = = 1) (k0 = = 2))
{
c3 + +;
如果(c3 20)
{
键= 1;
c3 = 0;
k0 = 0;
v = 0;
打破;
}
}
如果(v = 80) (PINA.0 = = 1) (k0 = = 2))
{
c3 + +;
如果(c3 20)
{
c1 = 0;
c2 = 0;
c3 = 0;
k0 = 3;
v = 0;
打破;
}
}
/ *检测PA.1口按键是否按下* /
如果((PINA.1 = = 0) (k1 = = 0))
{
c1 + +;
如果(c1 20)
{
c1 = 0;
k1 = 1;
}
}
如果((PINA.1 = = 0) (k1 = = 1))
{
c2 + +;
If (c2 20)
{
C2 = 0;
K1 = 2;
}
}
If ((PINA. 1 = = 1) (k1 = = 2))
{
C3 + +;
If (c3 20)
{
K1 = 3;
C3 = 0;
Break;
}
}
/ * test PA. 2 button press * /
If ((PINA. 2 = = 0) and (k2 = = 0))
{
C1 + +;
If (c1 20)
{
C1 = 0;
K2 = 1;
}
}
If ((PINA. 2 = = 0) and (k2 = = 1))
{
C2 + +;
If (c2 20)
{
C2 = 0;
K2 = 2;
}
}
If ((PINA. 2 = = 1) and (k2 = = 2))
{
C3 + +;
If (c3 20)
{
K2 = 3;
C3 = 0;
Break;
}
}
/ * test PA. 6 button press * /
If ((PINA. 6 = = 0))
{
C1 + +;
If (c1 20)
{
C1 = 0;
K6 = 1;
}
}
If ((PINA. 6 = = 0).
{
C2 + +;
If (c2 20)
{
C2 = 0;
K6 = 2;
}
}
If (PINA. 6 = = 1)
{
C3 + +;
If (c3 20)
{
K6 = 3;
C3 = 0;
Break;
}
}
}
显示全部