关于51单片机的I/O口
传统的51单片机的I/O口有两种工作模式==开漏输出模式==和==准双向口/弱上拉模式==
在将这两个模式之前要先了解一下上拉电阻与下拉电阻 还有 TTL电平
上拉电阻与下拉电阻
Q:为什么需要上拉电阻与下拉电阻
INPUT 输入引脚在没有连接任何外部元器件的时候是处于==悬空状态==
受到周围其他电磁干扰,INPUT会是忽高忽低,处于==不稳定的状态==
下拉电阻可以使得在开关不闭合的时候,引脚的电压下拉到稳定的0 V,在开关闭合的时候,引脚又被上拉到稳定的高电平。
上拉电阻可以使得在开关不闭合的时候,引脚的电压上拉到稳定的高电平,在开关闭合的时候,引脚又被下拉到稳定的0V.
TTL电平
- TTL集成电路的主要形式为晶体管—晶体管逻辑门,TTL大部分都采用5V电源。电流控制==速度快,成本低,适合芯片间的通讯,传输距离短==
- VCC = 5V 时
-
输出高电平Uoh和输出低电平Uol
Uoh ≥ 2.4V, Uol ≤0.4V
-
输入高电平Uih和输入低电平Uil
Uih ≥ 2.0V, Uil ≤ 0.8V
开漏输出模式
-
传统51单片机 P0 口为开漏输出模式。
-
当端口输出为“1”时候驱动电流 P0 为 0uA.。 若做I/O口用必须加上拉电阻(4.7-10K)。
-
当端口输出为“0”时候驱动灌电流 P0 为 12mA。
-
开漏输出模式可用于I2C通讯中,确保在与某个设备通讯中,不受到总线上其他设备的干扰。
准双向/弱上拉模式
- 传统51单片机 P1、P2、P3 口为准双向/弱上拉模式。
- 当端口输出为“1”时,驱动电流为220 uA 。允许外部装置将其拉低。
- 当端口输出为“1”时,驱动灌电流为6 mA 。允许外部装置将其拉低。
- 这就是为什么一般选择用单片机的端口输出“0”低电平来驱动外部设备。
单片机I/O口其他模式
单片机的I/O口还有==推挽输出模式==、==高阻输入模式==
现在我对这还不是很了解,这里就不写了,以后这方面知识了解清楚了再来补充。
关于单片机的GPIO模式
以上是之前看 STC89C52 数据手册的写的
最近看到视频将单片机GPIO有两种工作模式一种是
推挽输出,另一种是高阻态输出举例是用STM32单片机举例,由于 ARM架构的STM32单片机 还没有学习,不是很了解,所以这里还是先把视频贴出来,后面学习了再过来更新。