c8051f020 IO配置总结

合集下载

C8051F020 学习笔记——基本概念

C8051F020 学习笔记——基本概念

C8051F020 学习笔记——基本概念C8051F020 是完全集成的混合信号系统级芯片,具有64个数字I/O引脚。

下面列出了一些主要特性:1. 高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS)2. 全速、非侵入式的在线系统调试接口(片内)3. 真正12位(C8051F020)100ksps的8通道ADC,带PGA和模拟多路开关。

4. 真正8位500ksps的ADC,带PGA和8通道模拟多路开关5. 两个12位DAC,具有可编程数据更新方式6. 64K字节可在系统编程的FLASH存储器7. 4352(4096+256)字节的片内RAM8. 硬件实现的SPI、SMBus/IIC和两个UART串行接口9. 5个通用的16位定时器10. 具有5个捕捉/比较模块的可编程计数器/定时器阵列11. 片内看门狗定时器、VDD监视器和温度传感器每个MCU都可在工业温度范围(-45C到+85C)内用2.7V-3.6V的电压工作.端口I/O、/RST和JTAG引脚都容许5V的输入信号电压。

C8051F020/2为100脚TQFP 封装。

C8051F020系列器件使用Silicon Labs的专利CIP微控制器内核。

CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8/4个字节宽的I/O端口。

速度提高:CIP-51采用流水线结构,70%的指令的执行时间为1个或两个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。

CIP-51工作在最大系统时钟频率25MHz,它的峰值性能达到25MIPS。

增加的功能:C8051F020系列MCU对CIP-51内核和外设有几项关键性的改进:扩展的中断系统向CIP-51提供22个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。

C8051f020IO配置小结五篇

C8051f020IO配置小结五篇

C8051f020IO配置小结五篇第一篇:C8051f020 IO配置小结C8051f020 I/O配置小结020的每个I/O口引脚都可以被配置为推挽或漏极开路输出。

同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3的端口引脚。

通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。

必须在访问这些外设的I/O之前配置和允许交叉开关。

注意的问题:1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。

2.没有被分配到的引脚作为一般的数字通用I/O口。

3.P1口还可以用作ADC1的模拟输入。

4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的输出状态。

5.EMIF(外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN选择和管理端口实现数据的传输。

6.为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。

7.如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSEL位设置为1,选择高端口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLE 位设置为0。

8.复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0~AD7)。

在该方式下,要用一个外部锁存器(如74HC373或相同功能的锁存器)保持RAM地址的低8位。

外部锁存器由ALE(地址锁存使能)信号控制,ALE信号由外部存储器接口逻辑驱动。

9.在总线复用时,需要把地址数据复用端口配置为漏极开路。

10.ALE高/低脉宽占1个SYSCLK周期,地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期,EMIF工作在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输出方式。

C8051F02X外部存储器接口和IO端口配置

C8051F02X外部存储器接口和IO端口配置

C8051F02X外部存储器接口和IO端口配置美国Cygnal公司C8051F02X系列单片机是集成在一起芯片上的混合信号系统级单片机。

该单片机具有32/64位数字I/O端口(引脚)、25MIPS高速流水线式8051微控制器内核、64KB在系统可编程Flash存储器、64KB地址的外部存储器接口、4352(4096256)B 片内RAM、各自*的SPI、SMBUS/I2C和两个UART串行接口等特点。

其最突出的优点就是,通过设置交叉开关寄存器控制片内数字资源映*到外部I/O引脚,这就允许用户根据自己的特定应用,选择通用I/O端口和所需要数字资源。

当然,在设置数字交叉开关寄存器时,应该首先考虑EMIF的配置问题。

其配置不同,将导致单片机通过不同的端口(低或高)访问片外存储器和存储器映像的I/O部件,以及数字交叉开关是否分配外部设备给P0.7(WR)、P0.6(RD)、P0.5(ALE)引脚。

(如图EMIF设置为多路器模式。

)1EMIF和I/O配置方法1.1外部存储器接口(EMIF)配置C8051F02X系列MCU有4KB的RAM可以只映*在片内,也可以映*在64KB外部数据存储器地址空间,还可以同时映*到片内和片外(4KB地址以内在片内存储器空间访问,4KB以上经过EMIF访问)三种方式。

