基于A(yíng)T89C2051串口的LED數碼管顯示電路
圖2(b)是通過(guò)串口擴展的并行輸入接口。同樣RXD作為數據輸入線(xiàn),TXD作為移位時(shí)鐘脈沖。每一個(gè)時(shí)鐘信號的上升沿加到74LS165的CP端時(shí),移位寄存器就將內部的數據向外移一位,通過(guò)Q7輸出。8個(gè)時(shí)鐘脈沖過(guò)后,并行輸入的8位二進(jìn)制數全部移出,通過(guò)Q7串行輸入。
基于串口的LED數碼管靜態(tài)顯示電路本文引用地址:http://dyxdggzs.com/article/169366.htm
在串口擴展中最常用的就是基于串口的LED數碼管顯示電路。在單片機應用系統中,LED數碼管的顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數據時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機中CPU的開(kāi)銷(xiāo)小??梢蕴峁﹩为氭i存的I/O接口電路很多,常用的就是通過(guò)串口外接串并轉換器74LS164,擴展并行的I/O口。需要幾個(gè)數碼管就擴展幾個(gè)并行接口,數碼管直接接在74LS164的輸出腳上,單片機通過(guò)串口將要顯示數據的字形碼逐一的串行移出至74LS164的輸出腳上數碼管就可以顯示相應的數字。
如圖3所示:
1. 硬件設計
單片機AT89C2051的串口外接1片74LS164作為L(cháng)ED顯示器的靜態(tài)顯示接口,把AT89C2051的RXD作為數據輸出線(xiàn),TXD作為移位時(shí)鐘脈沖。Q0-Q7(第3―6和10―13引腳)并行輸出端分別接LED顯示器的DP---A各段對應的引腳上。圖中采用的是共陰極數碼管,因而各數碼管的公共極接電源GND,要顯示某字段則相應的移位寄存器74LS164的輸出線(xiàn)必須是高電平。P1口接8個(gè)按鍵,分別編號為KEY1--KEY8。當某個(gè)按鍵按下時(shí)。某個(gè)數就顯示在數碼管上。
2. 軟件設計
軟件設計流程圖如圖4所示。圖(a)為主程序流程圖,圖(b)為顯示子程序流程圖。
開(kāi)機時(shí),初始化數碼管,通過(guò)串口將“0”的字形碼輸出使數碼管顯示“O”。然后判斷P1口是否有鍵按下,如果沒(méi)鍵按下繼續判斷。
當確認有鍵按下后單片機將P1口的值賦給累加器A,由于按鍵沒(méi)被按下時(shí)是低電平,被按下后為高電平因此判斷A中哪一位為高電平就能得出哪個(gè)按鍵被按下。將此按鍵的編號讀入顯示緩沖區65H中,然后調用顯示子程序將按鍵編碼顯示在數碼管上。這樣程序就完成了一次的執行過(guò)程。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論