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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

藍牙輸入,動態數碼管顯示的單片機程序問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:696117 發表于 2020-3-15 15:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我希望用藍牙輸入8個數字,每輸入一個數字,動態數碼管點亮一位,顯示該數字。可是數碼管不管輸入幾都是全部點亮,包括小數點。
  1. #include "reg51.h"
  2. #include "intrins.h"
  3. typedef unsigned char u8;
  4. typedef unsigned int u16;
  5. #define GPIO_DIG P0
  6. u8 DisplayData[8]=0x00;
  7. u8 a;
  8. sbit LSA=P2^2;
  9. sbit LSB=P2^3;
  10. sbit LSC=P2^4;
  11. u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰
  12. u8 tmp=0;
  13. void delay(u16 i)
  14. {
  15.         while(i--);
  16. }
  17. init()
  18. {
  19.         TMOD|=0x20;
  20.         TL1=0xfd;
  21.         TH1=0xE6;
  22.         SCON=0x50;
  23.         PCON=0x00;
  24.         TR1=1;
  25.         ES=1;
  26.         EA=1;                                                  //定時器1開始工作,產生波特率
  27.                                                                                           //發送標志位置0
  28.         TI=0;                                                                  //接收標志位置0
  29.          RI=0;


  30. }
  31. void get(void) interrupt 4//串口中斷服務程序
  32.          {
  33.            
  34.            if(RI==1)
  35.            {
  36.                         RI=0;//軟件清除串口響應
  37.                         a=SBUF;
  38.                           DisplayData[tmp]=smgduan[a];
  39.                         tmp++;
  40.                     
  41.                 }
  42.         
  43.   }

  44. void digdisplay()
  45. {
  46.          u8 i;
  47.         for(i=0;i<8;i++)
  48.         {
  49.                 switch(i)
  50.                 {
  51.                         case (0):
  52.                                 LSA=0;LSB=0;LSC=0;break;
  53.                         case (1):
  54.                                 LSA=1;LSB=0;LSC=0;break;
  55.                         case (2):
  56.                                 LSA=0;LSB=1;LSC=0;break;
  57.                         case (3):
  58.                                 LSA=1;LSB=1;LSC=0;break;
  59.                         case (4):
  60.                                 LSA=0;LSB=0;LSC=1;break;
  61.                         case (5):
  62.                                 LSA=1;LSB=0;LSC=1;break;
  63.                         case (6):
  64.                                  LSA=0;LSB=1;LSC=1;break;
  65.                         case (7):
  66.                                 LSA=1;LSB=1;LSC=1;break;
  67.                 }
  68.                 GPIO_DIG=DisplayData[i];
  69.                 delay(500);
  70.                 P0=0x00;

  71.         }
  72. }
  73. void main()
  74. {
  75.         init();
  76.         while(1)
  77.         {
  78.                 digdisplay();        
  79.         }
  80.         
  81. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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