号。(2)线反转法。线反转法也是识别闭合键的一种常用方法该法比行扫描速度快但在硬件上要求行线与列线外接上拉电阻。先将行线作为输出线列线作为输入线行线输出全“0”信号读入列线的值那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为0。这样当一个键被按下时必定可读到一对唯一的行列值。再由这一对行列值可以求出闭合键所在的位置。(1)硬件消抖法:就是在键盘中附加去抖动电路,从根上消除抖动产生的可能性。右图所示电路实际上是由RS触发器构成的单脉冲电路。当按钮开关按下时Q端输出低电平,当开关松开时Q端恢复高电平,即输出一个负脉冲,以此消除抖动。
(2)软件消抖法:键按下的时间与操作者的按键动作有关,约为十分之几到几秒不等。而键抖动时间与按键的机械特性有关,一般为5~10ms不等。软件消抖法即是采用延时(一般延时10~20ms)的方法,以避开按键的抖动,即在按键已稳定地闭合或断开时才读出其状态。
f3计算键码键码是每个按键的标识。被按键确定下来之后,接下来的工作是计算闭合键的键码,然后才能根据键码进行对应的操作。为编程方便,键码通常都是以键的排列顺序安排,按照从左到右、从上向下的顺序编排。键码可根据行号列号以查表求得,也可通过计算得到。我们将结合实例加以介绍。键盘接口的控制方式在单片机的运行过程中,何时进行键盘扫描和处理,可有下列三种情况:1查询方式:单片机通过调用键盘扫描子程序,查询有无键按下。2定时扫描方式:每隔一定时间执行一次键盘扫描子程序。3中断方式:每当有键闭合时才向CPU发出中断请求,中断服务时进行键盘扫描和处理。
AT89S52单片机内部结构简图
AT89S52的引脚
fVccGND正电源端与接地端(5VXTAL1XTAL2片内振荡电路输入、输出端CPU都是按照一定的时钟节拍与时序进行工作:时钟周期:Tc晶振频率fosc的倒数机器周期:Tm12个时钟周期Tc指令周期Ti执行一条指令所需的机器周期Tm数例:晶振频率是12M时一个机器周期需要多长时间?Tc1fosc112MhzTm12XTc12X112Mhz1usVccGND电源端(5VXTAL1XTAL2片内振荡电路输入、输出端RESET复位端(正脉冲有效,宽度10mS)
fEAVpp寻址外部ROM控制端编程电源输入端。低有效,片内无ROM时必须接地;片内有ROM时应当接高电平;
fr