首页 > 其他 > 详细

数码管按键加减一

时间:2017-05-16 16:11:37      阅读:257      评论:0      收藏:0      [点我收藏+]
//按键加一或减一
#include <reg51.h>
#include <stdio.h>
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);
        
        
    }
 }

技术分享

 

数码管按键加减一

原文:http://www.cnblogs.com/kinson/p/6861883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!