7.4 管理功能部件的扩展技术 2)矩阵式键盘的识别 第一步,判断有无键按下:从列线输出口输出全为0(称为全扫描字),然后读入行线输入口的状态,如果没有键按下,行线输入全部为高电平,若有某个键按下,行线输入为非全1状态,肯定有0的行线; 第二步,判断哪个键按下:在有键按下后,从列线输出口逐列输出0(称为列扫描字)进行扫描。列扫描字是对要扫描的列输出0,其他列输出1 。 7.4 管理功能部件的扩展技术 3)矩阵式键盘的编码 矩阵式键盘中,按键的位置由行号和列号唯一确定,这个编码称为键值 4)矩阵式键盘的硬件接口方式 7.4 管理功能部件的扩展技术 5)键盘的工作方式 (1)编程扫描方式 7.4 管理功能部件的扩展技术 例7-11 图7-29是用8255A组成的4×8矩阵式键盘,共32个键。8255A的PA口作输出口接键盘的列线,输出列扫描信号,PC口的低四位作输入口接行线,获得键盘的按键信息,其I/O口只作基本输入/输出口用。试写出键盘扫描子程序。 7.4 管理功能部件的扩展技术 7.4 管理功能部件的扩展技术 解:(1)判断有无键按下:PA口输出全扫描字00H,读PC口状态,若PC3~PC0全为1,则无键按下;若不全为1,则有键按下; (2)按键去抖动:在判断有键按下后,调用一个延时10ms左右的延时子程序,然后再读入PC
原创力文档

文档评论(0)