隨著科技的發展,液晶顯示模塊的應用前景更加廣闊,目前已廣泛應用于電子表、計算器、液晶電視機、便攜式電腦、掌上型電子玩具、復印機、傳真機等許多方面。 液晶顯示(LCD)大體分為筆段型、字符型、點陣圖形型等幾大類,字符型液晶顯示模塊是一類專門用于顯示字母、數字、符號等的點陣型液晶顯示模塊,它是由若干個5×7或5×11等點陣字符組成。每一個點陣字符位都可以顯示一個字符,點陣字符位之間的一個點距的間隔起字符間距和行距的作用。目前市面上常用的有16字×1行、16字×2行、20字×2行和40字×2行等字符模型,這些LCD雖然顯示的字數各不相同,但是都具有相同的輸入輸出界面。本文介紹的TC1602A是一種16字×2行的字符型液晶顯示模塊,其顯示面積為64.5×13.8mm2。 1 TC1602A的引腳功能和內部結構 1.1 TC1602A的引腳功能 TC1602A的引腳排列如圖1所示,它有16個引腳可與外界相連,各引腳功能如下: 1腳VSS:接地; 2腳Vdd:接+5V電源; 3腳VO:對比度調整端,LCD驅動電壓范圍為Vdd~VO。當VO接地時,對比度最強; 4腳RS:寄存器選擇端,RS為0時,選擇命令寄存器IR;RS為1時,選擇數據寄存器DR; 5腳:讀寫控制端,為1時,選擇讀出;為0時,則選擇寫入; 6腳Enable:使能控制端,Enable為1時,使能;Enable為0,禁止; 7腳~14腳D0~D7:數據總線; 15腳LED+:背景光源,接+5V; 16腳LED-:背景光源,接地。 1.2 TC1602A的內部結構 TC1602A的內部結構如圖2所示,它主要由DDRAM、CGROM、CGRAM、IR、DR、BF、AC等大規模集成電路組成。 DDRAM為數據顯示用的RAM(Data DisplayRAM,簡稱DDRAM),用以存放要LCD顯示的數據,只要將標準的ASCII碼放入DDRAM,內部控制線路就會自動將數據傳送到顯示器上,并顯示出該ASCII碼對應的字符; CGROM為字符產生器ROM(Character GeneratorROM,簡稱CGORM),它存儲了192個5×7的點陣字型,但只能讀出不能寫入; CGRAM為字型、字符產生器的RAM(CharacterGenerator RAM,簡稱CGRAM),可供使用者存儲特殊造型的造型碼,CGRAM最多可存8個造型; IR為指令寄存器(Instruction Register,簡稱IR),負責存儲MCU要寫給LCD的指令碼,當RS及R/W引腳信號為0且Enable引腳信號由1變為0時,D0~D7引腳上的數據便會存入到IR寄存器中; DR為數據寄存器(Data Register,簡稱DR),它們負責存儲微機要寫到CGRAM或DDRAM的數據,或者存儲MCU要從CGRAM或DDRAM讀出的數據。因此,可將DR視為一個數據緩沖區,當RS及R/W引腳信號為1且Enable引腳信號由1變為0時,讀取數據;當RS引腳信號為1,R/W引腳信號為0且Enable引腳信號由1變為0時,存入數據; BF為忙碌信號(Busy Flag,簡稱BF),當BF為1時,不接收微機送來的數據或指令;當BR為0時,接收外部數據或指令,所以,在寫數據或指令到LCD之前,必須查看BF是否為0; AC為地址計數器(Address Counter,簡稱AC),負責計數寫入/讀出CGRAM或DDRAM的數據地址,AC依照MCU對LCD的設置值而自動修改它本身的內容。 TC1602A可分2行共顯示32個字符,每行顯示16個字符。 2 TC1602A的控制指令 TC1602A的控制指令共11條,其中9條是針對命令寄存器IR的,另外2條是針對數據寄存器DR的,具體指令如表1所列。需要說明的是:表中*表示可以為0或1,表中的相關命令字設置如下: 3 TC1602A相關的子程序 TC1602A與單片機AT89C51的接口電路如圖3所示,下面是TC1602A相關的子程序: (1)查看忙碌信號子程序 (4)清TC1604A顯示器子程序 LCR: MOVA,#00000001B CALLWtoiR RET (5)啟動TC1602A子程序 當供電電源符合一定要求時,TC1602A通電后能自啟動,并進入默認置。TC1602A自啟動后,單片機(MCU)只要依照系統所需的功能重新對其下達功能設定指令、顯示器開/關控制指令及進入模式設定指令即可。通過下面的子程序可以讓TC1602A5×7的字型顯示器顯示2行8bit數據,同時顯示光標但不閃爍,且可在每一次資料輸入DDRAM后光標向右移動一格。 4 實用實例 下面的應用程序實例可在TC1602A的液晶顯示屏上顯示2行字符,它們分別是“Testing TC1602A.”和“Easy Learning it”。另外,該程序還能使AT89C51的P0口所控制的8個發光二極管每隔1秒鐘從左至右點亮一個,在任一時刻只有一個發光二極管是被點亮的。具體應用程序如下: |