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

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

3天内不再提示

C51单片机的IO口介绍(下)

CHANBAEK 来源:Zi Jin Code 作者:锟酱不是酱 2023-11-02 10:57 次阅读

上一篇文章我们对C51的IO简单的介绍了一下,现在我们来简单了解C51的IO的结构

这里我们学习一下比较常见的单片机的IO模式,分别是准双向,开漏输出和推挽输出

(这里要提一嘴,我们用的STC88C52RC是没有推挽输出功能的,STC公司后续推出的一些机型才有推挽输出功能)

接下来我们来看看这几种模式

1.准双向

看看下面的原理图,机内信号通过一个非门取反后送入一个MOS管,MOS管负责控制这个IO的高低电平,配合内部上拉电阻完成高低电平的输出

图片

为了方便我们分析,我们把这个MOS管看成一只NPN三极管。区别是三极管靠电流导通,MOS管靠电压导通

图片

结合前面我们讲过的知识,对于一只NPN三极管,基极b电压比集电极c电压大0.7V的时候,三极管发射极e与集电极c之间导通

准双向输出高电平

当机内给高电平信号的时候,经过非门取反,得到低电平信号,在这里我视作0V,非门取反后直接接到三极管b极,相当于b极电压0V,三极管的c极接地,视作0V。此时由于b极电压与c极电压差小于0.7V,三极管截止

图片

电源正极的电流就经过内部上拉电阻流向c极,只有一路电流从正极到上拉电阻再流出IO,这时候相当于IO接入高电平

准双向输出低电平

当机内给低电平信号的时候,经过非门取反,得到高电平信号,在这里我视作5V,非门取反后直接接到三极管b极,相当于b极电压5V,三极管的c极接地,视作0V。此时由于b极电压与c极电压差达到0.7V以上,三极管导通

图片

电源正极的电流就经过内部上拉电阻流向c极,c,e之间导通,所以直通,一直流至负极。另一路电流从外部IO经过三极管的C极,再流向e极,最后流至地,实现接低

这时候我想你会问,那电流为什么不从vcc流向电阻,最后流出IO呢?我想说,我相信你高中的时候学过,电流总是从正极流向负极。我们来观察,在这个电路里面,正极的电流已经流向负极了,IO这一路电流也流向负极,也就实现了低电平输出

2.开漏输出

开漏输出的结构如下

图片

细心的朋友已经发现了,开漏输出的电路结构跟准双向的区别就是没有内部上拉电阻

内部输出0的时候,原理跟准双向输出相同

图片

但是如果内部输出为1的时候

图片

这时候IO是悬空状态,相当于IO跟单片机断开了

如果需要输出高电平,这时候就需要外部上拉电阻

图片

3.推挽输出(了解)

所谓的推挽,就是指使用两个三极管或者MOS管交替地将信号推到正和负极性,实现放大的效果

推挽输出的电路结构

图片

在这个结构中,两个MOS管配合,实现推挽输出,最大的特点就是输出电流够大(大约20mA)

在这里,T1 MOS管可以看成PNP三极管,T2 MOS管可看成NPN三极管

图片

输出高电平的原理:

内部输出高电平信号经过非门取反,送到两个三极管的b极,上面的PNP三极管导通,下面的NPN三极管截止,电流从VCC流过PNP管,流出IO。

图片

输出低电平的原理:

内部输出低电平信号经过非门取反,送到两个三极管的b极,上面的PNP三极管截止,下面的NPN三极管导通,IO电流经过NPN三极管流过地,实现输出低电平

C51的IO模式

​我们的AT89C52单片机只支持开漏输出和准双向输出

P0组IO只支持开漏输出,仔细观察,你的开发板上的P0组IO是不是有一排上拉电阻?

图片

P1,P2,P3支持准双向IO输出

这些是单片机设计的时候就配置好的

我们无法修改,但是根据不同IO组的输出功能进行合理利用,依旧能达到我们想要的效果

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

    关注

    6001

    文章

    43973

    浏览量

    620826
  • MOS管
    +关注

    关注

    107

    文章

    2215

    浏览量

    64367
  • C51单片机
    +关注

    关注

    11

    文章

    164

    浏览量

    34482
  • IO口
    +关注

    关注

    3

    文章

    164

    浏览量

    23756
收藏 人收藏

    评论

    相关推荐

    C51单片机IO原理及51 C语言

    C51单片机IO原理及51 C语言
    发表于 07-05 11:51

    经典中的经典!《C51单片机C语言知识点必备秘籍》

    C51单片机C语言知识点必备秘籍》 电子发烧友网讯:应广大电子发烧友网读者要求,本电子书《C51单片机
    发表于 07-30 16:06

    C51单片机学习

    C51单片机学习,教你玩转单片机
    发表于 04-14 13:00

    51单片机怎么解决IO的复用问题

    请问51单片机怎么解决IO的复用问题,由于使用89C51单片机
    发表于 05-31 04:08

    新概念c51单片机技术教程

    单片机,希望大生兄提供一些C51单片机的资料 答:一很多很多,你若留可以我把网盘里的资料发给你 有那个经典的10天学单片机和浙大的
    发表于 09-26 11:11

    C51单片机C语言知识点必备秘籍》电子发烧友网创新系...

    本帖最后由 jfzhangjin 于 2014-10-31 14:35 编辑 电子发烧友网讯:应广大电子发烧友网读者要求,本电子书《C51单片机C语言知识点必备秘籍》为《单片机
    发表于 10-31 14:32

    学习C51单片机下载程序问题

    我用的是kill7.5写程序,检验没有问题之后,想通过stc-isp-15xx-6.75载到单片机内部,串口也连接成功了,但为什么下载不了c51单片机内部呢,显示的是“正在检测目标
    发表于 03-28 20:28

    【下载】《单片机语言C51应用实战集锦》

    。Keilc51是目前单片机开发最为流行的软件。目录· · · · · ·程序一 实时时钟芯片DS1302的C51程序例子程序二 C430与C51
    发表于 02-09 15:30

    【下载】《单片机语言C51应用实战集锦》

    。Keilc51是目前单片机开发最为流行的软件。本书收集并整理了许多实用的采用C51单片机开发的程序,这些程序既可以给读者以开拓思路,参考的用途,又是实际的开发程序,可以直接作为程序应
    发表于 04-08 16:51

    介绍8051系列单片机c语言(C51)程序设计方法

    51单片机实用C语言程序设计与典型实例》主要介绍8051系列单片机c语言(
    发表于 07-15 07:21

    C51单片机C52单片机有什么不同之处?

    C51单片机C52单片机有什么关系?C51单片机C
    发表于 07-16 06:36

    单片机最小系统、IO模式介绍

    单片机最小系统、IO模式介绍、点亮1个LED文章目录单片机最小系统、IO
    发表于 11-25 08:08

    介绍怎么使用51单片机的每一个IO

    连到外设。众所周知,51单片机的外设有限,所以蓝桥杯的这块板子,就是为了最大限度使用每一个IO,所以使用了译码器+锁存器的一个结构,这样就能以极少的引脚控制很多东西。那么我们首先
    发表于 02-28 06:42

    c51单片机如何同时点亮40个LED灯?

    c51单片机如何同时点亮40个LED灯?io不够啊
    发表于 10-18 06:38

    C51单片机IO介绍(上)

    前面两篇文章我铺垫了IO输出高低电平的方法。
    的头像 发表于 11-02 10:56 635次阅读
    <b class='flag-5'>C51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>IO</b>口<b class='flag-5'>介绍</b>(上)