0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于键盘电路实例分析上拉电阻错误导致51单片机无法正常运行

GReq_mcu168 来源:工程师曾玲 2019-02-02 17:02 次阅读

电路设计中,为了将电阻钳位维持在高电平,会借助上拉电阻来实现电阻的稳定,因此上拉电阻开始大量出现在电路设计中。本文从以键盘电路实例为切入点,为大家分析一种由于上拉电阻位置原因导致51单片机电路无法正常运行的情况。

首先让我们来看一看这个键盘电路的原理图,如图1所示。

基于键盘电路实例分析上拉电阻错误导致51单片机无法正常运行

图1

在按键没有被按下时,端口为低电平,按下按键的时候端口上接高电平。但电路却没有正常工作,出现了问题。

下面就来分析一下问题所在。首先,将电源直接接到端口上是绝对不可以的。当按下按键时,会有很大的电流进入单片机。在工程上,这种往往应该加限流电阻,一般选择1K即可。

但也不能选择太大的电阻,因为电阻上面压降太大,造成输入低于应有的高电平,造成错误。

其次,即便添加限流,电路也是不能工作的。检查AT89C51的DataSheet就会发现技术手册中提到:P0口是没有上拉电阻的端口。P1、P2、P3口带有上拉电阻。

这就是问题所在,那么什么是上拉电阻呢?

基于键盘电路实例分析上拉电阻错误导致51单片机无法正常运行

图2为红外线接收的电路图,图中的电阻就是上拉电阻。我们可以试图理解一下51单片机P2口的这个上拉电阻为这种形式:

基于键盘电路实例分析上拉电阻错误导致51单片机无法正常运行

图3中的R就是上拉电阻。如果按照文章开头的例子中那样设计电路,电路便会变成以下的形式:

基于键盘电路实例分析上拉电阻错误导致51单片机无法正常运行

图4

从图4中可以清晰的看出,不管按键是否按下,IO端口上都是高电平。问题就在这里,回头检测本例中的IO端口电平在按下按键前后的变化,可以发现不管是否按下按键,都为高电平。

由此可知,在进行电路设计之前,对所需各类器件的DataSheet进行充分了解还是非常有必要的,因为其中的一些小细节就极有可能决定整个设计是否能够顺利运行,希望大家能够在使用51单片机之前阅读到本文,从而避免不必要的错误。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632706
  • 上拉电阻
    +关注

    关注

    5

    文章

    359

    浏览量

    30565
  • 键盘电路
    +关注

    关注

    3

    文章

    29

    浏览量

    19878

原文标题:上拉电阻错误导致的51单片机异常分析

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机中上电阻的不可小觑的作用分析

    单片机系统当中,电阻逐渐成为了最为稳定也最为可靠的主要组成部分。大多数人知道上电阻
    发表于 08-10 16:30 3076次阅读

    关于51单片机IO引脚的驱动能力与电阻

    就没有电阻,所以 P0 口根本就没有高电平输出电流的能力。 再看看上面的电路图: 图中的 D1,是接在正电源和引脚之间的,这就属于灌电流负载,D1 在
    发表于 06-26 16:52

    51单片机学习感悟与51单片机电阻心得

    电阻无法高电平驱动其他器件的。因为当三极管截至市没有电流流通的路径,更谈不驱动了。这个跟单片机P0口加上
    发表于 08-28 15:02

    51单片机学习感悟与51单片机电阻心得

    电阻无法高电平驱动其他器件的。因为当三极管截至市没有电流流通的路径,更谈不驱动了。这个跟单片机P0口加上
    发表于 10-20 09:34

    51单片机学习感悟与51单片机电阻心得

    电阻无法高电平驱动其他器件的。因为当三极管截至市没有电流流通的路径,更谈不驱动了。这个跟单片机P0口加上
    发表于 10-25 09:28

    单片机必学:GPIO电路电阻

    通,此时单片机 IO 口输出的是高电平。2、这里注意,④位置是一个电阻,这里设置
    发表于 10-12 09:37

    单片机中与电阻有关的抗干扰提升

    在电子电路设计中,干扰的存在让设计者们苦不堪言,干扰会导致电路发生异常,甚至会导致最终的产品无法正常使用。如何巧妙地减少甚至避免干扰始终是设
    发表于 10-10 16:47 1903次阅读

    单片机中上电阻不可小觑的作用分析

    本篇文章对于电阻单片机当中的重要作用进行了细致的介绍,相信在阅读过本篇文章之后,大家对于为什么要在单片机中添加上
    发表于 11-04 13:01 698次阅读
    <b class='flag-5'>单片机</b>中上<b class='flag-5'>拉</b><b class='flag-5'>电阻</b>不可小觑的作用<b class='flag-5'>分析</b>

    关于单片机加上电阻的详细解释

    51单片机的时候对P0口必须加上电阻,否则P0就是高阻态,对这个问题可能感到疑惑,为什么是高阻态?加上
    的头像 发表于 12-18 17:09 1.1w次阅读
    关于<b class='flag-5'>单片机</b>加上<b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>电阻</b>的详细解释

    实例分析电阻

    手机原理设计中,电阻常用在中断,GPIO控制,I2C等信号,本文希望能通过实例分析加深对上
    的头像 发表于 12-21 17:03 5283次阅读
    以<b class='flag-5'>实例</b><b class='flag-5'>分析</b><b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>电阻</b>

    STM32单片机电阻配置为输入模式的方法

    在学习单片机的时候,我们经常遇到一组名词:电阻和下拉电阻,通过学习我们知道上下拉电阻不仅能使
    发表于 02-11 10:00 2.5w次阅读
    STM32<b class='flag-5'>单片机</b>的<b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>电阻</b>配置为<b class='flag-5'>上</b><b class='flag-5'>拉</b>输入模式的方法

    使用51单片机实现独立键盘的简单资料说明

    1. 51单片机的P1、P2、P3口自有电阻,P0口要想当做I/O口使用,必须也加个
    发表于 09-09 17:26 0次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>实现独立<b class='flag-5'>键盘</b>的简单资料说明

    实例制作一个51单片机连接PS2键盘讲解

    实例制作一个51单片机连接PS2键盘讲解(单片机原理及应用技术)-该文档为实例制作一个
    发表于 07-22 12:11 39次下载
    <b class='flag-5'>实例</b>制作一个<b class='flag-5'>51</b><b class='flag-5'>单片机</b>连接PS2<b class='flag-5'>键盘</b>讲解

    51单片机按键控制数码管0~9_基于proteus的51单片机开发实例24-矩阵键盘(行列式键盘)...

    1. 基于proteus的51单片机开发实例24-矩阵键盘1.1. 实验目的图1 矩阵键盘电路
    发表于 11-23 16:36 12次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>按键控制数码管0~9_基于proteus的<b class='flag-5'>51</b><b class='flag-5'>单片机</b>开发<b class='flag-5'>实例</b>24-矩阵<b class='flag-5'>键盘</b>(行列式<b class='flag-5'>键盘</b>)...

    电阻错误导致51单片机异常分析

    电路设计中,为了将电阻钳位维持在高电平,会借助电阻来实现电阻的稳定,因此
    发表于 02-09 11:32 1次下载
    <b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>电阻</b><b class='flag-5'>错误导致</b>的<b class='flag-5'>51</b><b class='flag-5'>单片机</b>异常<b class='flag-5'>分析</b>