单片机键盘接口技术

时间:2023-03-11作者:佚名

1.键盘接口电路

单片机的键盘接口电路有多种形式,最常用的是键盘扫描电路,如图8-17所示。图8-17中的键盘扫描电路是由3根行线与8根列线组成。3根行线的左边接8155的PC口的3个引脚PC.0、PC.1、PC.2,右边通过5K电阻接5V电源。8根列线通过反相器接8155B口(即位选口,地址为FF22H)。在行线与列线的交叉处设置一个按键,因此该单片机的键盘由3×8=24个按键组成。倒数第一、二行共16个数字键(0~F),第三行为8个功能键。从8155B口输出8位低电平给8根列线d0~d7,若某行有键按下,则该行与列线接通为低电平。若某行无键按下,则该行保持高电平。由此可见,测试PC.0、PC.1、PC.2的状态就可以知道有无键按下,此外通过扫描方式可取出按键的键值。按键键值:0~F为数字键键值,10H~17H为功能键键值。

2.键盘扫描程序

(1)入口地址:KEY-SCAN,

(2)作用:判有无键按下

(3)出口状态:(A)=0 表示无键按下,

(A)≠0 表示有键按下。

(4)源程序

单片机键盘接口技术

3.取键值程序

(1)名称与入口地址:KEY-GET 。

(2)作用:取按键键值。

(3)使用寄存器:A、R2、R4。

(4)出口状态:(A)=按键键值,0~F为数字键,10H~17H为功能键。

(5)程序设计基本思想

①调用键盘扫描程序判有无键按下,若无键按下则继续判断,若有键按下则取按键键值。在介绍取按键键值的方法之前先介绍列扫描码的概念。

②列扫描码

列扫描码共8位,其中有1位为0 ,其它各位为1,初始值为11111110,该初始值存放在R2中,如图8-27所示,0所在列的列号j存放在R4中,当第j 列有键按下时,按键所在行为低电平0,通过查行值是否为0,可确定按键的行号与列号,并据此算出按键键值。因此列扫描码的作用是确定第几列有键按下。

③送列扫描码

列扫描码由R2通过累加器A传送给8155B口,并由8155B口输出给键盘电路的8根列线。8根列线中,第j列为0,其余各列为1。

④取行值

从PC口的PC.0~PC.2读行信号,若读出的行值均为1,说明第j列无键按下,将R2中的扫描码左移1位,并将列号j存储寄存器R4加1,转③重新送扫描码,查下一列有无键按下。若读出第i行的行值中为0,说明在第i行与第j列处有键按下,应计算键值。

⑤计算键值

若读出第i行为0 ,则说明第i行与第j列处有键按下,由扫描码中0所在列号j与行值为0的行号i可计算出按键键值:

键值= i×8 j。 (式中i=0~2,j=0~7)

例如:第0列与第0行处的按键按下,键值=0×8 0=0 ,即数字0键。

第0列与第1行处的按键按下,键值=1×8 0=8 ,即数字8键。

第0列与第2行处的按键按下,键值=2×8 0=10H。

由图8-27可看出,上述计算公式是完全正确的。

因为所取键值存放在累加器A中,列号j存放R4中,第i行为0可通过PC.i=0进行判断,所以按键键值计算公式可改为

单片机键盘接口技术

(6)流程图:如图8-29所示。

(7)源程序

单片机键盘接口技术

注意:在调用键盘程序的主程序中,必须将8155初始化为A、B口基本I/O输出方式,C口为基本输入方式。然后才能调用上面取键值程序。

思考题:如何使0~7键与8~F键的键值互换,即按0键时显示8,按8键时显示0等?提示:将取键程序KEY_GET中的指令①与②互换即可。

相关阅读

集电极开路电路的工作原理、输出接线图、优缺点

今天给大家分享的是:集电极开路电路、集电极开路晶体管电路、集电极开路工作原理、集电极开路TTL、集电极开路输出接线图、集电极开路优缺点。 在数字芯片设计、微控制器应用和...
2023-07-17
集电极开路电路的工作原理、输出接线图、优缺点

电流基础知识:电流的形成、方向和大小

有关电流的小知识,电流是怎么形成的,电荷有规则的定向移动形成电流,电流的方向与电子流动的方向正好相反,电流的大小等于通过导体横截面的电荷量与通过这些电荷量所用时间...
2023-06-26

关于配电网架空线路、电缆线路故障处理那些事

01 一般要求 故障处理应遵循保人身、保电网、保设备的原则,尽快查明故障地点和原因,消除故障根源,防止故障的扩大,及时恢复用户供电。 故障处理前,应采取措施防止行人接近...
2023-06-25
关于配电网架空线路、电缆线路故障处理那些事

【值得收藏】电感线圈及其应用

【免费下载】 电工仿真软件_电工学习手册_电工电子书 【免费学习】 PLC热门课程_PLC初级_PLC基础_PLC中高级_软件安装 【免费下载】 PLC软件下载_PLC软件安装教程_PLC手册下载_PLC案例下载...
2023-06-27

电线够粗功率不大,开关却频繁烧毁?根源都在这些细节里

干电工的都遇过这种费解的情况:电路布线时特意选了粗线径,带载设备的功率也完全在额定范围,可开关却接二连三被烧毁,换了新开关也撑不了多久,反复检修却找不出明显问题,成了不少电...
2026-04-18
电线够粗功率不大,开关却频繁烧毁?根源都在这些细节里

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

12V星空顶筒灯嵌入式阳台卧室客厅氛围迷你呼吸小射灯满天星天花

12V星空顶筒灯是一款专为营造浪漫氛围而设计的迷你嵌入式射灯,适用于阳台、卧室、客厅等空间。采用低功耗LED光源,安全节能,光线柔和均匀,支持呼吸模式与满天星效果,可...
¥ 7.65

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

O型圈氟橡胶圆条丁腈胶硅胶垫片防水O三元乙丙EPDM密封件骨架油封

O型圈、氟橡胶圆条、丁腈胶、硅胶垫片、三元乙丙(EPDM)密封件及骨架油封是广泛应用于机械、汽车、航空航天及建筑等领域的关键密封元件。氟橡胶耐高温、耐腐蚀,适用...
¥ 1

网站栏目