1.實驗任務 在8X8 LED點陣上顯示柱形,讓其先從左到右平滑移動三次,其次從右到左平滑移動三次,再次從上到下平滑移動三次,最后從下到上平滑移動三次,如此循環下去。 2.實驗目的 掌握用單片機I/O口進行LED點陣掃描顯示。 3.實驗工具 PROTEUS6.9, Keil uVision2軟件 4. 原理圖 
5. 相關知識1)LED點陣 八十年代以來出現了組合型IED點陣顯示器,以發光二極管為像素,它用高亮度發光二極管芯陣列組合后,環氧樹脂和塑模封裝而成。具有高亮度、功耗低、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。點陣顯示器有單色和雙色兩類,可顯示紅,黃,綠,橙等。LED點陣有4×4、4×8、5×7、5×8、8×8、16×16、24×24、40×40等多種; 根據像素的數目分為等,雙基色、三基色等,根據像素顏色的不同所顯示的文字、圖象等內容的顏色也不同,單基色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點陣顯示內容的顏色由像素內不同顏色發光二極管點亮組合方式決定,如紅綠都亮時可顯示黃色,如果按照脈沖方式控制二極管的點亮時間,則可實現256或更高級灰度顯示,即可實現真彩色顯示。圖1--5示出幾種LED點陣顯示器的內部電路結構和外型規格,其它型號點陣的結構與引腳可試驗獲得。 2)LED點陣掃描驅動方案: 由LED點陣顯示器的內部結構可知,器件宜采用動態掃描驅動方式工作,由于LED管芯大多為高亮度型,因此某行或某列的單體LED驅動電流可選用窄脈沖,但其平均電流應限制在20mA內.多數點陣顯示器的單體LED的正向壓降約在2V左右.但大亮點∮10的點陣顯示器單體LED的正向壓降約為6V。 大屏幕顯示系統一般是將由多個LED點陣組成的小模塊以搭積木的方式組合而成的,每一個小模塊都有自己的獨立的控制系統,組合在一起后只要引入一個總控制器控制各模塊的命令和數據即可,這種方法既簡單而且具有易展、易維修的特點。 3)LED點陣顯示系統中各模塊的顯示方式: 有靜態和動態顯示兩種。靜態顯示原理簡單、控制方便,但硬件接線復雜,在實際應用中一般采用動態顯示方式,動態顯示采用掃描的方式工作,由峰值較大的窄脈沖驅動,從上到下逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示圖形或文字信息的脈沖信號,反復循環以上操作,就可顯示各種圖形或文字信息。 LED點陣顯示器單塊使用時,既可代替數碼管顯示數字,也可顯示各種中西文字及符號.如5 x 7點陣顯示器用于顯示西文字母.5×8點陣顯示器用于顯示中西文,8 x 8點陣用于顯示中文文字,也可用于圖形顯示。用多塊點陣顯示器組合則可構成大屏幕顯示器,但這類實用裝置常通過微機或單片機控制驅動。 8X8 點陣LED工作原理說明 8X8點陣LED結構如下圖所示 從圖中可以看出,8X8點陣共需要64個發光二極管組成,且每個發光二極管是放置在行線和列線的交叉點上,當對應的某一列置1電平,某一行置0電平,則相應的二極管就亮;因此要實現一根柱形的亮法,如圖49所示,對應的一列為一根豎柱,或者對應的一行為一根橫柱,因此實現柱的亮的方法如下所述: 一根豎柱:對應的列置1,而行則采用掃描的方法來實現。 一根橫柱:對應的行置0,而列則采用掃描的方法來實現。 
6.C語言源程序
- #include <reg51.h>
- #include <intrins.h>
-
- unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
-
- /*void delay(void)
- {
- unsigned char i,j;
- for(i=10;i>0;i--)
- for(j=248;j>0;j--);
- }*/
-
- void delay1(void)
- {
- unsigned char i,j,k;
- for(k=10;k>0;k--)
- for(i=20;i>0;i--)
- for(j=248;j>0;j--);
- }
-
- void main(void)
- {
- unsigned char i,j;
- while(1)
- {
- for(j=0;j<3;j++)//from left to right 3 time
- {
- for(i=0;i<8;i++)
- {
- P2=taba[i];
- P0=0xff;
- delay1();
- }
- }
- for(j=0;j<3;j++)//from right to left 3 time
- {
- for(i=0;i<8;i++)
- {
- P2=taba[7-i];
- P0=0xff;
- delay1();
- }
- }
- for(j=0;j<3;j++)//from top to bottom 3 time
- {
- for(i=0;i<8;i++)
- {
- P2=0x00;
- P0=tabb[7-i];
- delay1();
- }
- }
- for(j=0;j<3;j++)//from bottom to top 3 time
- {
- for(i=0;i<8;i++)
- {
- P2=0x00;
- P0=tabb[i];
- delay1();
- }
- }
- }
- }
復制代碼
全部資料51hei下載地址:
8X8_LED點陣顯示原理與編程實驗.doc
(187.5 KB, 下載次數: 41)
2018-2-6 23:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|