基於微控制器的LED漢字顯示屏設計與製作

2022-12-09 15:48:02 字數 3079 閱讀 5058

**:現代電子技術作者:龍安國

在大型商場、車站、碼頭、地鐵站以及各類辦事視窗等越來越多的場所需要用led點陣顯示圖形和漢字。led行業已成為乙個快速發展的新興產業,市場空間巨大,前景廣闊。隨著資訊產業的高速發展,led顯示作為資訊傳播的一種重要手段,已廣泛應用於室內外需要進行服務內容和服務宗旨宣傳的公眾場所,例如戶內外公共場所廣告宣傳、機場車站旅客引導資訊、公交車輛報站系統、**與銀行資訊顯示、餐館**資訊豆示、高速公路可變情報板、體育場館比賽轉播、樓宇燈飾、交通訊號燈、景觀照明等。

顯然,led顯示已成為城市亮化、現代化和資訊化社會的乙個重要標誌。

本文基於微控制器(at89c51)講述了16×16 led漢字點陣顯示的基本原理、硬體組成與設計、程式編譯與**等基本環節和相關技術。

2 硬體電路組成及工作原理

本產品擬採用以at89c51微控制器為核心晶元的電路來實現,主要由at89c51晶元、時鐘電路、復位電路、列掃瞄驅動電路(74hc154)、16×16 led點陣5部分組成,如圖1所示。

其中,at89c51是一種帶4 kb閃爍可程式設計可擦除唯讀儲存器(falsh programmable and erasable read onlymemory,fperom)的低電壓、高效能cmos型8位微處理器,俗稱微控制器。該器件採用atmel高密度非易失儲存器製造技術製造,與工業標準的mcs-51指令集和輸出管腳相相容。由於將多功能8位cpu和閃爍儲存器組合在單個晶元中,能夠進行1 000次寫/擦迴圈,資料保留時間為10年。

他是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。因此,在智慧型化電子設計與製作過程中經常用到at89c51晶元。

時鐘電路由at89c51的18,19腳的時鐘端(xtall及xtal2)以及12 mhz晶振x1、電容c2,c3組成,採用片內振盪方式。

復位電路採用簡易的上電復位電路,主要由電阻r1,r2,電容c1,開關k1組成,分別接至at89c51的rst復位輸入端。

led點陣顯示屏採用16×16共256個象素的點陣,通過萬用表檢測發光二極體的方法測試判斷出該點陣的引腳分布,如圖2所示。

我們把行列匯流排接在微控制器的io口,然後把上面分析到的掃瞄**送人匯流排,就可以得到顯示的漢字了。但是若將led點陣的行列埠全部直接接入89s51微控制器,則需要使用32條io口,這樣會造成io資源的耗盡,系統也再無擴充的餘地。因此,我們在實際應用中只是將led點陣的16條行線直接接在p0口和p2口,至於列選掃瞄訊號則是由4-16線解碼器74hc154來選擇控制,這樣一來列選控制只使用了微控制器的4個io口,節約了很多io資源,為微控制器系統擴充使用功能提供了條件。

考慮到p0口必需設定上拉電阻,我們採用4.7 kω排電阻作為上拉電阻。

漢字掃瞄顯示的基本過程是這樣的:通電後由於電阻r1,電容c1的作用,使微控制器的rst復位腳電平先高後低,從而達到復位;之後,在c2,c3,x1以及微控制器內部時鐘電路的作用下,微控制器89c51按照設定的程式在p0和p2介面輸出與內部漢字對應的**電平送至led點陣的行選線(高電平驅動),同時在p1.1,p1.

2,p1.3,p1.4介面輸出列選掃瞄訊號(低電平驅動),從而選中相應的象素lcd發光,並利用人眼的視覺暫留特性合成整個漢字的顯示。

3 漢字的點陣顯示原理及字型檔**獲取方法

我們以ucdos中文宋體字庫為例,每乙個字由16行16列的點陣組成顯示。即國標漢字型檔中的每乙個字均由256點陣來表示。我們可以把每乙個點理解為乙個象素,而把每乙個字的字形理解為一幅影象。

事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256象素範圍內的任何圖形。如查用8位的at89c51微控制器控制,由於微控制器的匯流排為8位,乙個字需要拆分為2個部分,如圖3所示。

為了弄清楚漢字的點陣組成規律,首先通過列掃瞄方法獲取漢字的**。漢字可拆分為上部和下部,上部由8×16點陣組成,下部也由8×16點陣組成。本例通過列掃瞄方法首先顯示左上角的第一列的上半部分,即第0列的p00~p07口,方向為p00到p07,顯示漢字「大」時,p05點亮,由上往下排列,為:

