1.實驗任務(wù) 在8X8 LED點陣上顯示柱形,讓其先從左到右平滑移動三次,其次從右到左平滑移動三次,再次從上到下平滑移動三次,最后從下到上平滑移動三次,如此循環(huán)下去。 2.實驗?zāi)康?/font> 掌握用單片機I/O口進行LED點陣掃描顯示。 3.實驗工具 PROTEUS6.9, Keil uVision2軟件 4. 原理圖 
5. 相關(guān)知識1)LED點陣 八十年代以來出現(xiàn)了組合型IED點陣顯示器,以發(fā)光二極管為像素,它用高亮度發(fā)光二極管芯陣列組合后,環(huán)氧樹脂和塑模封裝而成。具有高亮度、功耗低、引腳少、視角大、壽命長、耐濕、耐冷熱、耐腐蝕等特點。點陣顯示器有單色和雙色兩類,可顯示紅,黃,綠,橙等。LED點陣有4×4、4×8、5×7、5×8、8×8、16×16、24×24、40×40等多種; 根據(jù)像素的數(shù)目分為等,雙基色、三基色等,根據(jù)像素顏色的不同所顯示的文字、圖象等內(nèi)容的顏色也不同,單基色點陣只能顯示固定色彩如紅、綠、黃等單色,雙基色和三基色點陣顯示內(nèi)容的顏色由像素內(nèi)不同顏色發(fā)光二極管點亮組合方式?jīng)Q定,如紅綠都亮?xí)r可顯示黃色,如果按照脈沖方式控制二極管的點亮?xí)r間,則可實現(xiàn)256或更高級灰度顯示,即可實現(xiàn)真彩色顯示。圖1--5示出幾種LED點陣顯示器的內(nèi)部電路結(jié)構(gòu)和外型規(guī)格,其它型號點陣的結(jié)構(gòu)與引腳可試驗獲得。 2)LED點陣掃描驅(qū)動方案: 由LED點陣顯示器的內(nèi)部結(jié)構(gòu)可知,器件宜采用動態(tài)掃描驅(qū)動方式工作,由于LED管芯大多為高亮度型,因此某行或某列的單體LED驅(qū)動電流可選用窄脈沖,但其平均電流應(yīng)限制在20mA內(nèi).多數(shù)點陣顯示器的單體LED的正向壓降約在2V左右.但大亮點∮10的點陣顯示器單體LED的正向壓降約為6V。 大屏幕顯示系統(tǒng)一般是將由多個LED點陣組成的小模塊以搭積木的方式組合而成的,每一個小模塊都有自己的獨立的控制系統(tǒng),組合在一起后只要引入一個總控制器控制各模塊的命令和數(shù)據(jù)即可,這種方法既簡單而且具有易展、易維修的特點。 3)LED點陣顯示系統(tǒng)中各模塊的顯示方式: 有靜態(tài)和動態(tài)顯示兩種。靜態(tài)顯示原理簡單、控制方便,但硬件接線復(fù)雜,在實際應(yīng)用中一般采用動態(tài)顯示方式,動態(tài)顯示采用掃描的方式工作,由峰值較大的窄脈沖驅(qū)動,從上到下逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示圖形或文字信息的脈沖信號,反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。 LED點陣顯示器單塊使用時,既可代替數(shù)碼管顯示數(shù)字,也可顯示各種中西文字及符號.如5 x 7點陣顯示器用于顯示西文字母.5×8點陣顯示器用于顯示中西文,8 x 8點陣用于顯示中文文字,也可用于圖形顯示。用多塊點陣顯示器組合則可構(gòu)成大屏幕顯示器,但這類實用裝置常通過微機或單片機控制驅(qū)動。 8X8 點陣LED工作原理說明 8X8點陣LED結(jié)構(gòu)如下圖所示 從圖中可以看出,8X8點陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上,當(dāng)對應(yīng)的某一列置1電平,某一行置0電平,則相應(yīng)的二極管就亮;因此要實現(xiàn)一根柱形的亮法,如圖49所示,對應(yīng)的一列為一根豎柱,或者對應(yīng)的一行為一根橫柱,因此實現(xiàn)柱的亮的方法如下所述: 一根豎柱:對應(yīng)的列置1,而行則采用掃描的方法來實現(xiàn)。 一根橫柱:對應(yīng)的行置0,而列則采用掃描的方法來實現(xiàn)。 
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();
- }
- }
- }
- }
復(fù)制代碼
全部資料51hei下載地址:
8X8_LED點陣顯示原理與編程實驗.doc
(187.5 KB, 下載次數(shù): 41)
2018-2-6 23:52 上傳
點擊文件名下載附件
|