8051单片机5x5键盘扫描程序

求大神帮忙写一个8051单片机5X5的矩阵键盘扫描程序(C语言),10个端口分别5个连接P1口和6个连接P0.3这样可以吗?... 求大神帮忙写一个8051单片机5X5的矩阵键盘扫描程序(C语言),10个端口分别5个连接P1口和6个连接P0.3这样可以吗? 展开
 我来答
11kxmx
推荐于2016-03-15 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:70%
帮助的人:2434万
展开全部
完全可以,主要是程序编制,和4*4键盘原理是一样的, 一个口的5根线作为输出,轮换有一根线输出低电平,另一个口5根线作为输入,通过读到的输入数据就可以知道哪个键按下
我认为编程比4*4键盘还简单,因4*4按键只占用一个端口如P0,输出数据和读取数据用的 都是它, 而5*5键盘用的是2个端口,输出和读取相互独立,互不影响
追问

小弟这样连接可以用不?

 

小弟不知道该怎么赋值,怎么检测,看视频4X4的小弟略懂,,5X5的就懵了,网上也没有5X5的例子,快崩溃了

追答
P1的 5条数据线中每次只有一个输出0,接收方P2收到的5位数据(8位只取5位)若没有0,则没有任何按健按下,若有0,再判断哪1位是0,即可知道哪个按键按下
假设不考虑消抖:
P1=0xFE
i=P2
if(i!=oxFF)
SWITCH(i)
{ case .......key=...i有5个可能值}
P1=0xFD
if(i!=oxFF)
SWITCH(i)
{ case .......key=...i又有5个可能值}
.....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式