找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3227|回复: 1
收起左侧

51单片机利用按钮分别控制数码管实现+1、+2、+3、-1

[复制链接]
ID:716490 发表于 2020-5-28 15:34 | 显示全部楼层 |阅读模式
本帖最后由 渡渡鸟 于 2020-5-28 15:43 编辑

51单片机利用按钮分别控制数码管实现+1、+2、+3、-1
实现功能如下:
1、单片机启动时数码管显示“00”;
2、当按下ADD1按钮时,数字1并在数码管上显示;
3、当按下ADD2按钮时,数字2并在数码管上显示;
4、当按下ADD3按钮时,数字3并在数码管上显示;
5、当按下SUB1按钮时,数字1并在数码管上显示;
单片机源程序如下:
  1. #include<REGX51.H>
  2. unsigned char num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

  3. sbit ADD1=P2^1;//定义+1按钮
  4. sbit ADD2=P2^3;//定义+2按钮
  5. sbit ADD3=P2^5;//定义+3按钮
  6. sbit SUB1=P3^5;//定义-1按钮

  7. void delay()//延时函数
  8. {  
  9. unsigned int a=5500;
  10. while(a--);
  11.   }
  12. void main()
  13. {
  14. unsigned char i;//定义i
  15. while(1)
  16. {
  17.   P1=num[i/10];//显示i的十位
  18.   P3_0=0;P3_1=1;
  19.   delay();
  20.   P3_0=1;P3_1=1;//消影处理
  21.   P1=num[i%10];//显示i的个位
  22.   P3_0=1;P3_1=0;
  23.   delay();
  24.   P3_0=1;P3_1=1;//消影处理

  25.     if(ADD1==0)//判断+1按钮是否按下
  26.     {
  27.      delay();//防抖
  28.      if(ADD1==0)//确认+1按钮按下
  29.     {
  30.          i=i+1;//使数码管的数字+1
  31.          delay();
  32.         }
  33.         }

  34.         if(ADD2==0)//判断+2按钮是否按下
  35.         {
  36.          delay();//防抖
  37.          if(ADD2==0)//确认+2按钮按下
  38.          {
  39.          i=i+2;//使数码管的数字+2
  40.           delay();
  41.          }
  42.          }

  43.          if(ADD3==0)//判断+3按钮是否按下
  44.         {
  45.          delay();//防抖
  46.          if(ADD3==0)//确认+3按钮按下
  47.          {
  48.          i=i+3;//使数码管的数字+3
  49.           delay();
  50.          }
  51.          }

  52.          if(SUB1==0)//判断-1按钮是否按下
  53.         {
  54.          delay();//防抖
  55.          if(SUB1==0)//确认-1按钮按下
  56.          {
  57.          i=i-1;//使数码管的数字-1
  58.           delay();
  59.          }
  60.         }

  61.         if(i>99)//判断数码管显示的位数是否超过两位
  62.         i=0;//将数码管归零
  63. }
  64. }

复制代码
仿真图及其源代码在压缩包里

1.png
2.png

51单片机利用按钮控制数码管实现加减.zip

57.38 KB, 下载次数: 14, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:764060 发表于 2020-5-29 16:05 | 显示全部楼层
可以加几个发光二极管嘛
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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