欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1764|回復: 1
打印 上一主題 下一主題
收起左側

我想使用單片機按鍵控制數碼管顯示不同的內容,為啥實現不了呢?

[復制鏈接]
跳轉到指定樓層
樓主
ID:701610 發表于 2020-7-20 10:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請教大神,我想使用按鍵控制數碼管顯示不同的內容,為啥實現不了呢,同一個按鍵,按一次顯示溫度、按一次顯示時間,如此循環。按鍵加了延時后,按下去后數碼管會變黑。求幫我分析下。

單片機源程序如下:
  1. u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示0~9的值
  2. u8 DisData[8];
  3. u8 DisplayData[8];
  4. u8 Data[8];



  5. u8 keypro()    //按鍵處理函數
  6. {
  7.         u8 i,flag=0,t=0;
  8.   if(k1==0)
  9.         {
  10.                  if(k1==0)
  11.                  {
  12.                          for(i=0;i<2;i++)
  13.                          {
  14.                          delay2s();
  15.                          flag++;
  16.                          if(flag==2)flag=0;
  17.                          }
  18.                  }
  19.                 //while(!k1);
  20.         }
  21. switch(flag)
  22.                   {
  23.                           case (0):t=0;break;
  24.                                 case (1):t=1;break;
  25.                         }
  26. return t;

  27. }


  28. void dyna()    \\數碼管顯示函數
  29. {
  30.   unsigned int i;
  31.         for(i=0;i<8;i++)
  32.         {
  33.           switch(i)
  34.                   {
  35.                           case (0):SA=0;SB=0;SC=0;break;
  36.                                 case (1):SA=1;SB=0;SC=0;break;
  37.                                 case (2):SA=0;SB=1;SC=0;break;
  38.                                 case (3):SA=1;SB=1;SC=0;break;
  39.                                 case (4):SA=0;SB=0;SC=1;break;
  40.                                 case (5):SA=1;SB=0;SC=1;break;
  41.                           case (6):SA=0;SB=1;SC=1;break;
  42.         case (7):SA=1;SB=1;SC=1;break;
  43.                         }        
  44. switch(keypro())
  45.                 {
  46.                         case 1:Data[i]=DisplayData[i];break;
  47.                         case 0:Data[i]=DisData[i];break;
  48.                 }
  49.          GPIO_DIG=Data[i];
  50.          delay(20);
  51.          GPIO_DIG=0x00;//消隱         
  52.         }        
  53. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

無效樓層,該帖已經被刪除
板凳
ID:213173 發表于 2020-7-20 21:22 | 只看該作者
給你一個示例參考,時鐘/溫度按鍵切換顯示。按鍵停止操作5秒自動恢復時鐘顯示。
4位數碼管時鐘溫度表仿真.zip (158.01 KB, 下載次數: 14)

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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