fangmcu 发表于 2014-7-27 08:50:10

看马老师的书,关于矩阵键盘有几个问题,请教一...

1、图中5.1K电阻是上拉电阻,这个明白,但100欧这个电阻有什么用?
2、PD3至PD6逐行输出低电平来扫描,通过PD0至PD2来读电平确定那
一个键按下。由于PD3至PD6是推挽输出的,即当PD3输出为低电平,
而PD4输出为高电平时,如果K1-1和K2-1同时按下会不会有烧I/O的
隐患?

dlmaowf 发表于 2014-7-27 09:18:58

100欧姆的电阻应该就是限流
如果是PD3--PD6逐行输出低电平扫描的话,感觉这个100欧姆的电阻应该串在PD3--PD6上

gsnDragon 发表于 2014-7-27 10:12:45

没啥用,说好听是限流保护,其实去掉完全可以

machao 发表于 2014-7-27 11:37:42

本帖最后由 machao 于 2014-7-27 12:03 编辑

问这样的问题的非常少,说明LZ学习上了正路。LZ分析的非常正确,3个100欧姆的电阻用作限流保护。

由于这是面对初学者的实验板,考虑初学者在学习中经常会犯各种错误,如果软件中初始化不正确,把PD0-PD6都设置成推挽输出状态,那么按键按下就存在烧毁I/O的可能性。此时3个电阻起到保护作用。

3个合适大小的电阻并不影响键盘的操作,但是产品的设计需要考虑和面对不同的用户和不同用途。如果是工程上或固定的产品(不是针对初学应用训练的)这3个电阻就完全没有必要了,可以省掉减少硬件成本。

========================
2楼的方案也可以,串在PD3-PD6是同样的道理,但要多一个电阻。另外串在PD3-PD6,电阻值的大小更加重要,比串在PD0-PD3敏感的多

所以还是串在PD0-PD3好些

========================
真正应该明白的是:
1/这3个电阻在实际应用中是没有必要的,这个板上使用是为了考虑初学的原因,保护器件不受到损坏。
2/不但要明白为什么使用这3个电阻,还要考虑3个电阻的大小为多少合适。
3/学习需要这样的钻研精神,而不是在不明白的情况下照搬照抄。

    下面讲述一个关于这3个电阻的真实故事(绝对真实,因为发生在我的实验室里):
   
    有一个自认为比较“牛”的学生,本科毕业设计了一个系统,键盘照搬这个电路,他把3个电阻全部用成100K的(把100理解成100K),然后跑到我的实验室来“质问”(当然“质问”他是不敢的,但是他感觉他肯定对的,有底气,说话非常强硬),说我的电路有问题,他查过所有的参考电路,都没有这个电阻。
   
   我没有正面回答。只是问他,你上我的课做实验用过这块实验板,也做过键盘实验,做通吗?他说做通的,是好用的。

   我说这就不能证明我的电路错了,问题在你的身上,这样简单的电路,你又是如此有“本事”,那就应该自己去找到问题的所在。

   那个学生化了10分钟,发现3个电阻使用了100K。换成100欧姆再测试就没有问题了。

   我继续问他是否明白这3个电阻的作用?如果使用的话,如何考虑这3个电阻的大小?他想了半天说不知道。

   那我就把上面的道理讲了一遍。而且“严重”的敲打他:你牛什么?1/最基本的欧姆定律都不会,没有学会分析问题的方法!2/就知道抄袭,抄还抄错了!3/自己出的问题还怪罪到别人头上!

   该学生败兴而归,从此很少光顾我的实验室。

   后来他直升读研,但已经不是学电子专业的。后来......

   今年上半年,我去一家民办大学电子类实验室参观,和他不期而遇。原来他研究生毕业后在这所大学工作了,承担嵌入式系统方面的主要教学工作。当然我们还是客气的寒暄了一会。


   ..............................(不想深入了,此处删掉300字,但对该学生没有任何成见)

machao 发表于 2014-7-27 12:02:09

最后说明是,
1/ 如果所使用的MCU,其I/O口可以设置成带内部上拉输入方式工作(现在新型MCU的I/O口基本上都具备这个特性)的,
2/ 设计系统不是给初学人员练手的,

那么6个电阻都可以省掉。

machao 发表于 2014-7-27 13:20:43

gsnDragon 发表于 2014-7-27 10:12
没啥用,说好听是限流保护,其实去掉完全可以

不能简单下结论。工程上要看实际情况才能知道。

举个实际例子:

许多实验板上的电源输入端都会串入一个二极管,它的作用就是防止输入的电源极性反了,烧毁电源或板上的器件。
但串入二极管的副作用就是系统电压减低了,哪怕是串入是肖特基二极管,也有0.2V的压差。输入5V实际到系统只有4.8V。
从教学和实验的角度出发,这个二极管还是需要的,因为面对学生新手,电源极性插反的情况多的是(大部分是无意、没经验,可是有个别学生会有意将电源插反,给老师和上课制造麻烦)。

那么,对于一个产品将,这个二极管应该是没用了吧。也不是。我N年前设计过一个巡更器,是晚上值班人员用的,使用2节电池作电源,输入端没有用这个二极管。
作为产品应该没有问题的。可是开始用户反映巡更器老是坏掉,而且是硬件坏掉。后来了解到是使用人的素质差,因为使用电子巡更器后,他们晚上不能偷懒睡觉了,必须定点定地的巡查,所以有意把电池装反,造成产品质量不好的现象。

后来就加上了这个二极管,电路坏的情况没有了。

但是另外问题出现了。原来巡更器的外壳是塑料的,使用人员发现反装电池不能损坏,就有意识的往地上扔,把外壳摔裂(当然说是不小心掉地上了)。

最后这个产品换成了铝质金属外壳。

hall 发表于 2014-7-27 13:58:43

读马老师的帖子总能学到很多东西!

xckhmf 发表于 2014-7-27 14:50:44

马老师的做事态度让我敬佩。

fangmcu 发表于 2014-7-27 19:07:45

感谢,马老师热情、专业解释!

gsnDragon 发表于 2014-7-27 20:54:05

machao 发表于 2014-7-27 13:20
不能简单下结论。工程上要看实际情况才能知道。

举个实际例子:


额,好吧~我承认我真没想到还能遇到这种情况……

nos002 发表于 2014-9-12 01:28:47

扫描端口应接入二极管,以防止多个按键按下时高电平端口向低电平端口灌电流而烧毁端口,但二极管的温度特性可能使得低温下二极管压降超出I/O端口低电平输入要求,如3.3V单片机I/O端口的低电平最大输入值为0.2*3.3=0.66V,从而可能使键盘扫描在低温下失灵;
有些单片机的内部弱上拉并不能取代输入端口的上拉电阻,会因内部弱上拉电阻值过大而存在很大干扰。
页: [1]
查看完整版本: 看马老师的书,关于矩阵键盘有几个问题,请教一...