單片機89C52并行I/O口實(shí)現多個(gè)LED顯示
1 硬件電路
多位LED顯示時(shí),常將所有位的段選線(xiàn)并聯(lián)在一起,由一個(gè)8位I/O口控制,而共陰極點(diǎn)或共陽(yáng)極點(diǎn)分別由另一個(gè)8位I/O口控制;也可采用并行擴展口構成顯示電路,通常,需要擴展器件管腳的較多,價(jià)格較高。本文將介紹一種利用單片機的一個(gè)并行I/O口實(shí)現多個(gè)LED顯示的簡(jiǎn)單方法,圖1所示是該電路的硬件原理圖。其中,74LS138是3線(xiàn)-8線(xiàn)譯碼器,74LS164是8位并行輸出門(mén)控串行輸入移位寄存器,LED采用L05F型共陰極數碼管。
顯示時(shí),其顯示數據以串行方式從89C52的P12口輸出送往移位寄存器74LS164的A、B端,然后將變成的并行數據從輸出端Q0~Q7輸出,以控制開(kāi)關(guān)管WT1~WT8的集電極,然后再將輸出的LED段選碼同時(shí)送往數碼管LED1~LED8。位選碼由89C52的P14~P16口輸出并經(jīng)譯碼器74LS138送往開(kāi)關(guān)管Y1~Y8的基極,以對數碼管LED1~LED8進(jìn)行位選控制,這樣,8個(gè)數碼管便以100ms的時(shí)間間隔輪流顯示。由于人眼的殘留效應,這8個(gè)數碼管看上去幾乎是同時(shí)顯示。
2 軟件編程
該系統的軟件編程采用MCS-51系列單片機匯編語(yǔ)言完成,并把顯示程序作為一個(gè)子程序,從而使主程序對其進(jìn)行方便的調用。圖2所示是其流程圖。具體的程序編碼如下:
3 結束語(yǔ)
該設計方法已多次應用于學(xué)生單片機實(shí)驗的顯示電路和多種儀器顯示系統中。只要將該顯示程序調入其它主程序中,即可完成顯示功能。經(jīng)過(guò)多次使用證明:該方法可移植性好、實(shí)用性強。
評論