《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的HT1621液晶顯示系統(tǒng)設(shè)計(jì)
基于單片機(jī)的HT1621液晶顯示系統(tǒng)設(shè)計(jì)
現(xiàn)代電子技術(shù)
汪 川,樊澤明 西北工業(yè)大學(xué)
摘要: 針對單片機(jī)控制的智能化設(shè)備對人機(jī)對話接口簡單、便捷的要求,采用段式液晶顯示模塊HT1621D與單片機(jī)STC89C52進(jìn)行液晶顯示系統(tǒng)的設(shè)計(jì),闡述了該系統(tǒng)的硬件構(gòu)成和軟件設(shè)計(jì)過程,并給出了硬件接口和軟件流程圖。該液晶顯示系統(tǒng)具有硬件電路簡單可靠、I/O口線占用少、顯示穩(wěn)定、功耗低、界面友好、程序編寫簡單等優(yōu)點(diǎn),在實(shí)踐中取得很好的應(yīng)用效果。
Abstract:
Key words :

摘要:針對單片機(jī)控制的智能化設(shè)備對人機(jī)對話接口簡單、便捷的要求,采用段式液晶顯示模塊HT1621D與單片機(jī)STC89C52進(jìn)行液晶顯示系統(tǒng)的設(shè)計(jì),闡述了該系統(tǒng)的硬件構(gòu)成和軟件設(shè)計(jì)過程,并給出了硬件接口和軟件流程圖。該液晶顯示系統(tǒng)具有硬件電路簡單可靠、I/O口線占用少、顯示穩(wěn)定、功耗低、界面友好、程序編寫簡單等優(yōu)點(diǎn),在實(shí)踐中取得很好的應(yīng)用效果。

    在以單片機(jī)為核心的微控制系統(tǒng)中,單片機(jī)與顯示器件的接口是一個(gè)必不可少的環(huán)節(jié),具體工作包括選擇顯示器件的類型,接口采用串行方式還是并行方式等問題。液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄、可視面積大,畫面效果好、分辨率高,抗干擾能力強(qiáng)
等許多其他顯示器無法比擬的優(yōu)點(diǎn),近幾年來被廣泛應(yīng)用于單片機(jī)控制的智能儀器、儀表和低功耗電子系統(tǒng)中。本文針對單片機(jī)控制的智能化工業(yè)設(shè)備對人機(jī)對話接口簡單、便捷的要求,詳細(xì)討論段式液晶模塊HT1621D與單片機(jī)STC89C52的一種硬件接口電路和軟件編程方法。

1 HT1621液晶模塊與STC89CS2單片機(jī)
    HT1621是128點(diǎn)內(nèi)存映像和多功能的LCD驅(qū)動(dòng)器,HT1621的軟件配置特性使它適用于多種LCD應(yīng)用場合,包括LCD模塊和顯示子系統(tǒng)。靜態(tài)顯示內(nèi)存RAM以32×4位的格式儲(chǔ)存所顯示的數(shù)據(jù)。RAM的數(shù)據(jù)直接映像到LCD驅(qū)動(dòng)器,可以用READ,WRITE和READ-MODIFY-WRITE命令訪問。HT1 621D引腳圖如圖1所示。

a.JPG


    各引腳功能如下:
    :片選輸入,接一上拉電阻。當(dāng)為高電平,讀寫HT1621的數(shù)據(jù)和命令無效,串行接口電路復(fù)位;當(dāng)為低電平和作為輸入時(shí),讀寫HT1621的數(shù)據(jù)和命今有效。
    :READ脈沖輸入,接一上拉電阻。在信號的下降沿,HT1621內(nèi)存的數(shù)據(jù)被讀到DATA線上,主控制器可以在下一個(gè)上升沿時(shí)鎖存這些數(shù)據(jù)。
    :WRITE脈沖輸入,接一上拉電阻。在信號的上升沿,DATA線上的數(shù)據(jù)寫到HT1621。
    DATA:外接上拉電阻的串行數(shù)據(jù)輸入/輸出。
    VSS:負(fù)電源;地。
    VLCD:LCD電源輸入。
    VDD:正電源。
    :時(shí)基或看門狗定時(shí)器溢出標(biāo)志,NMOS開漏輸出。
    BZ:聲音頻率輸出。
    COM0~COM2:LCD公共輸出口。
    SEG1~SEG31:LCD段輸出口。
    STC89C52是一種低功耗、高性能CMOS 8位單片機(jī),最突出的優(yōu)點(diǎn)是片內(nèi)集成了8 KB可重復(fù)編程的FLASH程序存儲(chǔ)器。具有ISP功能,可直接通過串口下載用戶程序,方便調(diào)試程序,內(nèi)部8 KB的FLASH E2PROM使用戶編制的程序及需要顯示的字母、數(shù)字、漢字和圖形都可以存儲(chǔ)在里面,免去了擴(kuò)展外部存儲(chǔ)器的麻煩,使以STC89C52單片機(jī)為核心的控制系統(tǒng)電路更簡單,十分適用于液晶顯示,在智能儀器、儀表和低
