因仑“3+1”工程特种兵精英论坛

标题: 51独立键盘按键控制数码管显示 [打印本页]

作者: 因为思念谁    时间: 2016-4-21 22:08
标题: 51独立键盘按键控制数码管显示
#include<reg52.h>
#define unit unsigned int             为啥按下P10键两三次或者四五次之后数码管显示数字才加1啊?而且此处delay函数去掉和不去掉显示现象为什么会没有区别呢??求大神指教
#define uchar unsigned char
sbit P21=P2^1;
sbit P10=P1^1;                        
uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x02,0xf8,0x80,0x90};
void delay(unit x)
{
        unit i,j;
        for(i=0;i<x;i++)
        for(j=0;j<110;j++);
}
void main()
{
    int num=0;
        P21=0;
        while(1)
        {
           if(P10==0)
           {
            if(num<9)
                {
                 delay(10);
                 if(P10==0)
                 {
                   P0=table[num];
                   num++;
                 }
                 }

                }
          while(!P10);
        }
}












欢迎光临 因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4