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