大运天成赖搏击

进步最重要

导航

IC的数字IO电平判别,IO口的输入输出模式

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.

posted on 2013-01-23 10:55  linucos  阅读(3643)  评论(0编辑  收藏  举报