單片機來連接led顯示器的設(shè)計是經(jīng)常的事情,常用的有兩種方法一是接并口顯示,這種方法占用了大量的單片機端口資源,利用8279等芯片可以實現(xiàn)動態(tài)顯示,程序也容易寫,在某單片機并口需要連接很多設(shè)備的設(shè)計種不推薦使用,還有一種是利用單片機串口動態(tài)掃描的led顯示電路,本站 將一一介紹。
1.單片機串口led顯示電路
單片機并行I/O口數(shù)量總是有限的,有時并行口需作其他更重要的用途,一般也不會用數(shù)量眾多的并行I/O口專門用來驅(qū)動顯示電路,能否用80C51的串行通信口加上少量I/O及擴展芯片用于顯示電路呢?答案是肯定的。
80C51的串行通信口是一個功能強大的通信口,而且是相當(dāng)好用的通信口,用于顯示驅(qū)動電路再合適不過了,下面我們就根據(jù)這種需要設(shè)計一個用兩個串行通信口線加上兩根普通I/O口,設(shè)計一個4位LED顯示電路。當(dāng)然只要再加上兩根I/O口線即可輕易實現(xiàn)8位LED的顯示電路。 左圖是電原理圖,我們還是采用C2051單片機,同時用廉價易得的74LS164和74LS138作為擴展芯片74LS164是一個8位串入并出的移位寄存器,其此處的功能是將C2051串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動LED數(shù)碼管。74LS138是一個3-8譯碼器,它將單片機輸出的地址信號譯碼后動態(tài)驅(qū)動相應(yīng)的LED。但74LS138電流驅(qū)動能力較小,為此,我們使用了未級驅(qū)動三極管2SA1015作為地址驅(qū)動。 將4只LED的段位都連在一起,它們的公共端則由74LS138分時選通,這樣任何一個時刻,都只有一位LED在點亮,也即動態(tài)掃描顯示方式,其優(yōu)點在上一節(jié)中我們已經(jīng)闡述。使用串行口進(jìn)行LED通信,程序編寫相當(dāng)簡單,用戶只需將需顯示的數(shù)據(jù)直接送串口發(fā)送緩沖器,等待串行中斷即可,看看下面的程序
· 程序清單
---------------------------單片機led顯示電路2(并口)----------------------------------------------------------------------
下面還介紹了一種利用89C52單片機的一個并行口實現(xiàn)多個LED數(shù)碼管顯示的簡單方法,給出了利用此方法設(shè)計的多路LED顯示系統(tǒng)的硬件電路結(jié)構(gòu)原理圖和軟件程序流程,同時給出了采用MCS-51匯編語言編寫的具體程序。
在單片機應(yīng)用系統(tǒng)中,普遍使用成本低廉、配置靈活的數(shù)碼管(LED)做顯示器。常用的為4~8位八段LED數(shù)碼管顯示器,即需要4~8個LED數(shù)碼管。實現(xiàn)這種顯示的方法很多,但是,必須采用相應(yīng)的措施才能實現(xiàn)多個LED的顯示。本文介紹了一種設(shè)計方法,利用該方法設(shè)計的多路LED數(shù)碼管顯示系統(tǒng)具有硬件設(shè)備簡單,可移植性好,成本低廉的特點,在各種儀表顯示系統(tǒng)中應(yīng)用效果良好。
1 硬件電路
多位LED顯示時,常將所有位的段選線并聯(lián)在一起,由一個8位I/O口控制,而共陰極點或共陽極點分別由另一個8位I/O口控制;也可采用并行擴展口構(gòu)成顯示電路,通常,需要擴展器件管腳的較多,價格較高。本文將介紹一種利用單片機的一個并行I/O口實現(xiàn)多個LED顯示的簡單方法,圖1所示是該電路的硬件原理圖。其中,74LS138是3線-8線譯碼器,74LS164是8位并行輸出門控串行輸入移位寄存器,LED采用L05F型共陰極數(shù)碼管。
顯示時,其顯示數(shù)據(jù)以串行方式從89C52的P12口輸出送往移位寄存器74LS164的A、B端,然后將變成的并行數(shù)據(jù)從輸出端Q0~Q7輸出,以控制開關(guān)管WT1~WT8的集電極,然后再將輸出的LED段選碼同時送往數(shù)碼管LED1~LED8。位選碼由89C52的P14~P16口輸出并經(jīng)譯碼器74LS138送往開關(guān)管Y1~Y8的基極,以對數(shù)碼管LED1~LED8進(jìn)行位選控制,這樣,8個數(shù)碼管便以100ms的時間間隔輪流顯示。由于人眼的殘留效應(yīng),這8個數(shù)碼管看上去幾乎是同時顯示。
2 軟件編程
該系統(tǒng)的軟件編程采用MCS-51系列單片機匯編語言完成,并把顯示程序作為一個子程序,從而使主程序?qū)ζ溥M(jìn)行方便的調(diào)用。圖2所示是其流程圖。具體的程序編碼如下:
3 結(jié)束語
該設(shè)計方法已多次應(yīng)用于學(xué)生試驗單片機led顯示電路和多種儀器顯示系統(tǒng)中。只要將該顯示程序調(diào)入其它主程序中,即可完成顯示功能。經(jīng)過多次使用證明:該方法可移植性好、實用性強。