一个简单的单片机电路,板1,板2通过接插口互连,单片机主程序循环不断通过P2.5检测电平,判断按键是否按下,从而控制两个LED灯分别点亮。电路很简单,问题来了,按键部分可以检测到高电平,但是当按下按键后,地导通,P2.5却检测不到低电平,我用万用表想测量接插口处电压,但是表笔测量电压时,一接触IO口测试点,就可以检测到低电平了,指示灯立马点亮,而且表笔移开后,也没有任何问题,切换回高电平也没问题,但是切换回低电平又是一样的现象,电量指示灯不亮,又检测不到低电平,想再测电压,但是一测,表笔一接触立马正常了。肯定不是焊接的问题,因为在好几套板上都试过了,现象一致。也重新焊过接触点了。搞不明白?有见过类似现象的人嘛?谁能给我解释一下?多谢了!!
本帖最后由 gxp790953623 于 2015-12-4 18:16 编辑
I/O口线经10千欧电阻接地,I/O口检测错误是正常的。
将电阻改小些再看看。
弱上拉的IO直接通过按键按下对地短路,按键松开时开路就好,
P2口内部带上拉电阻的,你在接低电平的位置接了10k电阻,与Vcc分压,得到的电压超过一定值就会被认为是高了。当你连接表笔后,相当于给那个10k电阻并联了个电阻。明白了吧!
解释得很清楚,太感谢了,已经按各位的方法试过了,现在一切正常了。就是出在电阻的问题上了!