标题: 独立按键控制两个独立数码管加减0-99 [打印本页]

作者: kaiyunliu    时间: 2018-12-5 22:28
标题: 独立按键控制两个独立数码管加减0-99
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
//  P2口为十位,P3口为个位
sbit kk1 = P1^0; //按键输入;
sbit kk2 = P1^1; //按键输入;

uchar code table[11] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff};
//共阳数码管显示

void Delay(uint x)
{
        while(x--);
}

void Display(uchar k)            
{
         if (k / 10 == 0)   P2 = table[10];     //显示空白
        else   P2 = table[k / 10];              //显示十位
         P3 = table[k % 10];                    //显示个位
         Delay(5);
}

void main()
{
        uchar v=5;
        while(1)
        {
                P1=0xff;
                if(!kk1)                 //判断kk1是否按下
                {
                        Display(v);
                        if(!kk1)                                //再次判断kk1是否按下
                        {
                                while(!kk1);                //等待kk1释放
                                v++;
                                if(v>99)v=0;
                        }
                }
                if(!kk2)                    
                {
                        Display(v);
                        {
                                if(!kk2)
                                {
                                        while(!kk2);
                                        {
                                                v--;
                                                if(v<1)v=99;
                                        }
                                }
                        }
                }
                Display(v);  
        }      

}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1