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

[复制链接]
3810|12
 楼主| howard-ch 发表于 2011-7-27 13:43 | 显示全部楼层 |阅读模式
这个程序没效果,怎么改啊?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
老鱼探戈 发表于 2011-7-27 14:42 | 显示全部楼层
程序没什么问题。
看看硬件有没有问题,由于51单片机P0口的特殊性,输出要加上拉。还有数码管的共阴还是共阳等问题。
跬步 发表于 2011-7-27 14:46 | 显示全部楼层
你的电路图呢,怎么连的,描述一下
T120130241 发表于 2011-7-27 15:48 | 显示全部楼层
你没有判断是否松手的程序,所以程序应该从你的两个while循环中(特别注意第一个while循环)出不来,因此到不了显示子程序部分,所以不会显示。
T120130241 发表于 2011-7-27 15:49 | 显示全部楼层
程序会一直在内部的第一个while循环中不断执行
T120130241 发表于 2011-7-27 15:52 | 显示全部楼层
while(temp!=0xf0)
{
    temp=P3;
    temp=temp&0xf0;
}
把这个松手程序加到你的内部while循环中的switch语句的后面就可以了。
T120130241 发表于 2011-7-27 15:53 | 显示全部楼层
这既是一个判断是否松手的程序,同时也是退出外面两级while循环的条件。
lixiaoxu2meng 发表于 2011-7-27 16:43 | 显示全部楼层
ls根while 没有关系吧
lixiaoxu2meng 发表于 2011-7-27 16:43 | 显示全部楼层
有电路图吗
efen 发表于 2011-7-27 17:12 | 显示全部楼层
while(temp!=0xf0) 后多了冒号了
switch(temp)语句前加上 temp = temp&0xf0 ;
不然跳不出循环了
T120130241 发表于 2011-7-27 19:07 | 显示全部楼层
朋友,你自己试试就知道了,这个程序是我写了十几遍的,呵呵
linhuacong 发表于 2011-7-27 19:20 | 显示全部楼层
可能是串口不对吧
 楼主| howard-ch 发表于 2011-7-28 15:03 | 显示全部楼层
问题解决了,谢谢各位啊,多了个冒号真是一个问题:P 松手检测也是需要的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

137

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部