p0.0滅,p0.1滅,p0.

2滅p0.3滅,p0.4滅,p0.

5亮,p0.6滅,p0.7滅。

即二進位制00000100,轉換為十六進製制為04h。上半部第一列完成後,繼續掃瞄下半部的第一列,為了接線的方便,我們仍設計成由上往下掃瞄,即從p27向p20方向掃瞄,從圖3可以看到,這一列全部為不亮,即為00000000,十六進製制則為00h。依照這個方法轉向第二列、第三列,…,直至第十六列的掃瞄,一共掃瞄32個8位,可以得出漢字「大」的掃瞄**為:

由這個原理可以看出,無論顯示何種字型或影象,都可以用這個方法來分析出他的掃瞄**從而顯示在螢幕上。

上述方法雖然能夠讓我們弄清楚漢字點陣**的獲取過程,但是依靠人工方法獲取漢字**是一件非常繁瑣的事情。為此,我們經常採用字型檔軟體查詢字元**,軟體開啟後輸入漢字,點「檢取」,十六進製制資料的漢字**即可自動生成,把我們所需要的豎排資料複製到程式中即可,如圖4所示。

可見,漢字點陣顯示一般有點掃瞄、行掃瞄和列掃瞄3種。為了符合視覺暫留要求,點掃瞄方法的掃瞄頻率必須大於16×64=1 024 hz,週期小於1 ms即可。行掃瞄和列掃瞄方法的掃瞄頻率必須大於16×8=128 hz,週期小於7.

8 ms即可,但是一次驅動一列或一行(8顆led)時需外加驅動電路提高電流,否則led亮度會不足。

4 元器件選擇

本設計所需元器件如表1所示。

5 pcb設計與元件裝配

本作品採用通用的protel 99se板級eda軟體完成pcb圖的設計,詳細設計過程略。考慮到本設計用到的元件數量不多,我們基本採用單面佈線策略,只使用了少量的頂層跨接導線,以便於業餘設計製作。已設計好的pcb圖見圖5所示。

本電路對元件引數沒有苛刻要求,只要元器件選擇正確,無損壞,電路板製作工藝良好,把所有電子元件正確焊接裝配後即可進入程式**和除錯工作階段。製作與除錯時,在at89c2051的位置應安裝20腳的ic座,以便使微控制器可以從電路板中拿下去燒寫程式。

6 程式設計、燒錄與除錯

軟體程式主要由開始、初始化、主程式、字型檔組成。其中主程式和子程式的流程圖如圖6和圖7所示。

下面的程式能夠用來實現「為中華之崛起而學習」等漢字的顯示。程式清單如下:

在完成編寫程式的編譯和**之後,,然後,將燒錄好程式的at89c51微控制器裝入到40腳的ic座上,通電即可除錯和執行,由於本例電路對元件引數的要求不是很高,只要元件較好,引數基本符合要求,焊接裝配後即可正常工作。

7 結語

基於微控制器的LED廣告屏設計的外文翻譯

畢業 設計 外文翻譯 題目 基於at89c51微控制器的led顯示控制系統 系部名稱 資訊工程系專業班級 學生姓名學號 指導教師教師職稱 講師 2012 年 3月 2日 這篇文章介紹了基於at89c52微控制器的led顯示控制系統軟硬體的設計過程。我們用乙個簡單的外部電路控制尺寸為32 192的顯示...

基於微控制器的液晶顯示器設計

作者 湯文洪彭森 卷宗 2016年第10期 摘要 本文設計主要介紹了以at89s52微控制器為控制裝置,ampire128 64液晶顯示器為顯示裝置,實現的乙個可以顯示靜態漢字 動態漢字 字元 以及由多個 形成的簡單動畫的液晶顯示設計。通過設定pctolcd2002取模軟體和畔畔字模提取軟體的相關引...

基於微控制器的電子時鐘設計報告 LCD顯示

微控制器原理及應用課程設計任務書 題目 電子時鐘 lcd顯示 1 設計要求以at89c51微控制器為核心的時鐘,在lcd顯示器上顯示當前的時間 使用字元型lcd顯示器顯示當前時間。顯示格式為 時時 分分 秒秒 用3個功能鍵操作來設定當前時間。功能鍵k1 k4功能下。k1 設定小時。k2 設定分鐘。k...