44矩阵键盘制作电路+键盘扫描法89c52c程序驱动数码管
2024-01-19 11:341.CPU先使行线为低,其余行线.CPU读入输入缓冲器的状态,以确定哪条列线,则E键按下
3.若输入缓冲器(列线行没有键盘按下,CPU急继续使P1.1为0,其余行线为高,再读入输入缓冲器的状态,以确定哪条列线,从而判断是哪个键盘按下
比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设為VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因為这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即為扫描原理。
Step 1:将列线作为输出线,行线作为输入线,此时行线的为按键所在行,如果全部都不是0,则没有按键按下。
Step 2:将第一步反过来,即将行线作为输出线,列线作为输入线,此时列线呈低电平的为按键所在的列。这样,就可以确定了按键的位置(X,Y)。
当然还要注意软件去抖动,另外此法需要在行线上上拉电阻,就是焊接电路中的四个电阻。
从第一行开始一次是1,2,3,4,5,6,7,8,9,H,F,L,-,后三位为关数码管,当然显示什么呢自己可以随意的修改,为以后的扩展使用。
if((P1&0xf0)!=0xf0)//判断是否有有键按下(读取列的线),有往下执行
无线传输模块,就可以短距离相互发短信,免费的哦,很有创意把,将学校的情侣间推销一下说不定很有市场前景呢,吼吼~~组合机构叶片进口半径离心应力