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

標(biāo)題: 藍(lán)牙輸入,動(dòng)態(tài)數(shù)碼管顯示的單片機(jī)程序問題 [打印本頁(yè)]

作者: lht154    時(shí)間: 2020-3-15 15:01
標(biāo)題: 藍(lán)牙輸入,動(dòng)態(tài)數(shù)碼管顯示的單片機(jī)程序問題
我希望用藍(lán)牙輸入8個(gè)數(shù)字,每輸入一個(gè)數(shù)字,動(dòng)態(tài)數(shù)碼管點(diǎn)亮一位,顯示該數(shù)字。可是數(shù)碼管不管輸入幾都是全部點(diǎn)亮,包括小數(shù)點(diǎn)。
  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;                                                  //定時(shí)器1開始工作,產(chǎn)生波特率
  27.                                                                                           //發(fā)送標(biāo)志位置0
  28.         TI=0;                                                                  //接收標(biāo)志位置0
  29.          RI=0;


  30. }
  31. void get(void) interrupt 4//串口中斷服務(wù)程序
  32.          {
  33.            
  34.            if(RI==1)
  35.            {
  36.                         RI=0;//軟件清除串口響應(yīng)
  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. }
復(fù)制代碼







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1