完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我看书上写矩阵键盘的代码时都是用扫描的方法,
然后根据获取的数据进行判断。我有个疑问: 为什么不可以直接通过读矩阵键盘的输出数据 进行判断?因为当按下某个矩阵键盘上的键, 那么对应的行、列同时都为低电平,可是不知道 为什么代码运行时检测不出来。请问为什么? 能说说理由吗? 请看我的代码(但是运行不能成功,不知道是为什么): unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; void main() { while(1) { switch(P3) //P3口接在矩阵键盘上 { case 0x7e:P0=table[0];break; case 0xbe:P0=table[1];break; case 0xde:P0=table[2];break; case 0xee:P0=table[3];break; case 0x7d:P0=table[4];break; case 0xbd:P0=table[5];break; case 0xdd:P0=table[6];break; case 0xed:P0=table[7];break; case 0x7b:P0=table[8];break; case 0xbb:P0=table[9];break; case 0xdb:P0=table[10];break; case 0xeb:P0=table[11];break; case 0x77:P0=table[12];break; case 0xb7:P0=table[13];break; case 0xd7:P0=table[15];break; case 0xe7:P0=table[15];break; default:P0=table[15];break; } } } |
|
相关推荐
4个回答
|
|
键盘扫描程序不管如何读取键盘数据,都需要先将对应的引脚输出置0,你的程序里没有这一步,只是读取了键盘数据
|
|
|
|
我是说如果不用扫描,直接读,不行吗
|
|
2 条评论
|
|
可是当按下矩阵上的键时,该键对应的行、列上对应的IO口不就被拉成低电平了吗?
|
|
|
|
不扫描绝对不行,因为没有电路能够实现你说的那种可能,按下按键相应的行列输出低电平,你可以画出来试试就知道了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
549 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
339 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
1049 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
493 浏览 0 评论
求助:辉芒微芯片 FDM B11GBMH 的信息及开发环境安装
570 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11329 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-30 16:20 , Processed in 0.799358 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号