找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

CT107D矩阵键盘,求助大神

查看数: 5273 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-1-14 17:34

正文摘要:

本人小白,刚开始学习单片机,但就卡在矩阵键盘问题中,求助高手 程序: #include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit A1=P2^5; sbit B1=P2^6; sbit C1=P2^7; sb ...

回复

ID:162289 发表于 2017-1-18 14:26
过来学习一下
ID:153538 发表于 2017-1-17 17:25
angmall 发表于 2017-1-15 12:48
程序扫描时,给P3口赋值就0Xfe。然后读取高四位的电平,因为此时无按键触发,所以高四位状态是1111 (二进 ...

好的,我试着改一下,谢谢啦
ID:155507 发表于 2017-1-15 12:48
程序扫描时,给P3口赋值就0Xfe。然后读取高四位的电平,因为此时无按键触发,所以高四位状态是1111 (二进制数)。
      假设此时S1被按下,高四位会变成什么?1110(二进制数),S1对应的编码就是:0B11101110.
      假设是S3被按下,高四位会变成什么?1011(二进制数),S3对应的编码就是:0B10111110
因为S1被按下,所以低四位的状态会变成1110(二进制数)。
将两次得到的P3口状态进行逻辑或运算,就能得到按键S1对应的编码:0B1110 1110.每个按键都会有一个编码,我们只需要对他们的编码进行比对,就知道按下了哪个按键。
注意:编码的确认是在矩阵电路确定后,就已经随着电路固定了。
ID:155481 发表于 2017-1-14 21:53
在实验板上S11,S10,S9,S8不能起作用,其他都可以工作起来,

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表