对于后两种存储器工作模式,需通过外部存储器接口使用MOVX和DPTR或MOVX和R0(R1)指令访问外部数据存储器和存储器映像的I/O设备。

但是对于高8位地址,必须由外部存储器接口寄存器(EMI0CN)提供;而EMIF可将外部数据存储器接口映*到低端口(P0~P3)(F020/2/3系列)或高端口(P4~P7)(F020/2系列),以及配置为复用模式或非复用模式等。

配置外部存储器接口的步骤下:*设置EMIF为低端口或高端口;*设置EMIF为复用模式或非复用模式;*选择存储器模式(片内方式、无块选择分片方式、带块选择分片方式、片外方式);*设置片外存储器或片外设备时基;*选择相关I/O端口(寄存器PnMOUT、P74OUT)的输出模式。

单片机C8051F020的初始化设置

单片机C8051F020的初始化设置

单片机C8051F020的初始化设置在喧闹的世界中,能静下心来研究技术也是很有趣的事情。

好多年没作些具体的技术工作了,幸好领导给分配一个单片机任务。

现在把研究的技术写下来,与朋友们分享。

研究C8051F020编程不能离开初始化设置。

对于简单程序,读技术手册,将用到的I/O口,中断,串口,晶振等正确初试化后,已经成功一半了。

晶振需要初始化,C8051F020有内部晶振,精度不高,一般电路都使用外部晶振。

初始化晶振主要是OSCXCN和OSCICN两个寄存器的设置。

具体初始化代码可由Silicon的配置程序自动生成:void Oscillator_Init(){int i = 0;OSCXCN = 0x67;for (i = 0; i < 3000; i++);while ((OSCXCN & 0x80) == 0);OSCICN = 0x08;}上面程序包括了晶振初始化的全部过程:1、使能外部振荡器:OSCXCN = 0x67;2、等待至少1m钟,等待外部振荡器起稳:for (i = 0; i < 3000; i++);3、查询OSCXCN的第八位XTLVLD是否为1,1表明外部振荡器起稳:while ((OSCXCN & 0x80) == 0);4、关内部晶振,切换到外部晶振 OSCICN = 0x08;而同事们的设置是OSCICN= 0x88;应该是使用外部振荡器,但是内部振荡器也没关,这样MCU耗能高些。

串口0(UART0)也需要配置:void UART0_Init (void){SCON0 = 0x50; // SCON0: 模式1,可接收,8位串口TMOD = 0x20; // TMOD: 定时器1, 模式2, 8位自动重载TH1 = -(SYSCLK/BAUDRATE/16); // 设置定时器1TR1 =1; // 开始定时 CKCON |= 0x10; // 定时器用SYSCLK作基准时间PCON |= 0x80; // 禁止UART0波特率/2}SCON0是UART0控制寄存器,用来选择传输模式。

C8051F020单片机

C8051F020单片机

C8051F020单片机C8051F020单片机简介单片机(Microcontroller Unit,缩写为MCU)是一种集成了中央处理器(CPU)、片内存储器(RAM和ROM)、输入/输出接口(I/O)、定时器/计数器和其他功能模块的微型计算机系统。

单片机被广泛应用于家电、汽车电子、医疗设备、电力系统等领域。

C8051F020单片机作为Silicon Labs开发的一款8位低功耗单片机,具有较高的性价比和广泛的应用领域。

本文将对C8051F020进行详细介绍。

一、C8051F020单片机的特点与功能C8051F020单片机具有以下特点和功能:1. 架构优势:C8051F020基于Silicon Labs的成熟8位CPU架构,具有高效的指令执行能力和较低的功耗。

2. 丰富的存储器:C8051F020拥有8KB的闪存(Flash)用于程序存储,可以在电源关闭后保持程序不丢失。

此外,它还配备了256字节的数据闪存(Data Flash)和256字节的电子可擦除可编程只读存储器(EPROM)。

3. 综合的外设:C8051F020单片机具有多个通用输入输出引脚(GPIO),可用于各种外设和传感器的连接。

此外,它还提供了模拟与数字转换器(ADC)、串行通信接口(UART、SPI、I2C)以及定时器/计数器等功能。

4. 低功耗设计:C8051F020采用了优化的低功耗设计,具有多种休眠模式和快速唤醒功能,可在长时间运行的场景下降低功耗。

5. 开发工具支持:Silicon Labs提供完善的开发工具套件,包括集成开发环境(IDE)、调试器和仿真器等,方便开发者进行软件开发和调试。

二、C8051F020单片机的应用领域C8051F020单片机广泛应用于以下领域:1. 家电控制:C8051F020可用于控制家电产品,如空调、洗衣机、冰箱等,通过外围电路与其他传感器和执行器进行交互。

2. 工业自动化:C8051F020提供了丰富的通用输入输出引脚和通信接口,可用于工业自动化控制系统,如PLC、工业机器人等。

C8051F020学习笔记-IO初始化

C8051F020学习笔记-IO初始化

二,使用过程中,常常出现程序的IO口设置,包括设置为交叉开关,推挽方式等。

由于对这种设置方法不太了解,因此做一个专题。

//--------------------------------------------------------------------// I/O初始化程序//--------------------------------------------------------------------// 配置交叉开关和 GPIO 端口void xbar_init (void){XBR0 = 0x07; // 允许 I2C SPI和 UARTXBR1 = 0x00; //XBR2 = 0x40; // 允许交叉开关和弱上拉//PRT0CF |= 0xff; // 允许P0口的所有输出为弱上拉//P0MDOUT// 让交叉开关将这些引脚配置为输入//PRT1CF |= 0x40; // 允许 P1.6 (LED) 为弱上拉输出}(通过对比几个程序的I/O初始化,发现主要是对寄存器XBR0~2以及PRT(0~7)CF进行设置。

特将与IO口设置相关的寄存器做一个说明)2.1 GPIO口和数字外设口C8051F020/1/2/3 MCU 是高集成度的混合信号片上系统,有按8 位端口组织的64 个数字I/O 引脚。

