[SIZE=4]与平时的矩阵键盘扫描方法基本相似,[/SIZE][LINE-HEIGHT=150%][FACE=宋体][SIZE=12pt]扫描按键识别的过程如下。[/SIZE][/FACE][/LINE-HEIGHT][P][LINE-HEIGHT=150%][LINE-HEIGHT=150%][FACE=宋体][SIZE=12pt] [/SIZE][/FACE][/LINE-HEIGHT]1)、判断键盘中是否有按键按下。将I/O口输出0xf0,然后读I/O口状态。只要读回值不等于0xf0,则说明有键按下并且保存读回值(实际编程时,还要考虑按键的消抖)。如读回值等于0xf0,则表示无键按下。[/LINE-HEIGHT][/P][P][LINE-HEIGHT=150%][LINE-HEIGHT=150%][FACE=宋体][SIZE=12pt] [/SIZE][/FACE][/LINE-HEIGHT]2)、判断闭合键所在位置。在确认有键按下后,即可进入确定具体哪个键按下的过程。其思路是:将I/O口输出0x0f,然后读I/O口状态并且保存读会值,将两次的读回值相或就得到闭合按键的位置。[/LINE-HEIGHT][/P][P][LINE-HEIGHT=150%][LINE-HEIGHT=150%][FACE=宋体][SIZE=12pt] 所谓“反转扫描”是根据扫描按键时,按键所在I/O口输出值由0xf0转为0x0f而得名。[/SIZE][/FACE][/LINE-HEIGHT][/LINE-HEIGHT][/P]