串行口動態(tài)掃描顯示電路編程實(shí)例
單片機(jī)并行I/O口數(shù)量總是有限的,有時并行口需作其他更重要的用途,一般也不會用數(shù)量眾多的并行I/O口專門用來驅(qū)動顯示電路,能否用80C51的串行通信口加上少量I/O及擴(kuò)展芯片用于顯示電路呢?答案是肯定的。
80C51的串行通信口是一個功能強(qiáng)大的通信口,而且是相當(dāng)好用的通信口,用于顯示驅(qū)動電路再合適不過了,下面就根據(jù)這種需要設(shè)計一個用兩個串行通信口線加上兩根普通I/O口,設(shè)計一個4位LED顯示電路。當(dāng)然只要再加上兩根I/O口線即可輕易實(shí)現(xiàn)8位LED的顯示電路。
圖4 串行動態(tài)LED掃描電路
圖4中采用C2051單片機(jī),同時用廉價易得的74LS164和74LS138作為擴(kuò)展芯片。74LS164是一個8位串入并出的移位寄存器,其此處的功能是將C2051串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動LED數(shù)碼管。74LS138是一個3-8譯碼器,它將單片機(jī)輸出的地址信號譯碼后動態(tài)驅(qū)動相應(yīng)的LED。但74LS138電流驅(qū)動能力較小,為此,電路使用了未級驅(qū)動三極管2SA1015作為地址驅(qū)動。
將4只LED的段位都連在一起,它們的公共端則由74LS138分時選通,這樣任何一個時刻,都只有一位LED在點(diǎn)亮,也即動態(tài)掃描顯示方式。使用串行口進(jìn)行LED通信,程序編寫相當(dāng)簡單,用戶只需將需顯示的數(shù)據(jù)直接送串口發(fā)送緩沖器,等待串行中斷即可,看看下面的程序。 · 程序清單
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論