找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1874|回复: 0
打印 上一主题 下一主题
收起左侧

两位数加减单片机程序,我下面代码要怎么改才能不按着按钮还亮

[复制链接]
跳转到指定楼层
楼主
ID:197775 发表于 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;
                }                        
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表