• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于STC单片机IO口状态,双向、推挽、开漏、高阻四种状态切换

大头 2021-01-08 浏览量:2184
STC单片机IO口可以在双向、推挽、开漏、高阻四种状态切换。在切换过程中IO口会变成什么状态,手册没有明确说明。比如推挽为0时切换到双向,IO口是0还是1,推挽为1时切换到双向,IO口是0还是1,其他状态之间切换时有什么特别的变化?有哪位大神知道?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • IO的方向寄存器和输出寄存器是不同的寄存器,方向寄存器用于控制四种状态,输出寄存器用于控制输出高低电平,输出寄存器在高阻状态下是无效的,但在准双向、推挽、开漏三种模式下是有效的。
    • 发布于 2021-01-08
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 推挽切换输出是一样的,所以io是1,如果切换成开漏有上拉电阻也是1,没有上拉就是0,高输入是随机状态可能0可能1
    • 发布于2021-01-08
    • 举报
    • 评论 0
    • 0
    • 0

  • STC的数据手册有内部框图的,推挽和准双向电路一样,就是驱动能力不一样。开漏的话本身就会加上拉电阻的,高阻是输入。

    但是最好的的程序是在切换状态的时候指定输出状态,使电平处于一个确定的状态。一般只有在初始化的时候才会切换。

    • 发布于2021-01-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 切换过程就是在写寄存器,那寄存器还是保留之前的那个值,自然IO就是维持之前的状态,一般寄存器写入之后是立即生效的
    • 发布于2021-01-11
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于STC单片机IO口状态,双向、推挽、开漏、高阻四种状态切换