找回密码
 立即注册

QQ登录

只需一步,快速开始

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

独立按键控制两个独立数码管加减0-99

[复制链接]
跳转到指定楼层
楼主
ID:416896 发表于 2018-12-5 22:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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);  
        }      

}

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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