功耗電子產(chǎn)品中被廣泛選用。

 

2 硬件電路設(shè)計(jì)
    考慮到單片機(jī)的外圍擴(kuò)展電路盡可能少,硬件結(jié)構(gòu)越簡單越好。如果液晶顯示器的8位數(shù)據(jù)線與單片機(jī)采用并行接口的話,數(shù)據(jù)線就占用了8位,再加上其他的一些控制線,將占用較多的I/O口線,因此在很多儀器儀表的應(yīng)用中,將液晶顯示器的8位數(shù)據(jù)線與單片機(jī)通過串行輸入并行輸出器件進(jìn)行串行接口,實(shí)現(xiàn)實(shí)用準(zhǔn)確的數(shù)據(jù)傳輸方式。HT1621與微控制器之間只需三根線進(jìn)行連接,即將HT1621的三個(gè)管腳,DATA和分別與單片機(jī)的P3.4,P3.3和P3.5相連。
    HT1621D只有四根管腳用于接口,管腳用于初始化串行接口電路和結(jié)束主控制器與HT1621之間的通訊。管腳設(shè)置為“1”時(shí),主控制器和HT1621之間的數(shù)據(jù)和命令無效并初始化。在產(chǎn)生模式命令或模式轉(zhuǎn)換之前,必須用一個(gè)高電平脈沖初始化HT1621的串行接口。管腳DATA是串行數(shù)據(jù)輸入/輸出管腳,讀/寫數(shù)據(jù)和寫命令通過管腳DATA進(jìn)行。管腳是讀時(shí)鐘輸入管腳,在信號的下降沿時(shí),數(shù)據(jù)輸出到管腳DATA上,在信號上升沿和下一個(gè)下降沿之間,主控制器應(yīng)讀取相應(yīng)的數(shù)據(jù)。管腳是寫時(shí)鐘輸入管腳,在信號上升沿時(shí),管腳DATA上的數(shù)據(jù)、地址和命令被寫入HT1621??蛇x的管腳可用作主控制器和HT1621之間的接口,可用軟件設(shè)置作為定時(shí)器輸出或WDT溢出標(biāo)志輸出。主控制器與HT1621的相連接后,可以實(shí)現(xiàn)時(shí)基或WDT功能。其硬件電路如圖2所示。

c.JPG

3 軟件設(shè)計(jì)
3.1 LCD驅(qū)動(dòng)器相關(guān)命令
    HT1621可以用軟件設(shè)置。兩種模式的命令可以配置HT1621和傳送LCD所顯示的數(shù)據(jù)。HT1621的配置模式稱為命令模式,命令模式類型碼為100。命令模式包括一個(gè)系統(tǒng)配置命令,一個(gè)系統(tǒng)頻率選擇命令,一個(gè)LCD配置命令,一個(gè)聲音頻率選擇命令,一個(gè)定時(shí)器設(shè)置命令和一個(gè)操作命令。數(shù)據(jù)模式包括READ,WRITE和READ-MODIFY-WRITE操作,數(shù)據(jù)和命令模式類型如下:

b.JPG

    模式命令應(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”時(shí),新的操作模式類型碼應(yīng)先運(yùn)行。
3.2 工作時(shí)序
    只看掌握和熟悉了HT1621的工作時(shí)序圖才能更好地進(jìn)行軟件編程。HT1621的命令模式時(shí)序圖如圖3所示,寫模式的時(shí)序圖如圖4所示。

d.JPG

 

 

d.JPG
    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ū)動(dòng)器,RAM可看成是由SEG1~
SEG31和COM0~COM2對應(yīng)組成的映像圖。HT1621的RAM段碼映射如表1所示。

f.JPG


    液晶顯示屏上要顯示的每一個(gè)符號都對應(yīng)于RAM中的一位,要顯示哪位只需將該位對應(yīng)的單元即SEG和COM相交的地方置“1”就可以了,若不要顯示則將該位送“0”。對于0~9的數(shù)字顯示是采用七段碼來顯示的。在編寫顯示程序時(shí)可以將要顯示內(nèi)容的顯示代碼放在一個(gè)表中,然后在程序中可以通過查表的方式根據(jù)此顯示代碼查出對應(yīng)要顯示的內(nèi)容。LCD顯示子程序流程如圖5所示。

g.JPG

 

4 結(jié)語
    以段式液晶顯示模塊HT1621為例,介紹了與單片機(jī)STC89C52的一種實(shí)用的硬件接口電路和軟件編程方法,該種設(shè)計(jì)硬件電路簡單可靠,節(jié)約了單片機(jī)的口線,使系統(tǒng)資源得到了充分利用,可方便顯示漢字、字符和圖形,實(shí)現(xiàn)了交互式顯示和圖文并茂的人機(jī)界面效果。并且該設(shè)計(jì)已成功應(yīng)用在多種工業(yè)和家用電器設(shè)備中,獲得了很好的實(shí)用價(jià)值。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。