在单片机学习、开发和应用中,IO口的配置对功能的实现起着重要的作用,下面介绍常见的四种配置,而现在很多单片机都兼有这四种配置,可供选择。
一.准双向口配置
如下图,当IO输出为高电平时,其驱动能力很弱,外部负载很容易将其拉至低电平。当IO输出为低电平时,其驱动能力很强,可吸收相当大的电流。
准双向口有三个上拉晶体管,一个“极弱上拉”,当端锁存器为逻辑“1”时打开,当端口悬空时,“极弱上拉”将端口上拉至高电平。
第二个上拉晶体管为“弱上拉”,当端口锁存器为逻辑“1”且端口本身也为“1”时打开,此上拉提供的电流,使准双向口输出为“1”。如果此时端口被外部装置拉到逻辑“0”时,通过施密特触发器,控制“弱上拉”关闭,而“极弱上拉”维持开状态,为了把这个端口拉低,外部装置必须有足够的灌电流能力,使管脚上的电压,降到门槛电以下。
第三个上拉晶体管为“强上拉”,当端口锁存器由“0”跳变到“1”时,这个上拉用来加快端口由逻辑“0”到逻辑“1”的转换速度。
准双向口做为输入时,通个一个施密特触如器和一个非门,用以干扰和滤波。
准双向口用作输入时,可对地接按键,如下图1,当然也可以去掉R1直接接按键,当按键闭合时,端口被拉至低电平,当按键松开时,端口被内部“极弱上拉”晶体管拉至高电平。当端口作为输出时,不应对地外接LED如图形控制,这样端口的驱动能力很弱,LED只能发很微弱的光,如果要驱动LED,要采用图3的方法,这样准双向口在输出为低时,可吸收20mA的电流,故能驱动LED。图4的方法也可以,不过LED不发光时,端口要吸收收很大电流。
二.开漏输出配置
这种配置,关闭所有上拉晶体管,只驱动下拉晶体管,下拉与准双向口下拉配置相同,因此只能输出低电平(吸收电流),和高阻状态。不能输出高电平(输也电流)。如果要作为逻辑输出,必须接上拉电阻到VCC。这种配置也可以通过上图3和图4来驱动LED。
三.推挽输出配置
这种配置的下拉与准双向口和开漏配置相同,具有较强的拉电流能力,不同的是,具有持续的强上拉。因此可以用上图2的方法来驱动LED。
四.仅为输入配置(高阻配置)
这种配置不能输出电流,也不能有收电流,只能作为输入数据使用。
以上四种配置各有其特点,在使用中应根据其特点灵活运用。
准双向口的最大特点是既可以作为输入,也可以作为输出,不需要通过控制切换。
推挽输出的特点是,无论输也高电平还是低电平都有较大的驱动能力,在输也高电平时,也能直接点亮LED,这在准双向口中是不能办到的。这种配置不宜作为输入,因为这需要外部设备有很强的拉电流的能胃。
仅为输入配置的特点是端口只能作为输入使用,可以获得很高的输入阻抗,在有模拟比较器或ADC的端口中用得较多。
开漏输出配置与准又向口相似,但内部没有上拉电阻。有很好的电气兼容性,外部接上拉电阻到3V电源,就能和3V逻辑器件连接。外部接上拉电阻到5V电源,就要以和5V器件连接。
需要说明的是以上四种配置均可以作为输入,也就是都可以检测端的逻辑状态,但其特性不同,不是每种配置都可以直接接按键。
关键字:单片机 IO口配置
引用地址:
单片机的几种IO口配置
推荐阅读最新更新时间:2024-03-16 12:47
基于LPC2131 ARM单片机16路开关量输入信号采集系统的设计
在大型工业控制系统中,各级设备的启动、停止,都对整个系统的运行状况有着一定的影响,对这些装置开关量信号的采集、动作时序的记录也显得尤为重要。所以,有必要设计一种开关量信号采集卡,来对这些信号进行采集,以对设备运行状态、生产事故的检测和分析、查询提供依据。 本文介绍的16通道开关信号采集卡采用飞利浦LPC2131 ARM单片机为核心,以0.5ms的采样周期,可对16路开关量输入信号进行采集,对开关量的跳变波形及发生时间进行实时测量,并将数据上传至上位机历史数据库,其分辨率为1ms。同时,可通过与上位机软件的配合对历史数据进行全方位查询,以分析系统运行情况。 测量卡件留有UART通讯接口,与控制器联网,将采集的数据输送到控制器
[单片机]
STM32单片机使用定时器中断方式实现毫秒级延时的设计
因为STM32 HAL库中仅有对HAl_Delay()毫秒级的延时,为实现精确的微秒级延时,就不得不修改Systick,但由于HAL库内部使用其作为超时判断等操作,对其修改会发生不可预期的错误,不建议修改。因此,使用通用定时器进行定时操作。 参考网上例程,使用定时器中断方式实现延时,代码如下: TIM3溢出时间=72MHz/(71+1)/(0+1)=1Mhz=1us 计数模式:向上计数模式 使能TIM3中断 */ __IO static uint32_t usDelay=0; void Delayms(uint32_t ms) { Delayus(ms*1000); } void Delayus(uint32_t us) {
[单片机]
用单片机控制LED亮灭
1.实验任务 如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。 2.电路原理图 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上; (2).把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上; 4.程序设计内容 (1).开关状态的检测过程 单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即
[单片机]
可编程逻辑器件与单片机在双控制器中的设计
在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口数目、内部定时器和中断源的个数都有限,在实际应用中往往需要外加扩展芯片。这无疑对系统的设计带来诸多不便。 现在有很多系统采用可编程逻辑器件CPLD作为控制核心。它与传统设计相比较,不仅简化了接口和控制,提高了系统的整体性能及工作可靠性,也为系统集成创造了条件。但可编程逻辑器件的D触发器资源非常有限,而且可编程逻辑器件在控制时序方面不如单片机那样方便,很多不熟悉的应用者往往感到应用起来非常的困难。利用可编程逻辑器件和单片机构成的双向通信控制器克服了两者的缺点,且把二者的长处最大限度地发挥出来。 1 CPLD与单片机AT
[单片机]
基于单片机的波形信号发生器设计
一、实验目的 1、了解D/ A转换与单片机的接口方法。 2、了解D/ A转换芯片0832的性能及编程方法。 3、了解单片机系统中利用D/ A转换芯片产生各种波形信号的基本方法。 二、实验内容 1.实验原理图: 2、实验内容 利用0832输出一个从-5V开始逐渐升到0V再逐渐升至5V,再从5V逐渐降至0V,再降至-5V的锯齿波电压。 三、程序 程序清单: ORG 0740H HA6S: MOV SP,#53H HA6S1: MOV R6,#00H HA6S2: MOV DPTR,#8000H MOV A,R6 MOVX @DP
[单片机]
16-基于单片机的心形流水灯
具体实现功能 系统由STC89C51/52单片机+按键模块+LED灯模块+电源构成。 具体功能: (1)至少10个发光管4种花样自动变换,循环往复; (2)彩灯花样变换的快慢节拍可以手动和自动方式控制,手动控制按钮按一次转换一次;自动控制方式每15秒变换一次,1分钟循环一遍; (3)系统复位清零开关。 设计背景 霓虹灯是城市的美容师,每当夜幕降临时,华灯初上,五颜六色的霓虹灯就把城市装扮得格外美丽。LED数码灯带采用全新的结构和专有技术,主体由高亮度发光二极管(简称LED)通过特殊的专利结构进行连接,运用特有的光学技术与专有的包覆层设计而形成。主要特性是节能、环保、防震、防水,其最大的特点就是发光均匀,360度
[单片机]
单片机中Delay延时函数的缺点与改善
最近通过专业综合实验接触单片机编程。对历程中的Delay函数有所疑问。 写笔记备忘一下。 问题的出现:不管是郭老师的单片机初学教程,还是各种开发板配套资料,一般都会用到类似函数来完成延时: void Delay(unsigned int t) { unsigned int k; while(t--) { for(k=0; k 80; k++) ; } } 例如在按键检测中,线delay一会儿来完成去抖动,检测按下后再delay一会儿来完成等待弹起。再比如在数码管显示中,控制第一个数码管显示,delay一会再控制第二个,否则就会导致整个数码管都被刷亮,一直显示8。再比如步进电机控制,先发110000再发011000之间用dela
[单片机]
基于C51单片机的MP3播放器设计与实现
0 引言
便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 172—3)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3标准用尽可能低的码流实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用1/
[嵌入式]