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