0 引言
在智能儀表中,經(jīng)常會用到鍵盤、數(shù)碼管等外設(shè)。因此,一個穩(wěn)定、占用系統(tǒng)資源少的人機對話通道設(shè)計非常重要。傳統(tǒng)的鍵盤與數(shù)碼管解決方案,由于鍵盤與數(shù)碼管是分離的,因而電路連接比較復(fù)雜,不管是獨立式鍵盤還是矩陣式鍵盤,都會浪費微控制器的端口資源,而且都需要人為進(jìn)行去抖動處理,且抗干擾性差。而數(shù)碼管部分,不管是靜態(tài)顯示方式還是動態(tài)顯示方式,在不進(jìn)行鎖存器擴展的前提下。仍然要占用8根I/O端口線,這將嚴(yán)重浪費系統(tǒng)的端口資源。
ZLG7290可完全克服上述弊端。它采用I2C總線接口,與微控制器的連接僅需兩根信號線,硬件電路比較簡單。而且可以管理多達(dá)64只獨立的數(shù)碼管、64只獨立按鍵,并可提供自動消除抖動、連擊鍵計數(shù)等功能。這對于傳統(tǒng)的鍵盤與數(shù)碼管解決方案,無疑是不可想象的。強大的功能,豐富的資源,良好的接口,使得ZLG7290比傳統(tǒng)的鍵盤與數(shù)碼管解決方案且有更大的優(yōu)越性。因此,在現(xiàn)代智能儀表的設(shè)計中,通過ZLG7290可為系統(tǒng)設(shè)計工程師設(shè)計出良好的人機對話通道,從而提供了一種理想的解決方案。
1 ZLG7290的工作原理
ZLG7290的核心是一塊ZLG7290B芯片,它采用I2C接口,能直接驅(qū)動8位共陰式數(shù)碼管,同時可掃描管理多達(dá)64只按鍵,實現(xiàn)人機對話的功能資源十分豐富。除具有自動消除抖動功能外,它還具有段閃爍、段點亮、段熄滅、功能鍵、連擊鍵計數(shù)等強大功能,并可提供10種數(shù)字和21種字母的譯碼顯示功能,用戶可以直接向顯示緩存寫入顯示數(shù)據(jù),而且無需外接元件即可直接驅(qū)動數(shù)碼管,還可擴展驅(qū)動電壓和電流。此外,ZLG7290B的電路簡單,使用也很方便。
用戶按下某個鍵時,ZLG7290的INT引腳會產(chǎn)生一個低電平的中斷請求信號,讀取鍵值后,中斷信號就會自動撤銷。正常情況下,微控制器只需要判斷INT引腳就可以得到鍵盤輸入的信息。微控制器可通過兩種方式得到用戶的鍵盤輸入信息。其一是中斷方式,該方式的優(yōu)點是抗干擾能力強,缺點是要占用微控制器的一個外部中斷源。其二是查詢方式,即通過不斷查詢INT引腳來判斷是否有鍵按下,該方式可以節(jié)省微控制器的一根I/O口線,但是代價是I2C總線處于頻繁的活動狀態(tài),消耗電流多并且不利于抗干擾。
2基于ZLG7290的無功補償控制器設(shè)計
由于采用了I2C總線接口,因而用ZLG7290與微控制器設(shè)計電力儀表的硬件電路連接非常簡單。它只需要兩根信號線(一根數(shù)據(jù)線SDA,一根時鐘信號線SCL)。但應(yīng)注意進(jìn)行I2C通信的雙方要共地,并應(yīng)用,INT傳遞鍵盤中斷信號。微控制器通過RST可以將ZLG7290復(fù)位。圖1是以電力系統(tǒng)中廣泛使用的低壓無功補償控制器的設(shè)計為實例,給出的ZLG7290的硬件連接電路圖。
本系統(tǒng)用ZLG7290與微控制器來構(gòu)成I2C總線通信系統(tǒng),SCT89C55本身雖沒有I2C總線控制器,但采用模擬I2C總線仍可進(jìn)行I2C總線通信。
低壓無功補償控制器的人機對話通道輸出中需要顯示的參數(shù)有電壓、電流、功率、功率因數(shù)、上限、下限、電容值、回路數(shù)、ABC三相等等,設(shè)計時可以分別用U、I、P、PF、-、-、C、LOOP、ABC等表示。ZLG7290可以顯示的值有0~9、0.、A、b、C、d、E、F、H、I、J、L、g、O、P、U、t、y、c、r、o,只要合理編碼,就可以滿足設(shè)備的顯示需求。本低壓無功補償控制器中的鍵盤有三種狀態(tài):一是菜單設(shè)置狀態(tài),可用變量menu_set表征,用戶可以觀察以前設(shè)置的一些參數(shù);二是手動電容投切狀態(tài),可用變量cap_set表征,用戶可以直接手動控制電容的投或切;三是參數(shù)設(shè)置狀態(tài),可用變量pra_set表征,用戶可以對參數(shù)進(jìn)行設(shè)置,且加減的步長可由用戶設(shè)定。這三個變量的組合幾乎可以涵蓋低壓無功補償控制器中鍵盤和數(shù)碼管的所有可能情況。程序流程圖中。這三個變量分別簡記為:m_set、c_set、p_set。圖2是其軟件程序流程圖。
[$page] 限于篇幅,本文僅給出模擬I2C總線引腳、部分初始化和鍵盤處理等三部分程序:
在人機對話通道的設(shè)計中。如果用戶還要完成更多、更復(fù)雜的功能(如分更多級單,進(jìn)行更多級的參數(shù)設(shè)置,顯示更多級參數(shù),菜單循環(huán)顯示,更多按鍵功能等),只需要再定義幾個狀態(tài)變量即可按照本文程序設(shè)計的思想來實現(xiàn)。簡言之,ZLG7290幾乎涵蓋了所有鍵盤與數(shù)碼管的解決方案,系統(tǒng)設(shè)計工