[讨论] 都是可调电阻(电位器)惹的祸,矩阵键盘调试手记

tiankai001   2010-3-23 11:36 楼主
一个经验,一个教训。大家来看看。
这几天调试AVR单片机电路板,发现一个奇怪的现象:一大半的板子上的矩阵键盘都不能正确识别,并且现象都是一样的:只能识别第一列按键。
于是开始检查原因:
a2.jpg

1、首先排除焊接的原因:因为所有的现象都一样,如果是焊接的原因的话,不会出现这种情况。
2、电路应该也没问题,因为有一些板子上的矩阵键盘是没问题的,电路如果有问题的话所有的都会无法识别。
3、程序问题,初步认为是程序问题,但有一点让人疑惑,为什么有的板子可以识别,有的板子无法识别,不过排除了焊接和电路的原因后,只有程序可以怀疑了。那就修改程序吧,先固定输出一个行线为低电平,然后按下该行上的按键,仍然无法识别,真是怪了。看来不是程序的问题。
4、派出了以上的问题后,怎么办?只有拿起数字万用表来实际测量端口输出的电平值了。
按照修改后的程序,固定输出一个行线的电平为低,然后按下该行线上的按键,测量对应端口的电平变化情况,这次有了新发现:无论对应PA0端口的按键是否按下,该端口的电平值始终为2V,而其余的按键没有按下时,对应的端口电平为高,按下后变为低电平。那么可以确定是PA0端口的电平被一直拉低了,这是什么原因?
5、拿出来电路图,仔细观察PA0口都连了那些东东,这一看不打紧,真的发现了问题,如下图,PA0连在电位器上,
a1.jpg

这时候等于PA0端口的电平是电位器在VCC和GND之间的分压电阻的阻值,是不是因为PA0对GND上的分压电阻值过小,导致该端口一直被拉低?
试验一下,把可调电阻调节端对GND的电阻调大,哈哈,能够识别按键值了,问题找到了。

从这个经历,大家有什麽感想?

[ 本帖最后由 tiankai001 于 2010-3-23 16:03 编辑 ]

回复评论 (12)

麻烦,先吧图搞定。。。
点赞  2010-3-23 15:58
引用: 原帖由 leang521 于 2010-3-23 15:58 发表
麻烦,先吧图搞定。。。



发贴的时候看着图正常啊,怎么又不显示了
点赞  2010-3-23 16:04
hoho
点赞  2010-3-23 17:23
LZ肯定倍儿有成就感啊 呵呵
无论什么时候,做什么事情,要思考
点赞  2010-3-23 17:27
点赞  2010-3-24 10:19
引用: 原帖由 zl_felix 于 2010-3-23 17:27 发表
LZ肯定倍儿有成就感啊 呵呵



呵呵,说到点子上了,
确实挺有感触的,
设计电路时候,管脚的复用问题看来是要慎之又慎的
点赞  2010-3-24 11:35
既然是按键的端口,为什么又要接一个电位器呢?
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-3-24 12:55
引用: 原帖由 lixiaohai8211 于 2010-3-24 12:55 发表
既然是按键的端口,为什么又要接一个电位器呢?


单片机的端口数量有限啊,经常需要复用
点赞  2010-3-24 13:10
端口复用是需要仔细规划,曾经把薄码开关和键盘进行端口复用,结果。。。。。。
最后每个按键加了二极管才搞定
点赞  2010-3-24 15:59
点赞  2010-3-24 16:48
键盘,看似简单,结果很多人都出过问题,包括我。
点赞  2010-3-26 17:22
我以前都没会用,因为是新手了,学习了!!!!
点赞  2010-10-23 16:40
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复