扫描P10行
发布时间:2014/6/9 22:03:12 访问次数:685
1.扫描P10行
(1)将P10—P13输出为0、1、1、1(相当于只有Pl0行有效)。.
(2)读P14~P17这4个输入口的电平。AVR-M1005C080MTACB如果SO~S3都没被按下,则因为P14—P17都是上拉到VCC,所以都为高;如果有一个被按下,如是Sl,则因Pl0输出为低,所以Sl开关导通后P16应为低;如果有两个按下,如是Sl、S2,则P15与P16应为低。
(3)根据P14-P17的电平即可得知SO~S3中共有几个按键被按下。
2.扫描Pll行
(1)将P10~P13输出为1、0、1、1(相当于只有Pll行有效)。
(2)读P14*-P17这4个输入口的电平。如果S4~S7都没被按下,则因为P14~P17都是上拉到VCC,所以都为高;如果有一个被按下,如是S5,则因Pl0输出为低,所以S5开关导通后P16应为低;如果有两个按下,如是S5、S6,则P15与P16应为低。
(3)根据P14~P17的电平即可得知S4~S7中共有几个按键被按下。
3.扫描P12行
将P10~P13输出为1、1、O、1(相当于只有P12行有效),其他步骤同Pl0、Pll类似。
4.扫描P13行
将P10~P13输出为l、1、1、0(相当于只有P13行有效),其他步骤同Pl0、Pll类似。
通过这4行的扫描,即可确定SO~S15这16个按键的当前状态,如表7-2所示。
表7-2 电平动作键盘动作分析表
1.扫描P10行
(1)将P10—P13输出为0、1、1、1(相当于只有Pl0行有效)。.
(2)读P14~P17这4个输入口的电平。AVR-M1005C080MTACB如果SO~S3都没被按下,则因为P14—P17都是上拉到VCC,所以都为高;如果有一个被按下,如是Sl,则因Pl0输出为低,所以Sl开关导通后P16应为低;如果有两个按下,如是Sl、S2,则P15与P16应为低。
(3)根据P14-P17的电平即可得知SO~S3中共有几个按键被按下。
2.扫描Pll行
(1)将P10~P13输出为1、0、1、1(相当于只有Pll行有效)。
(2)读P14*-P17这4个输入口的电平。如果S4~S7都没被按下,则因为P14~P17都是上拉到VCC,所以都为高;如果有一个被按下,如是S5,则因Pl0输出为低,所以S5开关导通后P16应为低;如果有两个按下,如是S5、S6,则P15与P16应为低。
(3)根据P14~P17的电平即可得知S4~S7中共有几个按键被按下。
3.扫描P12行
将P10~P13输出为1、1、O、1(相当于只有P12行有效),其他步骤同Pl0、Pll类似。
4.扫描P13行
将P10~P13输出为l、1、1、0(相当于只有P13行有效),其他步骤同Pl0、Pll类似。
通过这4行的扫描,即可确定SO~S15这16个按键的当前状态,如表7-2所示。
表7-2 电平动作键盘动作分析表