1、键盘模块电路 胡勇Huyonggo 设计目的和任务 设计任务 设计一个具有16种逻辑状态的键盘以及相应的外围驱动电路 功能指标 键盘正常为开路状态 压下时为闭合状态 应具有防抖功能 方法不限 设计要求 所设计键盘模块应满足系统设计要求 并能与整个系统有机结合 4X4键盘框图 4X4键盘 8155 单片机 列线 行线 数据位 控制位 PA口 PC口 4X4键盘原理图 键盘的列线SS1 SS4分别接8155的PA0 PA3口键盘的行线SS11 SS44分别接8155的PC0 PC3口 试验箱管脚定义 4X4键盘模块 扫描法键盘软件设计 第一步 判断有无键被按下 第二步 如果有键按下 识别出具体的按
2、键 第三步 计算出闭合键的键号第四步 键值处理 键盘识别流程图 开始 调用键盘扫描程序 有键闭合 调用防抖动子程序 确定是否有键闭合 计算键值并等待键释放 键释放 键值处理 结束 Y N Y Y N N 键盘扫描子程序 VoidKey scan void ucharaa bb ucharkey 16 for aa 0 aa 4 aa Row IN Row Value aa bb Line IN bb KEY Data table key 判断按键是否按下子程序 ucharKEY DOWN void ucharvalue1 0 value2 0 Row IN 0 x00 value1 Line
3、IN if value1 键值处理 IntKey process intn switch n case0 x00 M 0 x01 break case0 x01 M 0 x02 break case0 x02 M 0 x03 break case0 x03 M 0 x04 break case0 x04 M 0 x05 break case0 x05 M 0 x06 break case0 x06 M 0 x07 break case0 x07 M 0 x08 break case0 x08 M 0 x09 break case0 x09 M 0 x0a break case0 x0a M 0 x0b break case0 x0b M 0 x0c break case0 x0c M 0 x0d break case0 x0d M 0 x0e break case0 x0e M 0 x0r break case0 x0f M 0 x0f break return M 设计调试步骤 把电源模块 CPU模块 键盘模块 LED模块 串口通信模块插在正确的位置上 并把跳帽进行正确短接 建立keil工程 编辑 编译源代码并生成可下载的hex文件连接串口 通过串口使用STC ISP软件下载hex文件 观察led显示 直到正确显示