新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MCS-51單片機的點陣屏實現(xiàn)禮花功能

基于MCS-51單片機的點陣屏實現(xiàn)禮花功能

作者: 時間:2012-08-11 來源:網(wǎng)絡(luò) 收藏

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

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

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

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

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

圖2 在LED上實現(xiàn)顯示禮花的功能原理接口圖

禮花顯示效果組圖 
 圖3 禮花顯示效果組圖
基于MCS-51單片機的點陣屏實現(xiàn)禮花功能
圖 禮花動態(tài)顯示圖

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



關(guān)鍵詞: MCS-51 點陣屏 禮花功能

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