设计与开发

单片机输出 单片机IO口科普:推挽输出,开漏输出详解

小编 2024-10-06 设计与开发 23 0

单片机IO口科普:推挽输出、开漏输出详解

在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻。是不是有时候感觉一头雾水?今天就详解一下推挽和开漏,以后你买芯片的时候就可以和别人大声理论了。

1. 什么是推挽输出

推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件。

2. 推挽输出电路的结构

推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高、既提高电路的负载能力,又提高开关速度。其示意结构如下图所示:

当内部输出1电平时,上边的MOS管导通同时下边的MOS管截至,IO口输出高电平;

当内部输出0电平时,上边的MOS管截至同时下边的MOS管导通,IO口输出低电平;

3. 什么是开漏输出

开漏输出只能输出低电平,如果要输出高电平必须通过上拉电阻才能实现。就类似于三极管的集电极输出。

4. 开漏输出电路的结构

如上图:

内部输出1时MOS管截止,输出与地断开,这时候IO口其实是没有驱动能力的,需要外部连接上拉电阻才能输出高电平,才能驱动数字器件;

内部输出0时MOS管导通,输出低电平,所以开漏能输出低电平;

5. 准双向IO

在学51单片机的时候老师告诉我们,51单片机的IO口是准双向的,什么是准双向的?示意如下:

其结构类似于开漏输出,只不过是把上拉电阻集成到了单片机内部。

6. IO口如何应用

对于推挽输出的IO口可以直接输出高低电平驱动功耗较小的数字器件,但对于开漏输出的话必须要在外部接上拉电阻才行。比如说LPC11C14单片机的片上I2C资源就是开漏输出的,如果要使用这两个引脚做输出就必须加上拉电阻,如下图所示:

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8

单片机输出PWM脉冲的两种方法

51单片机没有PWM输出功能,可以采用定时器配合软件的方法实现,对精度要求不高的场合是非常实用的。采用高速光隔6N137输出,并将PWM的信号倒相。

本文引用地址:http://www.eepw.com.cn/article/201609/296668.htm

一、 工作原理

二、PWM输出

1. 固定脉宽PWM输出

用T0定时器完成PWM输出,脉宽固定为65536μs。T0定时器设置成16位定时器,PWM波形如图2所示。

程序清单:(12MHz)

PwmData0 ;T0定时t1的初值(字)

PwmData1 ;T0定时t2的初值(字)

PwmF     ;PWM输出标志

;***************************

setb tro ;启动T0

……

T0Int:;T0中断服务程序

JB PwmF ,PwmOutH

;PWM输出未完成返回

Mov TH0,High(PwmData0)

Mov TL0,Low(PwmData0)

Setb tr0

Setb PwmF

Clr p1.0 ;PWM输出脚

reti

PwmOutH:Setb p1.0

Clr tr0

Mov TH0,High(PwmData1)

Mov TL0,Low(PwmData1)

Setb tr0

Clr PwmF

reti

说明:在主程序中计算PwmData0、PwmData1的值。

2. 可变脉宽PWM输出

用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大65536μs。)

T0、T1定时器设置成16位定时器。

程序清单:(12MHz)

PwmData0 ;T0定时t1的初值(字)

PwmData1 ;T1定时T的初值(字)

;***************************

setb tro ;启动T0

setb tr1

……

T0Int:Clr tr0   ;T0中断服务程序

setb p1.0 ;PWM输出脚

reti

T1Int:Clr p1.0 ;T1中断服务程序

Clr tr0

Clr tr1

Mov TH0,High(PwmData0)

Mov TL0,Low(PwmData0)

Mov TH1,High(PwmData1)

Mov TL1,Low(PwmData1)

Setb tr1

Setb tr0

reti

说明:在主程序中计算PwmData0、PwmData1的值。

相关问答

对于 单片机 输出 ,一般输出电压为5v,输出电流为几mA;怎么理解呢?

是这样的,单片IO口内部有推挽式的两个MOS管(一个N管一个P管),这两个MOS管的G极连在一起受IO总线控制,P管导通时,P管的D极会向外输出电压,引脚开路时,输出电压...

单片机 信号 输出 原理?

单片机信号输出的原理主要涉及数字信号转换为模拟信号的过程。单片机产生的数字信号首先经过DAC(数字模拟转换器,如DAC0832)转换为模拟信号。这个模拟信号接着...

单片机 按键输入到 输出 怎么实现?

单片机按键输入到输出可以通过编程实现。首先需要配置IO口为输入模式,然后在主循环中不断读取按键状态,如果检测到按键按下,就将IO口配置为输出模式,并输出相...

单片机 有多少PWM 输出 的引脚 - 懂得

不是哪,PWM简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。能够有PWM输出只是单片机的个别引脚,这些引脚能够配...

请问 单片机输出 的信号是什么类型的? - 8pjTZvBbTnU 的回答 -...

TTL输出,0-2为低电平,3,5-5为高电平。单片机的I/O口的输出信号是数字信号,0-2.3V是低电平;3.2-5V是高电平。虽说是数字信号,但实则是高速的模拟信...

单片机 怎么储存一个数字 输出 ?

单片机可以使用不同的方式来储存一个数字输出。其中一种常见的方式是使用寄存器来存储数字。寄存器是一种高速存储器,可以直接访问和操作。单片机通常具有多个...

单片机输出 高电平原理?

单片机输出高电平的原理取决于其最小系统的电路设计。在最小系统中,复位电路是单片机能正常工作的最简单的电路之一。对于不同的单片机,高电平复位和低电平复...

51 单片机 p1口怎么 输出 方波信号?

可以采用程控法和定时法两种方式输出方波,以P1.0输出方波为例:1、程控法做一个循环,先指令取反P1.0,再运行一个延时子程序,按方波频率的半周期时间确定延...

单片机 系统输入和 输出 电路工作原理-ZOL问答

单片机输入:晶振提供时钟同步复位电路:系统复位,外置自动复位电路:程序跑飞时自动复位。继续运行。电源:系统供电这是组成最小系统的基本电路。输出电路:...

单片机 P1——P3口作为输入口的时候为什么要先向该口写1呢?

问题很简单,要说清不容易,原因是P0~P3都是准双向口,为什么呢?这要看四个并口的口结构图就明白了。什么叫准双向,就是说P0~P3输出没问题,输入就不然了。...这...

猜你喜欢