• 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.

  • 相关阅读:
    [源码]一个简单的源代码行数统计器
    [转载]一个java程序员的面试
    [源码]用c#创建支持多语言的应用程序
    Effective C#
    [源码]类似于 word 的颜色选择器 ColorPicker
    opera中开启WebGL
    Java学习之路
    邮箱正则表达式写法
    AX 2009 扩展类型控件的Lookup的写法
    唐骏的管理名言
  • 原文地址:https://www.cnblogs.com/linucos/p/2872698.html
Copyright © 2020-2023  润新知