基于Cortex-M0的USB密码键盘设计
4 软件设计
4.1 USB接口程序
Nuvoton公司为NUC120系列CPU提供了所有外设的驱动库函数,并在USB应用方面提供了大量的例程。
本方案的两套软件分别参照Smpl_HID和Smpl_VCOM设计,大大缩短了开发时间。库函数提供的例程如图3所示。
4.2 键盘扫描程序
键盘扫描采用定时器0,设置定时器0为每1 ms中断一次来判断是否有按键。键盘扫描程序流程如图4所示。长按不连续输出,同一个按键,必须按下、抬起才有效。读者可以根据自己系统的实际要求进行修改。键盘防抖处理可以根据自己的键盘类型来设置具体的时间(本方案是10ms)。
结语
本方案采用基于ARM cortex-M0内核的NUC120系列微控制器,并且有很大的扩展性,可以方便地连接液晶、语音芯片;由于内核主频最高可达50 MHz,能够实现3DES加/解密等对于8位机来说较复杂的运算功能,具有很高的性价比。
DIY机械键盘相关社区:机械键盘DIY
评论