//按键加一或减一
#include
#include
int duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴数码管0到9数字的十六进制
sbit K1 = P1^0;
sbit K2 = P1^7;
char num = 0;
//含参数延时函数
void delay(unsigned int i){
while(i--);
}
//主函数
void main(void)
{
while(1){
if(K1 == 0){
delay(5000);//按键的延时
if(K1 == 0){
num ++;
}
}
if(K2 == 0){
delay(5000);
if(K2 == 0){
num --;
}
}
//循环
if(num > 99){
num = 0;
}
if(num < 0){
num = 99;
}
//知识点:任何一个两位数取余10得个位数 ,除以10的十位数
P3=0x08; //个位显示
P0 = ~duan[num%10]; //只有十的倍数取余10才等于0,所以其他非十的倍数等于本身过其个位数
delay(5000);
P3=0x04; //十位显示
P0= ~duan[num/10%10]; //单片机里任何一个数除以10等于其十位数
delay(6000);
}
}
相关文章