资料介绍
我们人类可以通过连接手脚上神经网络,肌腱,控制着我们的肌肉做出各种动作,完成各种造型。那单片机里的肌腱和神经就是今天我们要讲的主角----单片机的IO口。
我们学习单片机,到底学什么呢?最终落脚点,就是落在单片机的IO口上,其实最终就是操作单片机的IO口,什么串口通讯,IIC通信协议,中断,定时器,最终在单片机上体现出来的还是我们对单片机IO口的操作。既然那么重要,今天我们就来好好的说一说单片机的IO口。
说起单片机的IO口,大家肯定会笑话小编,这么简单的东西,还要你说。对,它是简单,看遍你是个人写的单片机教程,最开始讲编程就是从操作单片机IO口开始,都是从点亮一个LED灯开始,是的,点亮一个LED灯,就是对单片机IO的最简单的操作,要么给高电平,要么给低电平,这也是操作IO的唯一的两个方法。怎么说?举个例子:要在某个IO上输出PWM信号,其实就是有规律的在这个IO上交替的给高低电平,给的速度快慢决定了PWM信号的频率,给的高电平的时间所占一个高低电平周期的多少,决定了这个PWM信号的占空比。这么一说,高大上的PWM信号是不是就简单多了。
说了这么多,下面我们具体来说STC51单的IO的配置和各个模式的区别。
STC的51单片机为了更多更能的使用和运用于不同场合,STC51单片机设计了4中IO口模式,分别是:准双向IO口模式、推挽输出模式、高阻输入模式和开漏输出模式。每个IO口的模式配置,需要两个寄存器结合起来进行设置。这两个寄存器分别是PnM1和PnM0,(在STC8系列芯片中n=0,1,2,3,4,5,6,7),以P0口为例,配置P0口需要P0M1和P0M0两个寄存器进行配置,具体如下图:
即P0M1寄存器的第0位和P0M0寄存器的第0位组合起来配置P0.0位的模式,P0M1寄存器的第1位和P0M0寄存器的第1位组合起来配置P0.1位的模式,P0口的其他位以此类推。具体的PnM1和PnM0寄存器的组合方式如下表所示:
1、准双向I/O模式题
准双向I/O模式与标准51相比,虽然在内部结构上是不同的,但在用法上类同,比如要作为输入时都必须先写“1”置成高电平,然后才能去读引脚的电平状态。兼容传统的51单片机,在上电复位后,常规的IO都是准双向IO模式。在准双向IO模式下,端口输出1时能力很弱,允许外部将其拉低,输出0时驱动能力很强,可以吸收很大电流(20mA)。从输出示意图可以看出,在此模式下有三个晶体管来适应不同的需求。当端口寄存器输出1且引脚也为1时,晶体管“弱上拉”打开,提供基本的驱动电流,如果引脚输出的1被外部电路拉低时,“极弱上拉”打开,且关闭“弱上拉”,此时外部需要有足够的灌电流来拉低引脚电平;当端口寄存器为1,且引脚悬空时,“极弱上拉”打开,提供微弱的电流来维持引脚的高电平;当端口寄存器由0变到1时,“强上拉”打开来加快引脚上电平从0到1的转换,强上拉打开后,引脚上电平由0到1的转换需要两个时钟周期,所以需要读外部状态的时候,在端口写1后需要加两个空操作来等待引脚电平的转换,完了读取到的状态才是实际引脚状态。
准双向IO输出示意图
2、推挽输出模式
推挽输出的特点是不论输出高电平还是低电平都能驱动较大的电流,比如输出高电平时可以直接点亮LED(要串联几百欧限流电阻),而在准双向I/O模式下很难办到。
推挽输出模式输出示意图
3、高阻输入模式
此模式下,电流既不能流入也不能流出,这样可以获得比较高的输入阻抗,这在interwetten与威廉的赔率体系
比较器和ADC应用中是必需的。高阻态是数字电路中的术语,它既不是高电平也不是低电平,上一级电路输出到高阻输入接口,此接口不会对上一级电路的状态有影响,和没接一样,不产生电流的衰减,电平也由接入的电平决定,电路分析时高阻态可做开路理解。可以把它看作输出(输入)电阻非常大。这样在做ADC转换的时候是必须要的,我们都知道电压表的内阻我们认为是无穷大的,在此,我们用ADC转换实现电压表的时候,就需要在高阻模式下进行。注意,在此模式下,不提供20mA的灌电流的吸收能力。
高阻输入模式示意图
4、开漏输出模式
开漏输出模式既可读外部状态,又可以对外输出高低电平,但是必须加上拉电阻。当端口锁存器输出0时,内部将关闭所有上拉晶体管,此时可以提供20mA的灌电流吸收能力;当端口寄存器输出1是,外部必须接上拉电阻,这也是此模式下的最大的优点----电气兼容性好,外部上拉电阻接3V电源,就能和3V逻辑器件接口,如果上拉电阻接5V电源,又可以与5V逻辑器件接口。
开漏输出模式示意图
STC8A特例一 ----内部集成了上拉电阻
内部已经集成了3.7K的上拉电阻,可以通过上拉电阻控制寄存器实现禁止和使能。使能上拉电阻控制寄存器相关位后,对应引脚上将接通单片机内部的3.7K电阻,可以省去外部上拉电阻,禁止上拉电阻控制寄存器后将断开内部上拉电阻。官方给出的资料显示,此3.7K上拉电阻实测为4.2K左右,而且在P3.0和P3.1上的上拉电阻可能会略小一些。
STC8A特例二----施密特触发控制
每一个IO口都对应有施密特触发控制位,都可程序控制其使能和禁止。具体使能和禁止的区别,请参看下表。
本文转载自: 单片机威廉希尔官方网站
宅(作者: 小代126)
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于STC51单片机的风扇
- 【转载】配置Keil C51配置开发 STC51单片机过程
- 基于STC51单片机控制的电机调速度系统设计方案 32次下载
- AT89C51、AT89S51、STC89C51有什么区别? 9次下载
- STC单片机特殊的IO的用法资料下载
- STC51单片机的中断与定时器进行配置的参考资料免费下载
- STC单片机的IO方波脉冲输出的方法资料和程序免费下载
- 51单片机的IO端口概念知识点和结构资料免费下载
- STC51单片机的printf函数的用法和注意事项详细说明
- STC51单片机的必备软件使用 19次下载
- STC51单片机串口温度c程序 28次下载
- STC51单片机核心板(走线图) 33次下载
- 基于STC51单片机的串口收发的源代码 55次下载
- 基于STC51单片机的串口使用的程序源代码 49次下载
- STC51单片机设计设置软件 3次下载
- 远程IO与分布式IO的区别 1322次阅读
- C51单片机的IO口介绍(下) 1375次阅读
- IO与NIO有何区别 687次阅读
- AT与STC单片机的主要区别 9496次阅读
- 配置PROFINET IO设备 1223次阅读
- HAL库GPIO输入模式在cubemx中的配置 1639次阅读
- stc与at单片机的区别 3.3w次阅读
- stm32的IO模式具体意义 3056次阅读
- 浅谈STC单片机特殊IO的用法 9268次阅读
- STC51单片机的IO配置问题解决方案 1.1w次阅读
- 关于STC单片机IO口的状态和配置IO口的工作类型等资料概述 1.1w次阅读
- STC51单片机EEPROM的使用方法 3.3w次阅读
- 关于单片机stc15芯片学习的串口通信测试问题 3695次阅读
- AT89C51单片机和8051单片机有什么区别 4.7w次阅读
- 单例模式分成饿汉模式和懒汉模式解析 1613次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多