基于CY8C21534的通用操作面板解析方案
我們規定通訊協(xié)議如下:
寫(xiě)顯示數據
先寫(xiě)入地址(0xA2)。再依次寫(xiě)入顯示數據1~顯示數據8,蜂鳴器狀態(tài)字節按照IIC協(xié)議模式,依次寫(xiě)入上述10個(gè)字節即可。
顯示數據1~8分別對應COM1~8行,蜂鳴器狀態(tài)字節表示蜂鳴器是否鳴響,當最低位為1時(shí),蜂鳴器鳴響,為0時(shí)停止鳴響,其余的為保留備用。
讀按鍵狀態(tài)
先寫(xiě)入地址(0xA3),再依次讀出2個(gè)字節即可。
這部分程序的流程比較簡(jiǎn)單,屬于CY8C21534內部功能,基本思路為:
I2C 收到數據后會(huì )產(chǎn)生中斷,CY8C21534響應中斷后,判斷是寫(xiě)入顯示數據還是讀按鍵狀態(tài),如果是寫(xiě)數據,則讀出I2C數據接收寄存器值,寫(xiě)入對應顯示緩沖區Dis_buf[i]即可。全部接收完8個(gè)顯示數據,則把顯示緩沖區Dis_buf[i]的值轉入Dis_buf_out[i],供顯示掃描程序用。
如果是讀按鍵狀態(tài),則把按鍵狀態(tài)Key_buf[0]寫(xiě)入發(fā)送寄存器,I2C模塊自動(dòng)發(fā)出數據發(fā)送完一個(gè),再寫(xiě)入Key_buf[1]繼續發(fā)送。
應注意的幾個(gè)關(guān)鍵問(wèn)題
·按鍵掃描中要有去抖動(dòng)的過(guò)程,這個(gè)去抖動(dòng)一般以20~50毫秒為宜,另外去抖動(dòng)過(guò)程不僅在按鍵按下時(shí)要處理,按鍵抬起時(shí)最好也處理一下,這樣可以保證按鍵操作的可靠性。
·感應按鍵處理時(shí),CY8C21534提供了一個(gè)軟件模塊包,用來(lái)處理感應按鍵的功能,同時(shí)有利用P0(7)實(shí)現抗干擾的處理的功能,這樣可以屏蔽水流沖擊和手機的干擾。所以設計PCB時(shí),P0(7)要與通用操作面板的覆銅地通過(guò)電阻R143連接在一起。
·顯示掃描幀頻率要超過(guò)60HZ,這樣可以保證顯示無(wú)抖動(dòng),由于顯示亮度與掃描頻率和占空比有直接關(guān)系,占空比不變時(shí),幀頻率越高,亮度會(huì )越低,所以建議使用60HZ的幀頻率,沒(méi)有必要提高幀頻率。
結語(yǔ)
采用CY8C21534設計通用操作面板是非常方便也是非常簡(jiǎn)單的,而且操作面板還具有高可靠性的感應按鍵功能,這對提升產(chǎn)品性能和價(jià)值是非常有效的。
CY8C21534外圍電路非常簡(jiǎn)單,內部的許多功能都有標準的軟件模塊可以調用,所以軟件設計也非常簡(jiǎn)單,而且所附的仿真調試軟件支持C編譯,調試非常容易和方便,
本設計的基本思路應用于生產(chǎn)實(shí)踐中已經(jīng)帶來(lái)了非常好的效益。
蜂鳴器相關(guān)文章:蜂鳴器原理
評論