基于Cortex-M0的USB密碼鍵盤設(shè)計
4 軟件設(shè)計
4.1 USB接口程序
Nuvoton公司為NUC120系列CPU提供了所有外設(shè)的驅(qū)動庫函數(shù),并在USB應(yīng)用方面提供了大量的例程。
本方案的兩套軟件分別參照Smpl_HID和Smpl_VCOM設(shè)計,大大縮短了開發(fā)時間。庫函數(shù)提供的例程如圖3所示。
4.2 鍵盤掃描程序
鍵盤掃描采用定時器0,設(shè)置定時器0為每1 ms中斷一次來判斷是否有按鍵。鍵盤掃描程序流程如圖4所示。長按不連續(xù)輸出,同一個按鍵,必須按下、抬起才有效。讀者可以根據(jù)自己系統(tǒng)的實(shí)際要求進(jìn)行修改。鍵盤防抖處理可以根據(jù)自己的鍵盤類型來設(shè)置具體的時間(本方案是10ms)。
結(jié)語
本方案采用基于ARM cortex-M0內(nèi)核的NUC120系列微控制器,并且有很大的擴(kuò)展性,可以方便地連接液晶、語音芯片;由于內(nèi)核主頻最高可達(dá)50 MHz,能夠?qū)崿F(xiàn)3DES加/解密等對于8位機(jī)來說較復(fù)雜的運(yùn)算功能,具有很高的性價比。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論