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