C8051F340控制的LED點陣顯示屏系統設計
1 引言
隨著計算機及相關的微電子、光電子技術的迅猛發展。LED顯示屏以其可靠性高、使用壽命長、環境適應能力強、性價比高的特點,迅速成長為平板顯示的主流產品。它利用發光二極管構成的點陣模塊或像素單元組成可變面積的顯示屏幕,LED電子顯示屏雖不如LCD顯示屏的界面友好直觀,但由于其具有顯示信息量大、操作方便靈活、用戶可隨時自行修改顯示內容和顯示屏幕的大小、顯示方式圖文并茂等優點,被廣泛應用于公共場所。
這里介紹一種24×40的顯示屏控制系統,該系統可同時顯示4個14×10的漢字和8個7×5的字符或數字,以C8051F340單片機為控制器,以74HC595作為行列驅動器。
2 系統硬件設計
2.1 總體設計
該系統由顯示屏控制器、行驅動器、列驅動器、LED點陣顯示屏、與PC機的串口通信,品振電路和存儲器模塊等構成。總體設計框圖如圖1所示。
2.2 顯示屏控制器
顯示屏控制器選用C8051F340單片機,它是完全集成的混合信號系統級芯片(SoC),具有與8051兼容的高速CIP-51內核,與MCS-51指令集完全兼容,片內集成數據采集和控制系統中常用的模擬、數字外設及其他功能部件:內置Flash程序存儲器、內部RAM,大部分器件內部還有位于外部數據存儲器空間的RAM,即XRAM。
2.3 行驅動器
設計中使用3塊74HE595和3個相對應的三態門2803作為行驅動器。2803是常用的達林頓驅動器。達林頓管又稱復合管,將兩只三極管適當的連接在一起,組成一只等效的三極管。新的三極管的放大倍數是二者之積。在電子電路設計中,達林頓接法常用于功率放大器和穩壓電源中。
這類器件的COM端(的引腳IO)主要有兩種作用:
(1)試驗用時接地輸出端都接發光二極管,只要將COM端接地,則所有發光二極管都點亮,否則,可能是二極管毀壞或其他毀壞。
(2)保護用時接電源正極該器件是接繼電器或針式打印頭,因為電感作用,會在開關過程中產生低于地電位和高于電源電位的反電動勢,這樣,很容易擊穿器件。為防止這種現象的發生,可將COM端接到電源正極.來削弱沖擊電壓低到二極管壓降和電源電壓的幅度,這樣可使內部的三極管受到最小的正電壓沖擊。
2.4 列驅動器
設計中使用5塊74HC595作為列驅動。74HC595是內含8位串入、8位串入并出的移位寄存器和8位三態輸出鎖存器的結構,且移位寄存器和輸出鎖存器分別有各自的時鐘輸入,控制各自獨立,這使列數據的準備和列數據的顯示可同時進行。74HC595通過串行級聯方式傳輸。系統擴展容易。圖2為其內部結構。
2.5 LED點陣顯示屏
圖3為LED點陣顯示屏電路圖。點陣顯示屏由15個8×8的點陣LED顯示模塊構成,圖3a為顯示模塊,圖3b為行驅動模塊中的一個行驅動單元,圖3c為C8051F340的引腳配置圖,圖3d為列驅動模塊中的一個列驅動單元。
2.6 串口通信接口
MAX232實現RS232與TTL電平的轉換,使PC機與單片機傳輸信息。如果傳輸距離超過RS232要求的距離,可在兩者之間增加RS232/RS485轉換模塊,則達到RS485的傳輸要求。
3 系統軟件設計
整個軟件設計分為顯示和通信兩部分。軟件設計語言采用匯編語言和Keil C51語言。在C8051F系列自帶的IDE編程環境結合Keil環境實現顯示功能。通信部分上位機部分則直接在PC機VC++環境下實現。
3.1 顯示部分
顯示部分采用動態掃描方式,實現漢字、圖像、數字字符等數據信息的控制以及顯示等功能。采用行掃描方式,當選通第1行LED點陣時,對應列數據,由于74HC595器件的特殊性,通過將每個器件的串行數據輸入引腳14(SER)與下一個器件的串行數據輸出引腳9(Q'H)級聯,可以把需要顯示的數據信息依次存入74HC595器件內,通過其鎖存器功能將數據鎖存,待40列數據都存入74HC595器件內時,把輸出有效引腳13(OE)置為低電平,則40列數據一起輸出,達到一行顯示的效果。依次類推,實現整個顯示屏的顯示功能。
顯示部分的設計還要考慮最示方式和顯示狀態等。顯示方式有上移、下移、左移、右移等,其實現取決于從數據存儲區中取出數據放入顯示緩沖區時取數的順序,左右移每次取出中位數據,上下移則每次取出1行數據。顯示狀態則要考慮到顯示數字的移動速度和停留時間等。
一般程序中將數據存儲器分為顯示緩沖區、數據存儲區和接收緩沖區3部分。接收緩沖區存放PC機傳給單片機要顯示的數據;經處理后按一定規律存儲在數據存儲區;再根據顯示方式依次從數據存儲區中取出數據放入顯示緩沖區中顯示。圖為4為顯示部分程序流程。
3.2 通信部分
C8051F340有2個UART,將一個UART的TXD和RXD分別與MAX232的T1IN和R1OUT相連,MAX232的T1OUT和R1IN分別與PC機的串行接口COM1或COM2相連。注意通信協議和波特率要相一致。
通信部分上位機軟件采用Visual C++編程。應用其開發串行通信方法有:(1)利用Windows API通信函數;(2)利用其標準通信函數inp、inpw、inpd、outp、outpw、outp等直接對串口操作;(3)使用Visual C++的通用控件(MSComm);(4)利用第三方編寫的通信類程序。綜合考慮,上述各種方法的性能,這里采用第3種方法,即采用MSComm控件。
MSComm控件通過串行端口傳輸和接收數據,為應用程序提供串行通訊功能。MSComm控件在串口編程時非常方便,程序員不必了解較為復雜的API函數,而且在VC、VB、Delphi等語言中均可使用。表1為MSComm控件較為重要和常用屬性。
4 結束語
LED點陣顯示屏控制系統以C8051F340單片機為基礎,采用其自身的RAM和Flash存儲器作為數據存儲器,利用MAX232作為RS232和單片機的接口轉換模塊,實現與PC機的數據傳輸,也可以隨時更新顯示內容。采用C和匯編語言混合編程,其中顯示模塊的關鍵部分代碼采用匯編語言編寫,因該系統采用基于Keil C51的編程,故具有較好移植性。
評論