Embed
Email

8x8 dotmatrix

Document Sample
8x8 dotmatrix
Shared by: HC120115162224
Categories
Tags
Stats
views:
0
posted:
1/15/2012
language:
pages:
21
8×8點矩陣實驗



實驗目的

 瞭解點矩陣LED控制原理

 掌握用行列掃描控制的LED點矩陣編譯

實驗內容

 編寫程式,在8×8上顯示數位或者字母

實驗設備

 DMA2440XP教學平台

 ADS 1.2 試用版內建開發環境和除錯軟體

 USB連接線、串列連接線、電源

1 LED相關知識





LED即發光二極體,是嵌入式系統中常用的輸出設備。

單個LED通常用作報警之顯示,故障指示或提示信號等。

LED是一個半導體設備,當電流通過它的時候,可以產生可

見光。LED的發光強度與通過的電流強度成正比,由64個

LED組成,8行8列。



由於LED的發光顏色和發光效率與製作LED的材料和工

藝有關,目前廣泛使用的有紅、綠、藍三種。由於LED工作

電壓低(僅1.5-3V),能主動發光且 有一定亮度,亮度又

能用電壓(或電流)調節,本身又耐衝擊、抗振動、壽命長

(10萬小時),所以在大型的顯示設備中,目前尚無其他

的顯示方式與LED顯示 方式匹敵。

顯示範例

8x8 LED點矩陣的介面圖—

資料0~15通過HC574栓鎖器,再經過電晶體放大來驅動8×8 LED點矩陣,

靜態方式顯示。電路介面圖如下:

8x8 LED點矩陣的介面圖—

8x8矩陣硬體架構

低 高

位 位

元 元

低位元組 組 組

Ex:

0000000101010101

0000001010101010

0000010001010101



1000000010101010



高位元組

低 高

位 位

元 元

Ex: 低位元組 組 組

0000000100000000

0000001001111110

0000010001000010



1000000000000000





高位元組

練習題---假設三顆燈亮



高位元組(0-8)





















9-15











表示第六排的LED8x8_Address=?

練習題---假設三顆燈亮



高位元組(0-8)





















9-15











表示第六排的LED8x8_Address=? 00100000 11100110

掃描顯示簡介-1

原理特色

以單位時間只顯示一列資訊,由左至右

依序顯示









現場示範字母“人形”範例講解

掃描顯示簡介-2

優點

不需改變電流

可增加顯示效果

可調整亮度和顏色

設計較為方便

如何估算時間

估算的一面顯示時間=

(每排的掃描時間*8 + 每面掃描的間隔) * 掃描幾次畫面

設計亮度訣竅

每列的掃描時間太多 整體看起來不像一面圖形 畫面跳動

太少 需要更多次刷新才能維持亮度



每面掃描的間隔 太長 畫面閃爍

太短 畫面較暗



每面掃描幾次 太多 時間太長

太少 時間太短





決定亮度的設計關鍵

每排掃描時間&每面掃描的間隔 比例調整

3 實驗步驟



 新建一個工程名為LED8x8,並新建原始檔案、輸入程式,設

置好工程編譯產生映像檔。

 硬體連接:用串列線將PC的COM1與實驗箱的UART1連起來,

再用USB連接。

 線(A->B)將PC的USB HOST介面與實驗箱的USB Device介面連

起來,最後插上12V電源。

 下載、除錯並執行

 結合實驗內容和原理,觀察實驗現象,實驗結果應該是8×8點

矩陣LED迴圈顯示字母或數位形狀。

 完成實驗練習題。

4 8X8LED點矩陣應用程式編譯實例

 相關函數說明

 8×8 LED點矩陣的位址

#define LED8X8_Address *(volatile U16 *)( 0x0x08001000 )

//nGCS1

 8×8 LED點矩陣顯示函數void LED8X8_Display( U16 *LED8X8, U32 d )

參數說明: LED8X8 :特定的顯示陣列指標

D:顯示維持的次數

功能說明: 顯示一個特定的陣列裏的資料

主要程式如下:

實驗程式Test_LED8×8(void)

功能說明:動態的LED顯示

主要程式如下:

主程序Main

主要程式如下:









上面是關於該實驗涉及到的部分函數,完整的程式請看光碟目錄的exp檔

案夾下相對應實驗的工程目錄。

作業

 各組發揮創意變更顯示圖案



 設計程式碼,使其可以利用電腦鍵盤切換

多組顯示圖案



 設計程式碼,展示LED至少兩種顯示亮度

備註

 volatile 為一關鍵字 加在變數的前面

被 volatile 宣告的變數 將不會使用最佳化編譯



有時一個變數的值改變了 compiler 並不會馬上將他寫入記

憶體中而會先把結果放在CPU暫存器中 等到處理結束之後

才寫入記憶體



若說這個變數是多執行緒的flag 其他的執行緒要透過這個變

數來反應,而這個值卻又沒有寫入記憶體 這時便會發生意

想不到的結果



又或者是這變數為一個硬體的暫存器,會被硬體所改變然

而compiler 並沒有正確的將值從硬體暫存器取出來,而是

將自己暫存的值拿來使用,這種情況 就是要用volatile 來宣

告變數 告訴compiler不要自己暫存變數來提升速度

如此這個變數有任何的改變,便會馬上反應出來


Related docs
Other docs by HC120115162224
AnexoVPortariaConjuntaPGFN RFB 15
Views: 0  |  Downloads: 0
godisnji plan i program
Views: 32  |  Downloads: 0
Kainynas
Views: 0  |  Downloads: 0
akreditacemag
Views: 1  |  Downloads: 0
? ???????? ????? ? ??? ?????
Views: 0  |  Downloads: 0
p6
Views: 3  |  Downloads: 0
TEDF REA 027 2003
Views: 1  |  Downloads: 0
201092111321667
Views: 0  |  Downloads: 0
C P A P
Views: 0  |  Downloads: 0
FORMATO PROYECTOS
Views: 32  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!