新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MCS-51單片機的點陣屏實現禮花功能

        基于MCS-51單片機的點陣屏實現禮花功能

        作者: 時間:2012-08-11 來源:網絡 收藏

        大家可曾記得禮花綻放那一刻的精彩?小時候每當看禮花綻放時,總希望自己能將那最美的那一霎那永遠留下。終于,今天我的夢想實現了。通過自己的板板,只要隨手編程幾下就搞定啦!

        在給大家展示效果圖之前,我們首先得對LED做一番介紹!8*8 LED點陣等效電路如圖1所示。通過分析,我們不難得知:只要其對應的X、Y軸順向偏壓,即可使LED發亮。例如:若想使左上角LED點亮,則Y0=1,X0=0,則會形成壓降點亮左上角的LED。這里的水平方向由P2控制,垂直方向由P0控制。

        8*8點陣LED等效電路圖 
         圖1 8*8 LED點陣等效電路

        本次在LED上實現顯示禮花的功能原理接口圖如圖2所示,效果圖如圖3所示。通過該LED點陣還可以顯示靜態或者動態的圖形、文字等。大家感興趣的可以自己試試啦~~

        在LED點陣屏上實現顯示禮花的功能原理接口圖

        圖2 在LED上實現顯示禮花的功能原理接口圖

        禮花顯示效果組圖 
         圖3 禮花顯示效果組圖
        基于MCS-51單片機的點陣屏實現禮花功能
        圖 禮花動態顯示圖

          LED點陣屏上顯示禮花C源代碼

          #includereg52.h>
          #includeintrins.h>
          #define uint unsigned int
          #define uchar unsigned char
          unsigned char code tabP0[6][8]={{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},{0x00,0x00,0x10,0x38,0x38,0x10,0x00,0x00},{0x00,0x00,0x38,0x7C,0x7C,0x38,0x00,0x00},{0x00,0x38,0x7C,0x7C,0x7C,0x7C,0x38,0x00},{0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C}};
          unsigned char code tabP2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};
          void delay(uint z)
          {
          uchar x,y;
          for(x=z;x>0;x--)
          for(y=110;y>0;y--);
          }
          void main()
          {
          int i,j,k;
          while(1)
          {
          for(j=0;j6;j++)
          {
          for(k=0;k25;k++)
          {
          for(i=0;i8;i++)
          {
          P0=0;
          P2=tabP2[i];
          P0=tabP0[j][i];
          delay(2);
          }
          }
          }
          }
          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巧家县| 屯昌县| 霍州市| 建德市| 西城区| 清远市| 东港市| 石屏县| 吴忠市| 汤原县| 恩平市| 府谷县| 溧阳市| 巴东县| 雷山县| 龙胜| 伊春市| 德兴市| 崇仁县| 南陵县| 晋江市| 和林格尔县| 巴南区| 云龙县| 辰溪县| 大庆市| 金湖县| 铁岭县| 伊宁市| 丹江口市| 宁化县| 彭州市| 长治市| 双牌县| 太保市| 左云县| 沁水县| 东台市| 霞浦县| 临武县| 安阳县|