多位LED顯示硬件電路設(shè)計詳解
總體構(gòu)成
本測量儀的信號采樣通過P0口的八根輸入線可接受八路經(jīng)過整形后的標準TTL電平,因此可測量不同傳感器傳來的脈沖型物位采樣信號,只要在原始信號基礎(chǔ)上加以整形處理即可,每來一個脈沖均被P0口捕捉到并可以通過軟件編制使脈沖計數(shù)增一,定時讀取計數(shù)和便可以換算成相應(yīng)的物位情況。通過P3.3~P3.5 三條線與串行顯示驅(qū)動器Max7219的連接加以軟件編程可完成八位數(shù)碼管顯示驅(qū)動,利用P1.3~P1.6四條口線接入四個按鍵,完成按鍵操作,利用 P2口作為八路輸出控制,可驅(qū)動八路固態(tài)繼電器。具體組成見圖1。
圖1
硬件線路設(shè)計
AT89C52 芯片是基于MCS-51結(jié)構(gòu)的高集成度8位微控制器,其主要特性是具有一個用于多處理器通訊的增強型串口和一個增/減定時器計數(shù)器,專門適用于控制應(yīng)用。選用89C52的另外一個重要原因就是在芯片上實現(xiàn)了256字節(jié)的RAM,高端128字節(jié)的地址和特殊功能寄存器(SFR)的地址相同,但可以通過不同尋址方式區(qū)分,因此解決了測量儀的軟件編程所用的RAM空間,不必再另外擴展隨機存儲器,節(jié)約了硬件資源。
串行顯示設(shè)計
多位LED顯示時,常將所有位的段選線并聯(lián)在一起,由一個8位I/O口控制,也可采用并行擴展口構(gòu)成顯示電路,通常,需要擴展器件管腳的較多,價格較高。在本測量儀中,為了節(jié)約I/O口資源,采用了由Max7219芯片構(gòu)成的串行顯示方式。Max7219是串行輸入,輸出共陰極顯示驅(qū)動電路,可直接與單片機的3條I/O線接口,特別適用于I/O口線少的系統(tǒng),并且可以程序控制數(shù)碼管的亮度。在本設(shè)計中,采用P3.3~P3.4三條線經(jīng)74LS273鎖存后與Max7219相連接,P3.3、P3.4鎖存后分別作為7219串行數(shù)據(jù)輸入信號DIN和時鐘信號 CLK,P3.5輸出口鎖存作為LOAD信號。具體硬件線路圖見圖2。
軟件計數(shù)器的設(shè)計
在物位測量儀表中,當傳感器書送來的信號為脈沖量時,通常需要通過專門計數(shù)器芯片如8254等來完成脈沖的計數(shù),CPU將此變化的計數(shù)信號處理后使傳感器送來的脈沖的個數(shù)與物位信號相對應(yīng)。而在本設(shè)計中,巧妙利用了89C52的P0口資源,將脈沖量整形后直接送至P0口的8條數(shù)據(jù)線,此時P0口作為數(shù)據(jù)輸入口使用。通過軟件設(shè)計,每路開辟存貯單元(利用片內(nèi)RAM),當P0口有電平跳變時,相應(yīng)的計數(shù)單元計數(shù)加1,通過軟件設(shè)置定時器,當定時時間到時,讀取存儲單元數(shù)值并清零,這樣就完成了軟件計數(shù)器的功能,節(jié)約了硬件資源,降低了硬件成本。
本設(shè)計的創(chuàng)新點在于充分利用了AT89C52的硬件資源,實現(xiàn)了軟件計數(shù)器,能夠?qū)γ}沖量信號所反映的物位信號通過數(shù)碼管來顯示,顯示部分的處理采用Max7219顯示驅(qū)動器,與軟件編程相結(jié)合,大大節(jié)約了硬件資源,減少了通用的單片機擴展芯片,降低了成本。