低端口(P0、P1、P2 和P3)既可以按位寻址也可以按字节寻址。

高端口(P4、P5、P6 和P7)只能按字节寻址。

所有引脚都耐5V 电压,都可以被配置为漏极开路或推挽输出方式和弱上拉。

C8051F020/1/2/3 器件有大量的数字资源需要通过4 个低端I/O 端口P0、P1、P2 和P3 才能使用。

P0、P1、P2 和P3 中的每个引脚既可定义为通用的端口I/O(GPIO)引脚,又可以分配给一个数字外设或功能(例如:UART0 或/INT1),这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。

C8051F020概述

C8051F020概述

13
12-位 模拟---数字转换器(ADC0)
12-bit片上 逐次逼近型(SAR) 模拟—数字转换器 (ADC0) 9通道多路输开关和可编程的增益放大器 ADC 通过它专用寄存器编程 一个输入通道连接到内部温度传感器,其他的8个通则连接到 外部的输入引脚
14
8-Bit 模拟—数字转换器(ADC1)
CIP-51 介绍
CIP-51 是 Silicon Labs 公司的 C8051F020 MCU的CPU CIP-51实现了标准的 8051 结 构和定制的外设。 在25 MHz时,其峰值速度可达到 25MIPS CIP-51总共有 109 指令
3
C8051F020 系统概览
Silicon Labs 公司的 C8051F020是一款高集成 度的单芯片片上系统的混 合信号芯片,100引脚封装
98 90 88 80
ADC1CF
AMX1SL
P3IF
P2
SCON0 P1 TCON
EMI0TC
SBUF0 TMR3CN TMOD SPI0CFG TMR3RLL TL0
EMI0CF
SPIODAT TMR3RLH TL1
P0MDOUT
ADC1 TMR3L TH0
P1MDOUT
SPI0CKR TMR3H TH1
ADC1 也可以使用模拟电源 电压(AV+)作为参考电压。
18
内部参考电压发生器
内部参考电压电路由一个1.2 V 的带隙基准电压发生器和一个 2倍增益的输出缓冲放大器组成(2.4 V 输出)
内部的参考电压可以通过VREF引脚连到应用系统中的外部器 件也可以连到芯片的其它电压参考上
内部参考电压的使能/禁止及ADC0,ADC1的参考电压的选择 是通过参考电压控制寄存器REF0CN来配置的.

第2讲 C8051F020单片机总体结构及CIP51内核

