<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      1.設計思想

        我第一次看到7個IO口控制7*n個燈的時候,我也是很懵,不應該是一個IO對應一個LED燈控制嗎,這么多燈,什么控制啊,而且還要顯示數字出來。相信很多剛從學校畢業出來的朋友如果遇到這樣的問題,一定也會很懵。那么我們就來聊聊這樣的一對多的LED控制如何實現。

        

         首先在這里我給出這一種數碼管的其中一個原理圖,要想控制這一類的數碼管顯示數據,簡單的說就是控制LED燈的亮滅,同時又要讓數碼管顯示均勻,并且不出現閃屏。

         接下來我來說說,像這樣的數碼管,我們應該如何寫程序,才能達到市場使用的要求。我們一定要清楚,像這樣的數碼管,我們必須要逐個進行掃描式顯示,并且時間不能少于1ms。

      2.程序設計

      Display.h

      #ifndef __Display_H__
      #define __Display_H__
      
      #include "WS51F0030.h"
      
      #define LED1_OUT_H   P01=1
      #define LED1_OUT_L   P01=0
      #define LED1_SET_OUT P01F=0x02
      #define LED1_SET_IN  P01F=0x01
      
      
      #define LED2_OUT_H   P00=1
      #define LED2_OUT_L   P00=0
      #define LED2_SET_OUT P00F=0x02
      #define LED2_SET_IN  P00F=0x01
      
      #define LED3_OUT_H   P10=1
      #define LED3_OUT_L   P10=0
      #define LED3_SET_OUT P10F=0x02
      #define LED3_SET_IN  P10F=0x01
      
      #define LED4_OUT_H    P11=1
      #define LED4_OUT_L    P11=0
      #define LED4_SET_OUT  P11F=0x02
      #define LED4_SET_IN   P11F=0x01
      
      #define LED5_OUT_H    P12=1
      #define LED5_OUT_L    P12=0
      #define LED5_SET_OUT  P12F=0x02
      #define LED5_SET_IN   P12F=0x01
      
      typedef    struct {
          unsigned char A:1;
          unsigned char B:1;
          unsigned char C:1;
          unsigned char D:1;
          unsigned char E:1;
          unsigned char F:1;
          unsigned char G:1;
          unsigned char H:1;
      } OneBit;
      
      typedef union
      {
          OneBit OneBit;
          unsigned char Allbits;
      } Disshow;
      
      void Display_PIN(void);
      
      #endif

      Display.c

      #include "Display.h"
      
      Disshow Dis1,Dis2,Dis3;
      
      unsigned char Dis_ScanCnt=0;
      
      void  Display_PIN(void)
      {
          LED1_SET_IN;
          LED2_SET_IN;
          LED3_SET_IN;
          LED4_SET_IN;
          LED5_SET_IN;
      
          if(Dis_ScanCnt>5)Dis_ScanCnt=0;
          Dis_ScanCnt++;
          switch(Dis_ScanCnt)
          {
          case 1:
              LED1_SET_OUT;
              LED1_OUT_L;
              if(Dis1.OneBit.F == 1)
              {
                  LED2_SET_OUT;
                  LED2_OUT_H;
              }
              if(Dis1.OneBit.A == 1)
              {
                  LED3_SET_OUT;
                  LED3_OUT_H;
              }
              if(Dis1.OneBit.B == 1)
              {
                  LED4_SET_OUT;
                  LED4_OUT_H;
              }
              if(Dis1.OneBit.G == 1)
              {
                  LED5_SET_OUT;
                  LED5_OUT_H;
              }
              break;
      
          case 2:
              LED2_SET_OUT;
              LED2_OUT_L;
              if(Dis2.OneBit.F == 1)
              {
                  LED1_SET_OUT;
                  LED1_OUT_H;
              }
              if(Dis2.OneBit.A == 1)
              {
                  LED3_SET_OUT;
                  LED3_OUT_H;
              }
              if(Dis2.OneBit.B == 1)
              {
                  LED4_SET_OUT;
                  LED4_OUT_H;
              }
              if(Dis2.OneBit.G == 1)
              {
                  LED5_SET_OUT;
                  LED5_OUT_H;
              }
              break;
      
          case 3:
              LED3_SET_OUT;
              LED3_OUT_L;
              if(Dis1.OneBit.C == 1)
              {
                  LED4_SET_OUT;
                  LED4_OUT_H;
              }
              if(Dis1.OneBit.D == 1)
              {
                  LED2_SET_OUT;
                  LED2_OUT_H;
              }
              if(Dis1.OneBit.E == 1)
              {
                  LED1_SET_OUT;
                  LED1_OUT_H;
              }
              if(Dis2.OneBit.E == 1)
              {
                  LED5_SET_OUT;
                  LED5_OUT_H;
              }
              break;
          case 4:
              LED4_SET_OUT;
              LED4_OUT_L;
              if(Dis2.OneBit.C == 1)
              {
                  LED1_SET_OUT;
                  LED1_OUT_H;
              }
              if(Dis2.OneBit.D == 1)
              {
                  LED2_SET_OUT;
                  LED2_OUT_H;
              }
              if(Dis3.OneBit.A == 1)
              {
                  LED3_SET_OUT;
                  LED3_OUT_H;
              }
              if(Dis3.OneBit.B == 1)
              {
                  LED5_SET_OUT;
                  LED5_OUT_H;
              }
              break;
          case 5:
              LED5_SET_OUT;
              LED5_OUT_L;
              if(Dis3.OneBit.C == 1)
              {
                  LED1_SET_OUT;
                  LED1_OUT_H;
              }
              if(Dis3.OneBit.D == 1)
              {
                  LED2_SET_OUT;
                  LED2_OUT_H;
              }
              if(Dis3.OneBit.E == 1)
              {
                  LED3_SET_OUT;
                  LED3_OUT_H;
              }
              if(Dis3.OneBit.F == 1)
              {
                  LED4_SET_OUT;
                  LED4_OUT_H;
              }
              break;
          }
      }

      顯示數據真值表

      unsigned char code Tab[11]= {0x3F,0x06,0x5b,0x4f,0x66,0x6D,0x7d,0x07,0x7f,0x6f,0x79};

      顯示數據我們可直接對Dis1,Dis2,Dis3的Allbits 賦值即可。

      如我想在數碼管1上顯示5,數碼管2上顯示2,數碼管3上顯示0。

      Dis1.Allbits = Tab[5];
      Dis2
      .Allbits = Tab[2];
      Dis3
      .Allbits = Tab[0];

       

      posted on 2021-10-08 16:05  xiao_fei  閱讀(572)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品VA尤物在线观看| 亚洲夜色噜噜av在线观看| 久久热精品视频在线视频| 国产a网站| 国产一区二区不卡自拍| 精品无码国产自产拍在线观看蜜| 亚洲日韩性欧美中文字幕| 久久国产精品久久精品国产| 久久久精品2019中文字幕之3| 丝袜美腿诱惑之亚洲综合网| 中文字幕在线看视频一区二区三区| 黑森林福利视频导航| 性色av一区二区三区精品| 亚洲精品熟女一区二区 | 国产乱码一区二区三区| 五月婷婷久久中文字幕| 国产综合视频一区二区三区| 色窝窝免费一区二区三区| 91中文字幕一区二区| 亚洲香蕉av一区二区蜜桃| 欧美交A欧美精品喷水| 盐城市| 日韩精品亚洲国产成人av| 亚洲午夜性猛春交XXXX| 91精品国产免费人成网站| 国产蜜臀精品一区二区三区| 99人体免费视频| 欧洲精品色在线观看| 久热这里有精品视频在线| 国产精品久久久久精品日日| 国产成人精品视频不卡| 国产裸体无遮挡免费精品| 妺妺窝人体色WWW看人体| 精品无码国产一区二区三区AV| 亚洲av高清一区二区| 囯产精品久久久久久久久久妞妞| 欧美成人h精品网站| 亚洲欧洲一区二区精品| 美姑县| 天啦噜国产精品亚洲精品| 亚洲中文字幕成人无码|