1 LED點陣顯示系統簡介
??? 隨著圖形點陣LED顯示模塊在各行各業的逐步使用,使得人機界面變得越來越直觀形象,尤其對于國內大多數需要有漢字和圖形顯示的用戶來說,顯示界面的友好與否,將直接影響到其產品的形象和市場競爭力。
??? 本文所介紹的點陣LED顯示屏,顯示漢字和各種常見字符等信息,可廣泛應用于各種場所。具有結構簡單、安裝方便、字型美觀、圖案清析。采用高性能單片機控 制,性能穩定,可靠性高,具有掉電保護功能,可完全脫機運行,可以顯示約2000個文字。經過一條RS-232串口線與電腦連接更換信息,操作簡單,使用 方便。
2 LED點陣顯示系統的硬件設計
??? LED點陣顯示系統由計算機、RS-232通訊電路、控制電路和LED點陣顯示電路構成,結構框圖如圖1所示。
?
圖1 LED點陣顯示電路構成結構框圖
??? 上位計算機可選擇工業控制計算機或者普通個人計算機。單塊條屏由控制電路和驅動顯示電路組成。控制電路負責與上位機通信,可根據通信距離的遠近選用RS- 232或RS-485標準總線接口。本電路采用RS-232接口的3腳(TXD)和5腳(GND),計算機向控制電路發送漢字或字符內碼;控制電路存儲該 內碼并在字庫中對應漢字或字符點陣,向驅動電路發送行列選通信號;顯示驅動電路負責根據行列選通信號,向指定LED發光器件提供驅動電流。
2.1 顯示控制電路
??? 控制部分以單片機89C51為核心,輔以外圍電路,完成串行通信、外部存儲器讀取、行列選通信號輸出等任務。
??? 為使計算機與控制電路能夠隨時通信,需要單片機89C51與89C2051與其它器件之間可以通信。當89C2051接收到計算機發送的數據信號時,通過 P3.2腳向89C51發送中斷信號,此時該腳作為I/O口。而后89C51響應該中斷,并通過P1口接收來自89C2051P1口的數據。
在PC 機內部,漢字是以機內碼的形式存儲的,每個漢字占兩個字節。單片機89C51將采集來的數據放到串行E2PROM(24LS32)中,P3.3接SDA和 P3.4接SCL。所以在沒有與計算機通信的時候也可以讀取串行E2PROM(24LS32)中存儲的漢字或字符內碼并最終顯示。89C51的串口接收由 E2PROM(24LS32)存儲的漢字內碼,并將其換算成漢字首地址,從4Mbit的EPROM(M27C4001、并行口)的字庫中提取相應的漢字 (一組32字節的數據),對應于顯示屏排列好存貯到片外RAM(CY6264,64Kbit)中,重復上述過程將所有的漢字都提取出并排列存儲好,最后由 89C51將RAM中的數據經P1口和P3口輸出給顯示驅動電路。
??? 漢字庫的制備與普通程序存儲器的燒錄并無區別。將漢字庫文件以二進制形式打開,通過編程器燒錄到M27C4001中即可[1]。M27C4001的19位地 址和CY6264的13位地址信號分別由P0口(經D鎖存器74HC573輸出作為地址線)、P2口、P1口(P1.5~P1.7復用)產生 。串行E2PROM(24LS32)、EPROM(M27C4001)、RAM(CY6264)與單片機的接口如圖2[2]所示。??
?
圖2 單片機控制電路原理框圖
??? 在顯示功能中,有一種是顯示年月日的。如果不與計算機時間同步,則顯示實時時鐘芯片DS12887的時間。我們還可以通過與計算機通信來獲得計算機當前時間。當讀取或寫入時鐘芯片時間數據時,單片機89C51通過AD0~AD7地址數據復用引腳來選通地址并讀寫數據。
2.2 顯示驅動部分[3]
??? LED點陣選用2×4模塊,每4塊排列成一個16×16的點陣,用于顯示一個漢字。點陣每一行的所有LED共陽極,每一列的所有LED共陰極。系統由單片機控制。
??? 單片機89C51的P0.0~P0.3口(D0~D3)通過一個通用邏輯陣列GAL16V8D和三態收發器74HC245輸出用于行選通信號(OIA~OID),P3.0和P3.1經74HC245輸出用于列選通信號,如圖3所示。
?
圖3 行選通信號產生原理圖
??? 行驅動部分用兩個74HC138譯碼,將行選通信號作為兩個譯碼器地址輸入,可以得到16行的行值信號。考慮到74HC138的驅動能力有限,故LED陽極 通過三極管TIP127與電源相連,可提供2A左右的電流,74HC138輸出引腳僅需要提供幾個毫安的灌入電流即可控制其通斷。
??? 列輸入驅動由八個8位串行輸入,串行或并行輸出三態移位寄存器74HC595實現。該芯片具有串行輸入、并行輸出兩個獨立的時鐘信號。輸入數據在串行移位時 鐘SRCLK上升沿由串行輸入端SER 輸入到芯片內部串行移位寄存器中,同時, SQH端串行輸出;在鎖存時鐘信號RCLK上升沿到來時,芯片將內部串行移位寄存器8位數據并行輸出。正常工作時,應將復位端SRCLR與使能端RCLK 分別接高電平、低電平。單片機輸出信號直接與串入并出移位寄存器74HC595的鎖存器輸出端連接。列驅動電路原理圖如圖4所示。??
?
圖4? 列驅動電路原理圖
3 軟件系統
??? 程序可以實現與計算機的通信,可非常方便地任意修改所要顯示的漢字;并使顯示屏可固定、平移地顯示漢字。程序中將數據存儲器分為三個區:顯示緩沖區,數據存 儲區和接收緩沖區[4]。單片機通過串口接收PC機傳來的數據(包括顯示內容,顯示方式和顯示狀態)暫時放在接收緩沖區,處理后放入數據存儲區保存,然后 再根據顯示方式從數據存儲區中讀出數據放入顯示緩沖區用于顯示。顯示方式的實現取決于數據放入顯示緩沖區的順序,左移是從數據存儲區取出一位數放入顯示緩 沖區,上移是每次取出一行數據放到緩沖區,時間顯示是先把實時時鐘的數據放到顯示緩沖區。顯示時并不識別顯示緩沖區的數據,只是依次從顯示緩沖區提取數據 向顯示屏發送并送入相應的鎖存消隱和行值信號,完成掃描。程序功能框圖如圖5所示。
?
圖5? 程序功能框圖
??? 軟件系統采用模塊化結構,包括主程序、顯示子程序和串口中斷服務程序。主程序為順序結構,完成堆棧、中斷、串口的初始化設置后,循環調用顯示子程序,以及響 應串行接收或發送中斷;顯示子程序從顯示緩沖區取出字模,輸出行選通信號至P0口并通過一個通用邏輯陣列GAL16V8D輸出,配合列掃描信號,進行動態 掃描顯示;中斷服務程序串口接收PC機發送的漢字機內碼數據,實現與計算機實時通信。程序各部分的功能,由各個模塊分別實現。程序模塊有: 串口初始化模塊、數據輸入模塊、漢字首地址計算模塊、取字模塊、顯示模塊和移動模塊。
4 結束語
??? 本文的點陣LED顯示系統以單片機89C51為基礎,加以外圍電路,利用RS-232接口實現與計算機實時通信,可實現漢字、數字及各種字符的多種方式和速 度的顯示。經實際應用驗證,本條屏作為信息顯示屏,工作穩定,字符清晰,字體美觀,亮度適中,根據需要可選擇多種顯示字幕效果,并具有分布靈活、擴展方便 等優點。
評論
查看更多