第2讲 C8051F020单片机总体结构及CIP51内核
CY AC F0 RS1 RS0 OV
PSW.0
P
▼CY(PSW.7)进位/借位标志位。若ACC在运算过程中
发生了进位或借位,则CY=1;否则=0。它也是布尔处理 器的位累加器,可用于布尔操作。
▼AC(PSW.6)半进位/借位标志位。若ACC在运算过程
中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机 器在执行“DA A”指令时自动要判断这一位,我们可以暂 时不关心它。
2、系统复位源框图
3、上电复位/掉电复位
上电复位:在上电期间,器件保持在复位状态,/RST引脚被驱动到低电平,
直到VDD上升到超过VRST电平。从复位开始到退出复位状态要经过一个延时。
上电和VDD监视器复位时序
掉电复位:
当发生掉电或因电源波动导致VDD降到VRST以下时,电源监视器 将/RST引脚驱动为低电平并使CIP-51保持复位状态。当VDD又回到高 于VRST的电平时,CIP-51将退出复位状态。
高速微控制器内核
数字 IO
模拟外设
2.1.1 高速控制器内核

◆高速、流水线结构的8051 兼容的CIP-51 内核(可达 25MIPS) ◆64K 字节可在系统编程的FLASH 存储器 ◆4352(4096+256)字节的片内RAM



◆全速、非侵入式的在系统调试接口(片内)
◆时钟电路 ◆片内看门狗定时器、VDD 监视器
P1MDOUT:端口0输出方式寄存器
Байду номын сангаас
(6) 配置端口引脚的输入方式
通过设置输出方式为“漏极开路”并向端口数据寄存器中的相应 位写‘1’将端口引脚配置为数字输入。
例如:
设置P3MDOUT.7 为逻辑‘0’,并设置P3.7 为逻辑‘1’ 即可将P3.7 配置为数字输入。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c8051f020 I/O配置小结(输出方式:漏极开路;推挽方式)2011-07-06 09:55C8051f020 I/O配置小结020的每个I/O口引脚都可以被配置为推挽或漏极开路输出。

同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3的端口引脚。

通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。

必须在访问这些外设的I/O之前配置和允许交叉开关。

注意的问题:1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。

2.没有被分配到的引脚作为一般的数字通用I/O口。

3.P1口还可以用作ADC1的模拟输入。

4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的输出状态。

5.EMIF(外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN选择和管理端口实现数据的传输。

6.为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。

7.如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSEL位设置为1,选择高端口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLE位设置为0。

8.复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0~AD7)。

在该方式下,要用一个外部锁存器(如74HC373或相同功能的锁存器)保持RAM地址的低8位。

外部锁存器由ALE(地址锁存使能)信号控制,ALE信号由外部存储器接口逻辑驱动。

9.在总线复用时,需要把地址数据复用端口配置为漏极开路。

10.ALE高/低脉宽占1个SYSCLK周期,地址建立/保持时间占0个SYSCLK周期,/WR和/RD 占12个SYSCLK周期,EMIF工作在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输出方式。

如:void PORT_Init (void){XBR2 = 0x40; /*使能交叉开关和弱上拉*/P74OUT |= 0xff; /*使能P4~P7推挽输出*/EMI0CF |= 0x2c; /*EMIF工作在地址/数据复用方式,只用外部存储器,ALE高/低脉宽占1个SYSCLK周期*/EMI0TC |= 0x6c; /*地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期*/P3MDOUT |= 0xdf; /*使能P3.5推挽输出*/}11.避免高端口处于“浮空”状态,以避免因输入浮空为无效逻辑电平而导致不必要的功率消耗,为此应采取如下措施的任何一种:a.将XBR2.7位设置为逻辑0选择弱上拉状态R/W R/W R/W R/W R/W R/W R/W R/W 复位值WEAKPUD XBARE - T4EXE T4E UART1E EMIFLE CNVSTE00000000位7 位6 位5 位4 位3 位2 位1 位0 SFR地址位7 WEAKPUD 弱上拉禁止位0 弱上拉全局允许1 弱上拉全局禁止位6 XBARE 交叉开关允许位0 交叉开关禁止端口0 1 2 和3 的所有引脚被强制为输入方式1 交叉开关允许位5 未用读0 写=忽略位4 T4EXE T4EX 输入允许位0 T4EX 不连到端口引脚1 T4EX 连到端口引脚位3 T4E T4 输入允许位0 T4 不连到端口引脚1 T4 连到端口引脚位2 UART1E UART1 I/O 允许位0 UART1 I/O 不连到端口引脚1 UART1 TX 和RX 连到两个端口引脚位1 EMIFLE 外部存储器接口低端口允许位0 P0.7 P0.6 和P0.5 的功能由交叉开关或端口锁存器决定1 如果EMI0CF.4 = 0 外部存储器接口为复用方式则P0.7 (/WR) P0.6 (/RD)和P0.5 (/ALE)被交叉开关跳过它们的输出状态由端口锁存器和外部存储器接口决定1 如果EMI0CF.4 = 1 外部存储器接口为非复用方式则P0.7 (/WR)和P0.6 (/RD)被交叉开关跳过它们的输出状态由端口锁存器和外部存储器接口决定位0 CNVSTE 外部转换启动输入允许位0 CNVSTR 不连到端口引脚1 CNVSTR 连到端口引脚;b.令P74OUT=0xFF,将高端口输出方式配置为推拉方式(P74OUT为高端口输出方式寄存器);c.向高端口数据寄存器P4、P5、P6和P7写0。

