IC的数字IO电平判别,IO口的输入输出模式
2013-01-23 10:55
211 查看
1. C8051F系列单片机,IO配置如下:
推挽输出,push-pull,不需要外加驱动电路,可以直接驱动外面的芯片。
推挽输出的时候,端口输出高电平,NMOS截止,PMOS导通,把IO口拉高;端口输出为低电平,PMOS截止,NMOS导通,把IO口拉低,适合驱动一些TTL负载,LED,或是通讯时用作数据或时钟发送;
漏极开路,open-drain,需要外加电阻上拉到电源。
漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。
模拟输入,Analog in
模拟输入被使能时,其它IO方式将被禁止,模拟信号直接经过一个Pass Gate 送入MCU内部的ADC;
数字输入,Digital in
当数字输入时,IO口输出禁止,数字信号经过 Schmitt Trigger(施密特触发器 )送入内部逻辑。
特别需要注意的是当IO口用作输入端口时:
有两种方法:
1)、 禁止IO输出,配置为数字输入。注意是所有的IO端口的输出方式都被禁止
2)、 配置为OD方式。这时外部的高电平会保持,低电平会把IO拉低。
通常中断输入,数据输入时可以这样配置
2. 通过C8051F的IO配置,可见,配置不同的IO模式时候,实际IC内部逻辑是变化的;同时,通过实际了解IC的IO内部逻辑,对IO操作的一些疑问,就会有答案:
(1) IO输入的电平一般是有门限的,比如假设0-0.8V算低电平,1.8-3.3V算高电平,这个是谁规定的呢?如果2V输入,是某部分电路不工作了还是怎么样了?
>> 如同上边描述的,当作为数字输入时候,数字信号经过施密特触发器进入内部逻辑,施密特触发器的特点是,有两个阀值,高和低,当输入电平超过高阀值时候,触发器输出高(VCC),当输入电平低过低阀值时候,触发器输出低(GND),当然这是简单描述,不过是可以实现的,而且实现施密特触发器方法很多,成本有高有底.
to be continued.
推挽输出,push-pull,不需要外加驱动电路,可以直接驱动外面的芯片。
推挽输出的时候,端口输出高电平,NMOS截止,PMOS导通,把IO口拉高;端口输出为低电平,PMOS截止,NMOS导通,把IO口拉低,适合驱动一些TTL负载,LED,或是通讯时用作数据或时钟发送;
漏极开路,open-drain,需要外加电阻上拉到电源。
漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。
模拟输入,Analog in
模拟输入被使能时,其它IO方式将被禁止,模拟信号直接经过一个Pass Gate 送入MCU内部的ADC;
数字输入,Digital in
当数字输入时,IO口输出禁止,数字信号经过 Schmitt Trigger(施密特触发器 )送入内部逻辑。
特别需要注意的是当IO口用作输入端口时:
有两种方法:
1)、 禁止IO输出,配置为数字输入。注意是所有的IO端口的输出方式都被禁止
2)、 配置为OD方式。这时外部的高电平会保持,低电平会把IO拉低。
通常中断输入,数据输入时可以这样配置
2. 通过C8051F的IO配置,可见,配置不同的IO模式时候,实际IC内部逻辑是变化的;同时,通过实际了解IC的IO内部逻辑,对IO操作的一些疑问,就会有答案:
(1) IO输入的电平一般是有门限的,比如假设0-0.8V算低电平,1.8-3.3V算高电平,这个是谁规定的呢?如果2V输入,是某部分电路不工作了还是怎么样了?
>> 如同上边描述的,当作为数字输入时候,数字信号经过施密特触发器进入内部逻辑,施密特触发器的特点是,有两个阀值,高和低,当输入电平超过高阀值时候,触发器输出高(VCC),当输入电平低过低阀值时候,触发器输出低(GND),当然这是简单描述,不过是可以实现的,而且实现施密特触发器方法很多,成本有高有底.
to be continued.
相关文章推荐
- 第7讲 IO/输入与输出-Decorator涉及模式
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-5(装饰设计模式)
- IO口输入输出模式理解
- STM8S PWM输出停止后 IO口电平输出
- 输入一串数字 以此加空格输出
- 输入10个数字,然后逆序输出
- 输入一个不多于5位的正整数,判断它是几位数,并逆序输出各位数字
- C++代码札记(二)猴子吃桃问题、输入10个数字,输出其中最大的3个数字。
- JAVA高级视频_IO输入与输出 ObjectInputStream和ObjectOutputStream类 学习笔记
- JAVA高级视频_IO输入与输出_RandomAccessFile类_笔记
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
- Java输入一个数字跟次数进行拼接方法(可计算结果),输出2+22+222+2222.........
- IO:输入输出
- gpio在输入模式下一直为低电平解决方法
- Java高级视频_IO输入与输出(一)
- IO输入与输出(全部)
- 在键盘输入文字时,如何判别只输入数字类型?
- 输入数字星期,输出英文
- LeetCode 17. Letter Combinations of a Phone Number--输入数字,每个数字对应手机键盘的字符,输出组合的字符串
- Java输入输出(IO)操作