HT1621液晶顯示控制器是多功能全自動智能開關(guān)的顯示部件,能實時,、準(zhǔn)確,、在線監(jiān)控供電線路的運(yùn)行情況。一旦線路出現(xiàn)漏電,、過載,、短路、過壓,、欠壓和缺相時,,智能安全用電開關(guān)能立刻啟動保護(hù)程序,并顯示在HT1621液晶顯示控制器上,。在智能化樓宇,、中高檔家庭住宅、電力系統(tǒng),、工礦企業(yè),、國家重點(diǎn)消防單位以及石油化工、文教衛(wèi)生,、金融,、電信等領(lǐng)域?;?a class="innerlink" href="http://forexkbc.com/tags/單片機(jī)" title="單片機(jī)" target="_blank">單片機(jī)的HT1621液晶顯示控制器應(yīng)用廣泛,。本文詳細(xì)討論段式液晶模塊HT1621D與單片機(jī)STC89C52的一種硬件接口電路和軟件編程方法。
1 HT1621液晶模塊與STC89CS2單片機(jī)
HT1621是128點(diǎn)內(nèi)存映像和多功能的LCD驅(qū)動器,,HT1621的軟件配置特性使它適用于多種LCD應(yīng)用場合,,包括LCD模塊和顯示子系統(tǒng)。靜態(tài)顯示內(nèi)存RAM以32×4位的格式儲存所顯示的數(shù)據(jù),。RAM的數(shù)據(jù)直接映像到LCD驅(qū)動器,,可以用READ,WRITE和READ-MODIFY-WRITE命令訪問。HT1 621D引腳圖如圖1所示,。
各引腳功能如下:
片選輸入,,接一上拉電阻。當(dāng)為高電平,,讀寫HT1621的數(shù)據(jù)和命令無效,,串行接口電路復(fù)位;當(dāng)為低電平和作為輸入時,,讀寫HT1621的數(shù)據(jù)和命今有效,。
READ脈沖輸入,接一上拉電阻,。在信號的下降沿,,HT1621內(nèi)存的數(shù)據(jù)被讀到DATA線上,主控制器可以在下一個上升沿時鎖存這些數(shù)據(jù),。
WRITE脈沖輸入,,接一上拉電阻。在信號的上升沿,,DATA線上的數(shù)據(jù)寫到HT1621.
DATA:外接上拉電阻的串行數(shù)據(jù)輸入/輸出,。
VSS:負(fù)電源;地,。
VLCD:LCD電源輸入,。
VDD:正電源。
時基或看門狗定時器溢出標(biāo)志,,NMOS開漏輸出,。
BZ:聲音頻率輸出。
COM0~COM2:LCD公共輸出口,。
SEG1~SEG31:LCD段輸出口,。
STC89C52是一種低功耗、高性能CMOS 8位單片機(jī),,最突出的優(yōu)點(diǎn)是片內(nèi)集成了8 KB可重復(fù)編程的FLASH程序存儲器,。內(nèi)部8 KB的FLASH E2PROM使用戶編制的程序及需要顯示的字母、數(shù)字,、漢字和圖形都可以存儲在里面,,免去了擴(kuò)展外部存儲器的麻煩,使以STC89C52單片機(jī)為核心的控制系統(tǒng)電路更簡單,,非常適用于液晶顯示,。
2 硬件電路設(shè)計
考慮到單片機(jī)的外圍擴(kuò)展電路盡可能少,硬件結(jié)構(gòu)越簡單越好,。如果液晶顯示器的8位數(shù)據(jù)線與單片機(jī)采用并行接口的話,,數(shù)據(jù)線就占用了8位,再加上其他的一些控制線,,將占用較多的I/O口線,,因此在很多儀器儀表的應(yīng)用中,將液晶顯示器的8位數(shù)據(jù)線與單片機(jī)通過串行輸入并行輸出器件進(jìn)行串行接口,,實現(xiàn)實用準(zhǔn)確的數(shù)據(jù)傳輸方式,。HT1621與微控制器之間只需三根線進(jìn)行連接,即將HT1621的三個管腳,,DATA和分別與單片機(jī)的P3.4,P3.3和P3.5相連,。
HT1621D只有四根管腳用于接口,管腳用于初始化串行接口電路和結(jié)束主控制器與HT1621之間的通訊,。管腳設(shè)置為"1"時,,主控制器和HT1621之間的數(shù)據(jù)和命令無效并初始化,。管腳DATA是串行數(shù)據(jù)輸入/輸出管腳,讀/寫數(shù)據(jù)和寫命令通過管腳DATA進(jìn)行,。管腳是讀時鐘輸入管腳,,在信號的下降沿時,數(shù)據(jù)輸出到管腳DATA上,,在信號上升沿和下一個下降沿之間,,主控制器應(yīng)讀取相應(yīng)的數(shù)據(jù)。管腳是寫時鐘輸入管腳,,在信號上升沿時,,管腳DATA上的數(shù)據(jù)、地址和命令被寫入HT1621.可選的管腳可用作主控制器和HT1621之間的接口,,可用軟件設(shè)置作為定時器輸出或WDT溢出標(biāo)志輸出,。主控制器與HT1621的相連接后,可以實現(xiàn)時基或WDT功能,。其硬件電路如圖2所示,。
3 軟件設(shè)計
3.1 LCD驅(qū)動器相關(guān)命令
HT1621可以用軟件設(shè)置。兩種模式的命令可以配置HT1621和傳送LCD所顯示的數(shù)據(jù),。HT1621的配置模式稱為命令模式,,命令模式類型碼為100.命令模式包括一個系統(tǒng)配置命令,一個系統(tǒng)頻率選擇命令,,一個LCD配置命令,,一個聲音頻率選擇命令,一個定時器設(shè)置命令和一個操作命令,。數(shù)據(jù)模式包括READ,WRITE和READ-MODIFY-WRITE操作,,數(shù)據(jù)和命令模式類型如下:
模式命令應(yīng)在數(shù)據(jù)或命令傳送前運(yùn)行。如果執(zhí)行連續(xù)的命令,,命令模式代碼即100,將被忽略,。當(dāng)系統(tǒng)在不連續(xù)命令模式或不連續(xù)地址數(shù)據(jù)模式下,管腳應(yīng)設(shè)為"1",而且先前的操作模式將復(fù)位,。當(dāng)管腳返回"0"時,,新的操作模式類型碼應(yīng)先運(yùn)行。
3.2 工作時序
只看掌握和熟悉了HT1621的工作時序圖才能更好地進(jìn)行軟件編程,。HT1621的命令模式時序圖如圖3所示,,寫模式的時序圖如圖4所示。
WRITE101
a5 a4 a3 a2 a1 a0 d0 d1 d2 d3寫數(shù)據(jù)到RAM
a5~a0 RAM地址,;d3~d0 RAM數(shù)據(jù)
3.3 LCD顯示程序的編寫
要正確的編寫出LCD顯示程序,,需要知道HT1621的段與液晶顯示屏的對應(yīng)情況。RAM的數(shù)據(jù)直接映像到LCD驅(qū)動器,RAM可看成是由SEG1~SEG31和COM0~COM2對應(yīng)組成的映像圖,。HT1621的RAM段碼映射如表1所示,。
液晶顯示屏上要顯示的每一個符號都對應(yīng)于RAM中的一位,要顯示哪位只需將該位對應(yīng)的單元即SEG和COM相交的地方置"1"就可以了,,若不要顯示則將該位送"0".對于0~9的數(shù)字顯示是采用七段碼來顯示的,。在編寫顯示程序時可以將要顯示內(nèi)容的顯示代碼放在一個表中,然后在程序中可以通過查表的方式根據(jù)此顯示代碼查出對應(yīng)要顯示的內(nèi)容,。LCD顯示子程序流程如圖5所示,。
4 結(jié)語
以段式液晶顯示模塊HT1621為例,,介紹了與單片機(jī)STC89C52的一種實用的硬件接口電路和軟件編程方法,,該種設(shè)計硬件電路簡單可靠,節(jié)約了單片機(jī)的口線,,使系統(tǒng)資源得到了充分利用,,可方便顯示漢字、字符和圖形,,實現(xiàn)了交互式顯示和圖文并茂的人機(jī)界面效果,。而且該設(shè)計已成功應(yīng)用在多種工業(yè)和家用電器設(shè)備中,獲得了很好的實用價值,。