找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3648|回復: 1
收起左側

51單片機利用按鈕分別控制數(shù)碼管實現(xiàn)+1、+2、+3、-1

[復制鏈接]
ID:716490 發(fā)表于 2020-5-28 15:34 | 顯示全部樓層 |閱讀模式
本帖最后由 渡渡鳥 于 2020-5-28 15:43 編輯

51單片機利用按鈕分別控制數(shù)碼管實現(xiàn)+1、+2、+3、-1。
實現(xiàn)功能如下:
1、單片機啟動時數(shù)碼管顯示“00”;
2、當按下ADD1按鈕時,數(shù)字1并在數(shù)碼管上顯示;
3、當按下ADD2按鈕時,數(shù)字2并在數(shù)碼管上顯示;
4、當按下ADD3按鈕時,數(shù)字3并在數(shù)碼管上顯示;
5、當按下SUB1按鈕時,數(shù)字1并在數(shù)碼管上顯示;
單片機源程序如下:
  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()//延時函數(shù)
  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;//使數(shù)碼管的數(shù)字+1
  31.          delay();
  32.         }
  33.         }

  34.         if(ADD2==0)//判斷+2按鈕是否按下
  35.         {
  36.          delay();//防抖
  37.          if(ADD2==0)//確認+2按鈕按下
  38.          {
  39.          i=i+2;//使數(shù)碼管的數(shù)字+2
  40.           delay();
  41.          }
  42.          }

  43.          if(ADD3==0)//判斷+3按鈕是否按下
  44.         {
  45.          delay();//防抖
  46.          if(ADD3==0)//確認+3按鈕按下
  47.          {
  48.          i=i+3;//使數(shù)碼管的數(shù)字+3
  49.           delay();
  50.          }
  51.          }

  52.          if(SUB1==0)//判斷-1按鈕是否按下
  53.         {
  54.          delay();//防抖
  55.          if(SUB1==0)//確認-1按鈕按下
  56.          {
  57.          i=i-1;//使數(shù)碼管的數(shù)字-1
  58.           delay();
  59.          }
  60.         }

  61.         if(i>99)//判斷數(shù)碼管顯示的位數(shù)是否超過兩位
  62.         i=0;//將數(shù)碼管歸零
  63. }
  64. }

復制代碼
仿真圖及其源代碼在壓縮包里

1.png
2.png

51單片機利用按鈕控制數(shù)碼管實現(xiàn)加減.zip

57.38 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:764060 發(fā)表于 2020-5-29 16:05 | 顯示全部樓層
可以加幾個發(fā)光二極管嘛
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表