下面以51单片机归纳学习体系为硬件渠道,介绍矩阵式键盘的编程办法。详细功用为:按下其键后,在一位数码管上显现出键值。0到16个键别离对应显现0到F。
1、硬件原理
本试验能够直接在配套开发板上完结,电路图如下图所示。
依据电路原理图,键盘扫描办法是:行线P1O~P13为输出线,列线P14~P17为输入线。一开始单片机将行线(P1O-P13)悉数输出低电平,此刻读入列线数据,若列线全为高电平阐明没有键接下,若有列线为低电平则调用延时程序来去除按键颤动。延时后再读入列线看是否有低电平,假如列线数据仍是有低电平,阐明的确有键接下,接下来就是确认键值。下面以第二行的S5键为例,看接下S5后咱们应该怎样得到这个键值。当断定的确有键接下之后,将行线轮番置为低电平,依据读入列线的数据能够确认键值。首要,单片机将P1O置为低电平,P11~P13置为高电平,此刻读出的列线数据全为高电平,阐明榜首行没有键接下;接着单片机将P11输出低电平,P1O、P12、P13置为高电平,再读列线数据,此刻的列线数值为1011(OxOB),即P11与P15交叉点上的按键S5被接下,而OxOB就代表S5的键值了。转到S5键功用处理子程序就能够到达意图。
2.程序流程
软件流程图如下图所示。51单片机归纳学习体系资源丰富,板内有:8位LED数码管、32路LED、4×4矩阵键盘、4个直控按键盘、蜂鸣器喇叭、继电器试验、I2C总线接口、SPI总线接口、l60x液晶、l28x64液晶、红外接纳头接口、支撑PS/2接口的104键规范键盘、步进电机驱动接口、ADCO832模/数转化接口、PC817光电耦合器、串行时钟芯片DSl302、温度传感器DSl8B2O按口、RS232串口通讯、外扩展接口等,能够方便地接更多的试验资源。
3. 软件代码
相关的软件代码如下:
/* 矩阵键盘测验程序*/