新聞中心

        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);
          }
          }
          }
          }
          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 景宁| 永春县| 黄山市| 特克斯县| 东乌珠穆沁旗| 东兴市| 永泰县| 富平县| 融水| 凉城县| 唐河县| 曲水县| 赤水市| 盐池县| 阜城县| 怀仁县| 隆昌县| 离岛区| 大田县| 吉木乃县| 金平| 县级市| 平泉县| 临沧市| 深圳市| 临沂市| 屏边| 浦北县| 临潭县| 东乌| 呼玛县| 峨眉山市| 壶关县| 时尚| 怀柔区| 宝坻区| 中阳县| 丰宁| 满城县| 云浮市| 德钦县|