12.配置端口引脚的输出方式每个端口引脚的输出方式都可被配置为漏极开路或推挽方式。

在推挽方式下向端口数据寄存器中的相应位写逻辑0 将使端口引脚被驱动到GND 写逻辑1 将使端口引脚被驱动到VDD ,在漏极开路方式下向端口数据寄存器中的相应位写逻辑0 将使端口引脚被驱动到GND 写逻辑1 将使端口引脚处于高阻状态,当系统中不同器件的端口引脚有共享连接。

即多个输出连接到同一个物理线时(例如SMBus 连接中的SDA 信号),使用漏极开路方式可以防止不同器件之间的冲突。

(推挽方式在有些书中称为推拉方式)转载-关于开漏、推挽方式2008-01-27 17:53漏级开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或使用如LCX245等电平转换芯片。

有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将I/O口设置为漏开,并想输出高电平,但向口线上写1后对方并未认出高电平,但用万用表测量引脚确有电压,这种认为是不对的,对于高阻状态来说,测量电压是无意义的,正确的方法应是外加上拉电阻,上拉电阻的阻值=上拉电压/芯片引脚最大灌(拉)电流。

推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。

对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出低电平(可降低功耗)将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0x11,这样设置I/O口为漏开。

如果学过三极管放大电路一定知道,前置单管放大器和功放末级放大电路的区别。

单片机内部的逻辑经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动,因此在单片机的输出端口必须有一个驱动电路。

这种驱动电路有两种形式:其中的一种是采用一只N型三极管(npn或n沟道),以npn三极管为例,就是e接地,b接内部的逻辑运算,c引出,b受内部驱动可以控制三极管是否导通但如果三极管的c极一直悬空,尽管b极上发生高低变化,c极上也不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的一端接c(引出脚)另一端接电源,这样当三极管的b有高电压是三极管导通,c电压为低,当b为低电压时三极管不通,c极在电阻的拉动下为高电压,这种驱动电路有个特点:低电压是三极管驱动的,高电压是电阻驱动的(上下不对称),三极管导通时的ec内阻很小,因此可以提供很大的电流,可以直接驱动led甚至继电器,但电阻的驱动是有限的,最大高电平输出电流=(vcc-Vh)/r;另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响),当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pnp导通,由于三极管的ec电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。

推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说明推挽的原理,为了更深的理解可以参考功率放大电路。

推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。

对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出低电平(可降低功耗)将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0x11,这样设置I/O口为漏开。

推挽输出0的时候和开漏特性一样,就是1的时候可以当作直接接VCC.推挽输出的驱动能力相当强,因为输出1就等于接到了VCC.而同时推挽输出的IO也需要注意不要直接接到地,否则一旦输出1,就等于VCC通过内部的场效应管直接到地了,这时候IO端发热就很大,时间长就就拜拜了.你看到DX32实验板上,按键部分都是串了个300欧才到地的,就是为了避免IO误操作,使这些输入变成推挽输出1而做的保护.以此为设计依据,一般情况下,所有的IO都尽量避免直接到地,即使这个IO你是打算用来做输入的.。

相关文档
最新文档