标题: 两位数加减单片机程序,我下面代码要怎么改才能不按着按钮还亮 [打印本页]

作者: GKJ12345    时间: 2017-5-7 16:21
标题: 两位数加减单片机程序,我下面代码要怎么改才能不按着按钮还亮
#include<reg51.h>
sbit add=P3^2;
sbit sub=P3^3;
bit add_bak;
bit sub_bak;
void delay(int num){
int k,l;
        for(k=0;k<num;k++)
                for(l=0;l<10;l++)
                ;
}
unsigned char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char WeiMa[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
int i,j,n,t;
void main()
{
        P2=WeiMa[7];
        P0=table[0];
        n=0;
        while(1){
                        if(add==0&&add_bak==1){
                                n++;
                                if(n>99){
                                        n=0;
                                }
                                i=n/10%10;
                                if(i>0){
                                        P2=WeiMa[6];        
                                        P0=table;
                                        delay(10);
                                        P0=0xff;
                                }
                                else{
                                        P2=WeiMa[6];
                                        P0=table[0];
                                        delay(10);
                                        P0=0xff;
                                }
                                P2=0x00;
                                j=n%10;
                                P2=WeiMa[7];
                                P0=table[j];
                                delay(10);
                                P0=0xff;
                                P2=0x00;
                                add_bak=0;
                        }
                        if(add==1){
                                add_bak=1;
                        }
               
               
                        if(sub==0&&sub_bak==1){
                                n--;
                                if(n<0){
                                        n=99;
                                }
                                i=n/10%10;
                                if(i>0){
                                        P2=WeiMa[6];
                                        P0=table;
                                        delay(10);
                                        P0=0xff;
                                }
                                else{
                                        P2=WeiMa[6];
                                        P0=table[0];
                                        delay(10);
                                        P0=0xff;
                                }
                                P2=0x00;
                                j=n%10;
                                P2=WeiMa[7];
                                P0=table[j];
                                delay(10);
                                P0=0xff;
                                P2=0x00;
                                sub_bak=0;
                }
               
                if(sub==1){
                        sub_bak=1;
                }                        
        }
}






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