摘 要:本文設計了一種以AT89C51單片機為核心的低成本、高精度、微型化LCD漢字滾動顯示系統,并使用一些常用芯片如:AMPIRE128×64、SMG12864A等。系統由單片機、外圍電路、單片機最小系統以及顯示電路構成。本系統具有易安裝檢測、軟件功能完善,工作可靠、準確度高等優點。本文論述了由單片機控制的LCD漢字滾動顯示系統的基本原理,并闡述了運用Proteus軟件實現系統的設計與仿真以及該系統所應用的領域。
關鍵詞:AT89C51單片機;LCD;Proteus
中圖分類號:TN702 文獻標識碼:A 文章編號:1674-7712 (2012) 12-0046-02
一、引言
亮麗實用的廣告牌可以給我們的生活添加光彩、可以給店鋪招攬生意。傳統的廣告牌都是固定的漢字,并且時間長了會掉色,使漢字模糊難認,這給我們的生活帶來很多的不便。尤其是到了晚上傳統的廣告牌就失去了作用。因此我們需要一種造價低廉、使用方便、可以發光、可以方便改變漢字且比較耐用的電子顯示廣告牌。
二、設計過程及工藝要求
(一)基本功能
1.可以發光;
2.可以滾動;
3.可以用電腦改變漢字。
(二)主要技術參數
1.單片機選擇AT89C51;
2.LCD顯示器選擇SMG12864A或AMPIRE128×64;
3.晶振選擇12MHz;
4.兩個輸出電容選擇30pF;
5.兩個外圍電阻選用10K和100Ω。
本設計的主要任務是顯示標語,因此在硬件安裝方面需要有適當的面積來安裝電子顯示屏,并且還要通過數據線把電子顯示屏和電腦連起來。
三、系統的總體設計
(一)系統設計
本設計是基于51單片機的LCD漢字滾動顯示,該設計是以AT89C51基本系統為核心的一套應用系統,其中包括單片機、復位電路、外圍電路、顯示電路、系統軟件等部分的設計【1】。
(二)芯片AT89C51介紹
AT89C51是一種帶4K字節閃存可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器, 該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51的實物圖如圖所示。
AT89C51具有以下標準功能:8k字節Flash,256字節RAM,32 位I/O口線,看門狗定時器,2 個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89C51可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止【2】。
(三) LCD顯示屏介紹
LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構造是在兩片平行的玻璃當中放置液態的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產生畫面。比CRT要好的多,但是價錢較其稍貴。LCD主要應用于電腦的顯示屏,隨著電子技術的發展越來越多的手寫手機也大量使用LCD做顯示屏,還有一些廣告牌、標語欄等也都用LCD來顯示。
液晶顯示屏(LCD)用于數字型鐘表和許多便攜式計算機的一種顯示器類型。LCD顯示使用了兩片極化材料,在它們之間是液體水晶溶液。電流通過該液體時會使水晶重新排列,以使光線無法透過它們。因此,每個水晶就像百葉窗,既能允許光線穿過又能擋住光線。液晶顯示器(LCD)目前科技信息產品都朝著輕、薄、短、小的目標發展,在計算機周邊中擁有悠久歷史的顯示器產品當然也不例外。在便于攜帶與搬運為前提之下,傳統的顯示方式如CRT映像管顯示器及LED顯示板等等,皆受制于體積過大或耗電量甚巨等因素,無法達成使用者的實際需求。而液晶顯示技術的發展正好切合目前信息產品的潮流,無論是直角顯示、低耗電量、體積小、還是零輻射等優 點,都能讓使用者享受最佳的視覺環境。
液晶顯示器,依驅動方式來分類可分為靜態驅動(Static)、單純矩陣驅動(Simple Matrix)以及主動矩陣驅動(Active Matrix)三種。其中,被動矩陣型又可分為扭轉式向列型(Twisted Nematic;TN)、超扭轉式向列型(Super Twisted Nematic;STN)及其它被動矩陣驅動液晶顯示器;而主動矩陣型大致可區分為薄膜式晶體管型(Thin Film Transistor;TFT)及二端子二極管型(Metal/Insulator/Metal;MIM)二種方式。 TN、STN及TFT型液晶顯示器因其利用液晶分子扭轉原理之不同,
液晶顯示屏在視角、彩色、對比及動畫顯示品質上有高低程次之差別,使其在產品的應用范圍分類亦有明顯區隔。以目前液晶顯示技術所應用的范圍以及層次而言,主動式矩陣驅動技術是以薄膜式晶體管型(TFT)為主流,多應用于筆記型計算機及動畫、影像處理產品。而單純矩陣驅動技術目前則以扭轉向列(TN)、以及超扭轉向列(STN)為主,目前的應用多以文書處理器以及消費性產品為主。在這之中,TFT液晶顯示器所需的資金投入以及技術需求較高,而TN及STN所需的技術及資金需求則相對較低。
(四)LCD的主要參數如下
1.對比度
液晶顯示器的對比度實際上就是亮度的比值,定義是:在暗室中,白色畫面(最亮時)下的亮度除以黑色畫面(最暗時)下的亮度。更精準地說,對比度就是把白色信號在100%和0%的飽和度相減,再除以用Lux(光照度,即勒克斯,每平方米的流明值)為計量單位下0%的白色值(0%的白色信號實際上就是黑色),所得到的數值。對比度是最黑與最白亮度單位的相除值。因此白色越亮、黑色越暗,對比度就越高。對比度是液晶顯示器的一個重要參數,在合理的亮度值下,對比度越高,其所能顯示的色彩層次越豐富。
2.亮度
LCD是一種介于固態與液態之間的物質,本身是不能發光的,需借助要額外的光源才行。因此,燈管數目關系著液晶顯示器亮度。最早的液晶顯示器只有上下兩個燈管,發展到現在,普及型的最低也是四燈,高端的是六燈。四燈管設計分為三種擺放形式:一種是四個邊各有一個燈管,但缺點是中間會出現黑影,解決的方法就是由上到下四個燈管平排列的方式,最后一種是“U”型的擺放形式,其實是兩燈變相產生的兩根燈管。六燈管設計實際使用的是三根燈管,廠商將三根燈管都彎成“U”型,然后平行放置,以達到六根燈管的效果。
3.信號響應時間
響應時間指的是液晶顯示器對于輸入信號的反應速度,也就是液晶由暗轉亮或由亮轉暗的反應時間,通常是以毫秒(ms)為單位。要說清這一點我們還要從人眼對動態圖像的感知談起。人眼存在“視覺殘留”的現象,高速運動的畫面在人腦中會形成短暫的印象。動畫片、電影等一直到現在最新的游戲正是應用了視覺殘留的原理,讓一系列漸變的圖像在人眼前快速連續顯示,便形成動態的影像。人能夠接受的畫面顯示速度一般為每秒24張,這也是電影每秒24幀播放速度的由來,如果顯示速度低于這一標準,人就會明顯感到畫面的停頓和不適。按照這一指標計算,每張畫面顯示的時間需要小于40ms。這樣,對于液晶顯示器來說,響應時間40ms就成了一道坎,低于40ms的顯示器便會出現明顯的畫面閃爍現象,讓人感覺眼花。要是想讓圖像畫面達到不閃的程度,則就最好要達到每秒60幀的速度。
4.可視角度
LCD的可視角度都是左右對稱的,但上下可就不一定了。而且,常常是上下角度小于左右角度。當然了,可視角是愈大愈好。然而,大家必須要了解的是可視角的定義。當我們說可視角是左右80度時,表示站在始于屏幕法線80度的位置時仍可清晰看見屏幕圖像,但每個人的視力不同;因此我們以對比度為準。在最大可視角時所量到的對比愈大愈好。一般而言,業界有CR3 10及CR3 5兩種標準【3】。
四、系統調試
(一)硬件的設計
打開Proteus ISIS,在Proteus ISIS 編輯窗口中單擊元件列表之上的“P”按鈕,添加元件,畫出電路圖。硬件電路制作完成并調試好后,便可將程序編譯好下載到單片機試運行。根據實際情況可以修改漢字的內容、大小以及滾動方向。源程序可以使用匯編語言也可以使用C語言,本文使用了匯編語言。
(二)程序的調試與運行
1.HEX文件的生成
(1)打開單片機軟件開發系統Keil μVision,單擊“μVision”菜單中的“Project”,在此下拉菜單中單擊“New Project”選項后,彈出“Create New Project”對話框,鍵入新建項目名稱。
(2)鍵入新建項目名并單擊“確定”按鈕后,在彈出的“Select Device”對話框中選擇合適的單片機型號,選擇AT89C51。
(3)單擊“μVision”菜單中的“File”,在此下拉菜單中選擇“New”后,打開一個空的文本編輯窗口,在此窗口中鍵入程序,創建新的源程序“漢字式LCD滾動顯示.ASM”文件。
(4)在左邊的“Project”窗口的文件頁中單擊文件組,再單擊鼠標右鍵后,再彈出的窗口中選中“Add Files to Group ‘Source Group 1”選項,將“漢字式LCD滾動顯示.ASM”程序導入到“Source Group1”中。
(5)在“Project”下拉菜單中,選擇“Rebuild all Target Files”項。若程序編譯成功,將生成“漢字式LCD滾動顯示.HEX”文件【4】。
2.調試與仿真
(1)在Proteus ISIS 編輯窗口中,單擊鼠標右鍵將AT89C51單片機選中并單擊鼠標左鍵,彈出“Edit Component”對話框,在此對話框的“Clock Frequency”欄中設置單片機晶振頻率為12MHz,在“Program File”欄中單擊新建圖標,選擇先前用Keil μVision 2生成的“漢字式LCD滾動顯示.DSN”文件。
(2)更改程序中漢字庫的內容可顯示不同的漢字。本設計系統采用了美國ATMEL公司生產的單片機AT89C51芯片。以及其它常用芯片如:SMG12864A、AMPIRE128×64等來設計LCD漢字滾動顯示電路,實現了漢字的滾動和顯示。本系統具有易安裝檢測、軟件功能完善,工作可靠、準確度高等優點。
參考文獻:
[1]張鑫.單片機原理及應用[M].電子工業出版社,2010
[2]張元良.單片機開發技術實例教程[M].機械工業出版社,2011
[3]韓雪濤.液晶顯示器加工工藝[M].機械工業出版社,2011
[4]周潤景.PROTEUS入門實用教程[M].機械工業出版社,2007
[作者簡介]胡立波,教師,助教,江蘇省南通商貿高等職業學校。