摘要:筆段型液晶顯示器是以長條狀顯示像素組成一位顯示字符或專用固定圖形和字符的液晶顯示器。該文介紹由HOLTEK HT1621 LCD 驅動器與液晶顯示板構成的筆段型液晶顯示模塊在便攜式測力計中的應用,其中包括硬件電路設計及控制程序設計。
關鍵詞:筆段型液晶顯示模塊;應用;設計
中圖分類號:TP216文獻標識碼:B文章編號:1009-3044(2008)32-1218-02
The Application of Segments LCD Display Module in Portable Ergometer
HU Hui-yu
(Jimei University,College of Engineering, Jimei 361021,China)
Abstract: Segments LCD display is a type of LCD screen which uses long strip pixels to show characters or fixed graphics and special characters. This article introduces the application of segments LCD display module which consists of HOLTEK HT1621 LCD driver and liquid crystal display panel in portable ergometer, its including hardware circuit design and control procedures design.
Key words: segments LCD display; application; design
1 引言
液晶顯示器LCD是一種微功耗的顯示器件,工作電流僅幾個微安,工作電壓可低至3V(甚至到2V),并且一直與大規模集成電路的發展相適應,所以特別適合于用電池供電的單片機應用系統及各種各樣便攜式智能儀器中作顯示器。根據LCD顯示器的顯示形式的不同,可將LCD顯示器分為字段型(筆段型)、點陣字符型和點陣圖形幾種。筆段型液晶顯示器是以長條狀顯示像素組成一位顯示字符或專用固定圖形和字符的液晶顯示器。具體又分為7(8)段數碼型和專用型兩種。筆段型LCD顯示器件的驅動方式有靜態驅動和動態驅動兩種,本文所描述的顯示模塊為筆段型,由HOLTEK HT1621 LCD 驅動器與液晶顯示板構成,應用在便攜式測力計中。
2 HT1621 LCD驅動器的概述
HT1621 是一個128(32×4)點的LCD驅動器,它可由軟件配置成1/2或1/3的LCD驅動器偏壓和2、3或4個公共端口,這一特性使HT1621適用于多種LCD 應用場合。LCD驅動時鐘由系統時鐘分頻產生,LCD驅動時鐘的頻率值保持為256Hz,由頻率為32.768KHz的晶振、片內RC振蕩器或外部時鐘產生。
一個內嵌的靜態顯示內存RAM,以32×4 位的格式儲存所顯示的數據,RAM的數據直接映象到LCD 驅動器,可以用READ、 WRITE 和READ-MODIFY-WRITE 命令訪問。圖1為HT1621的內部結構方框圖。顯示內存RAM的映象圖如圖2所示。
本設計在LCD顯示板上顯示的有效數字為6位,6×8=48,需要占用48位顯示內存(RAM)。LCD顯示板上最低位的顯示值寫入HT1621 RAM區的Address0~Address1內;第二位的顯示值寫入HT1621 RAM區的Address2~Address3內;Address4寫入的顯示數據為0X00,使映象的LCD筆段處于關閉狀態;第三位的顯示值寫入HT1621 RAM區的Address5~Address6內;第四位的顯示值寫入HT1621 RAM區的Address7~Address8內;Address9寫入的顯示數據為0X00,使映象的LCD筆段處于關閉狀態;第五位的顯示值寫入HT1621 RAM區的Address10~Address11內;最高位的顯示值寫入HT1621 RAM區的Address12~Address13內;Address14~Address32均寫入0X00,映象的LCD筆段處于關閉狀態。因此,HT1621輸出到LCD顯示板的信號為:COM0~COM3、SEG0~SEG3、SEG5~SEG8、SEG10~SEG13。
3 HT1621 LCD驅動器與主控制器的連接
由于HT1621與主控制器之間采用串行通信方式,所以HT1621用于連接主控制器的管腳只有4或5條。如圖3所示。本測力計中,AT89C51與HT1621僅有3根連接線,分別為:P1.2口接/WR端,P1.3口接DATA端,P1.7口接/CS端,由于不需要從HT1621中讀出數據,所以HT1621的/RD端懸空。
4 HT1621 LCD驅動器的命令格式
HT1621的命令有兩種模式。一種為命令模式,用來配置HT1621,其中包括一個系統配置命令,一個系統頻率選擇命令,一個LCD配置命令,一個聲音頻率選擇命令,一個定時器/WDT設置命令和一個操作命令。另一種為數據模式,其中包括READ WRITE 和READ-MODIFY-WRITE操作。數據模式和命令模式的高三位為命令標志型碼。對HT1621操作之前,應該給它發送標志碼,表明要求工作在哪種狀態。標志碼的定義如表1所示。
5 對HT1621 LCD驅動器的寫操作
為了點亮LCD,必須先給出兩個控制指令:SYSTEM ENABLE和LCD ON。SYSTEM ENABLE指令碼是:10000000001X。LCD ON指令碼是:10000000011X。由于是串行通信,數據應該先出現在DATA腳,然后給出一個寫允許信號(WR),輸入一位數據,接著輸入第二…直到全部寫入。先發送標志碼101,表明下面要進行寫操作。然后發送地址碼A5~A0,用D0~D3指定對應的位,最后發送一位結束位0或1,就可以對LCD相應的位元操作了。連續寫數據時,給起始地址,操作結束地址自動加一。對RAM區不連續寫數據時序如圖4所示。
6 應用程序設計
本部分的程序設計要解決如下幾個問題:
1)HT1621的初始化。解決的方法是向HT1621發送三條的控制命令。第一條控制命令是SYSTEM ENABLE,指令碼是10000000001X,目的是打開HT1621系統振蕩器;第二條控制命令是LCD ON,指令碼是10000000011X,目的是打開LCD偏壓發生器;第三條控制命令是BIAS 1/3,指令碼是100001010X1X,目的是將LCD驅動器配置為1/3的驅動器偏壓、4個公共端口。每條控制命令的指令碼為12位。傳送12位指令碼的程序流程如圖5所示。
2)傳送顯示數據。LCD要顯示六位數據,分六次傳送。程序流程如圖6所示。要傳送LCD六位顯示數據中的一位,首先傳送寫數據命令的標志碼101,再傳送6位HT1621中RAM區的地址,最后傳送8位的顯示數據。
3)將需要傳送的數據送到HT1621的DATA腳。源程序如下:
void wrtlbyt(unsigned char in_data,int bit_num)
{
int i;
for(i=0;i { lcd_wr=0; //寫信號低電平,產生一次有效的寫信號 switch(i) //依次傳送各個位 { case 0 : lcd_data=in_data0x80; break; case 1 : lcd_data=in_data0x40; break; case 2 : lcd_data=in_data0x20; break; case 3 : lcd_data=in_data0x10; break; case 4 : lcd_data=in_data0x08; break; case 5 : lcd_data=in_data0x04; break; case 6 : lcd_data=in_data0x02; break; case 7 : lcd_data=in_data0x01; break; } _nop_();//延時兩個機器周期 _nop_(); lcd_wr=1; //寫信號高電平,產生一次有效的寫信號 _nop_();//延時兩個機器周期 _nop_(); } } 其中in_data為需要串行傳送到HT1621 DATA腳上的數據,bit_num為傳送數據位數控制變量。bit_num=3,傳送三位命令標志碼;bit_num=6,傳送六位地址碼;bit_num=8,傳送8位的顯示數據碼。 6 結束語 液晶顯示器由于其低功耗,低工作電流,低工作電壓,并且一直與大規模集成電路的發展相適應,所以特別適合于用電池供電的單片機應用系統及各種各樣便攜式智能儀器中作顯示器。由HOLTEK HT1621 LCD 驅動器與液晶顯示板構成的筆段型液晶顯示模塊功與單片機之間采用串行通訊方式,硬件接線簡單,大大減小了印刷線路板的尺寸,更適合于便攜式智能儀器數據的顯示。 參考文獻: [1] 何立民.單片機高級教程—應用與設計[M]. 北京:北京航空航天大學出版社,2007. [2] 賴麒文.80C51單片機C語言徹底應用[M].北京:科學出版社,2002. [3] HOLTEK HT1621 LCD驅動器[Z].廣州周立功單片機發展有限公司. [4] 竇振中.單片機外圍器件使用手冊[M]. 北京:北京航空航天大學出版社,2003.