AVR单片机的I/O口有4个状态(输出0,输出1,内部电阻拉高(输入),高阻态)。如上图所示当IO1为输入(内部电阻拉高)、IO2输出低电平、其它IO口为高阻态时,若单片机检测到IO1被拉低,根据二极管单向导通原理,可以判断S11被按下。同理,当IO2为输入(内部电阻拉高),IO1输出低电平,其它IO口为高阻态时,就可以通过检测IO2口的状态判断出S12是否被按下。其它按键可以用以上方法逐个检测出。
发布
daiqiumiao_806246054 2008-9-20 23:28