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