打印

矩阵键盘第一行,让数码管显示1到F

[复制链接]
2456|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
老鱼探戈| | 2011-7-27 14:42 | 只看该作者
程序没什么问题。
看看硬件有没有问题,由于51单片机P0口的特殊性,输出要加上拉。还有数码管的共阴还是共阳等问题。

使用特权

评论回复
板凳
跬步| | 2011-7-27 14:46 | 只看该作者
你的电路图呢,怎么连的,描述一下

使用特权

评论回复
地板
T120130241| | 2011-7-27 15:48 | 只看该作者
你没有判断是否松手的程序,所以程序应该从你的两个while循环中(特别注意第一个while循环)出不来,因此到不了显示子程序部分,所以不会显示。

使用特权

评论回复
5
T120130241| | 2011-7-27 15:49 | 只看该作者
程序会一直在内部的第一个while循环中不断执行

使用特权

评论回复
6
T120130241| | 2011-7-27 15:52 | 只看该作者
while(temp!=0xf0)
{
    temp=P3;
    temp=temp&0xf0;
}
把这个松手程序加到你的内部while循环中的switch语句的后面就可以了。

使用特权

评论回复
7
T120130241| | 2011-7-27 15:53 | 只看该作者
这既是一个判断是否松手的程序,同时也是退出外面两级while循环的条件。

使用特权

评论回复
8
lixiaoxu2meng| | 2011-7-27 16:43 | 只看该作者
ls根while 没有关系吧

使用特权

评论回复
9
lixiaoxu2meng| | 2011-7-27 16:43 | 只看该作者
有电路图吗

使用特权

评论回复
10
efen| | 2011-7-27 17:12 | 只看该作者
while(temp!=0xf0) 后多了冒号了
switch(temp)语句前加上 temp = temp&0xf0 ;
不然跳不出循环了

使用特权

评论回复
11
T120130241| | 2011-7-27 19:07 | 只看该作者
朋友,你自己试试就知道了,这个程序是我写了十几遍的,呵呵

使用特权

评论回复
12
linhuacong| | 2011-7-27 19:20 | 只看该作者
可能是串口不对吧

使用特权

评论回复
13
howard-ch|  楼主 | 2011-7-28 15:03 | 只看该作者
问题解决了,谢谢各位啊,多了个冒号真是一个问题:P 松手检测也是需要的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

137

帖子

1

粉丝