在电路设计中,为了将电阻钳位维持在高电平,会借助上拉电阻来实现电阻的稳定,因此上拉电阻开始大量出现在电路设计中。本文从以键盘电路实例为切入点,为大家分析一种由于上拉电阻位置原因导致51单片机电路无法正常运行的情况。
首先让我们来看一看这个键盘电路的原理图,如图1所示。
图1
在按键没有被按下时,端口为低电平,按下按键的时候端口上接高电平。但电路却没有正常工作,出现了问题。下面就来分析一下问题所在。
首先,将电源直接接到端口上是绝对不可以的。当按下按键时,会有很大的电流进入单片机。在工程上,这种往往应该加限流电阻,一般选择1K即可。但也不能选择太大的电阻,因为电阻上面压降太大,造成输入低于应有的高电平,造成错误。
其次,即便添加限流,电路也是不能工作的。检查AT89C51的DataSheet就会发现技术手册中提到:P0口是没有上拉电阻的端口。P1、P2、P3口带有上拉电阻。这就是问题所在,那么什么是上拉电阻呢?
图2 外线接收的电路图
图2为红外线接收的电路图,图中的电阻就是上拉电阻。我们可以试图理解一下51单片机P2口的这个上拉电阻为这种形式:
图3
图3中的R就是上拉电阻。如果按照文章开头的例子中那样设计电路,电路便会变成以下的形式:
图4
从图4中可以清晰的看出,不管按键是否按下,IO端口上都是高电平。问题就在这里,回头检测本例中的IO端口电平在按下按键前后的变化,可以发现不管是否按下按键,都为高电平。
由此可知,在进行电路设计之前,对所需各类器件的DataSheet进行充分了解还是非常有必要的,因为其中的一些小细节就极有可能决定整个设计是否能够顺利运行,希望大家能够在使用51单片机之前阅读到本文,从而避免不必要的错误。
转帖自网络