#include<reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit K1=P3^2;
sbit K2=P3^3;
uint t=0;
uint a=101;
uint x=0;
uint display[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uint flag=0;
void delay(int ms){
uint i;
while(ms--){
for(i=0;i<120;i++);
}
}
void Init(){
EA = 1;
TMOD = 0x10;
TH1 = (65536-500)/256;
TL1 = (65536-500)%256;
ET1 = 1;
TR1 = 1;
}
void ZQ() interrupt 3{
TF1=0;
TH1 = (65536-1000)/256;
TL1 = (65536-1000)%256;
t++;
if(K1==0){
delay(2);//消抖
if(K1==0) {a=a-50; if(a<0)a=1;P0=0x00;delay(2);t=0;}//减速
}
if(K2==0){
delay(2);
if(K2==0) {a=a+50;P0=0x00;delay(2);t=0;}//加速
}
if(t>=a){
P0=display[x];
x++;
if(x>7){x=0;}
t=0;
}
}
void main(){
Init();
while(1);
}
|