找回密码
 立即注册
查看: 934|回复: 9

对IO口在高阻态似乎仍然对输出有影响的疑问

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-8-3 16:58:59 | 显示全部楼层 |阅读模式
本帖最后由 hsrzq 于 2024-8-3 17:09 编辑

截图202408031645361750.jpg 截图202408031638416494.jpg
芯片使用STC8A8K64D4最小系统板。

电路图如上所示极其简单,如右图所示。U1(1)和U1(3)接最小系统板左上角3.3v供电。
当U1(2)悬空时LED1、LED2均不亮,符合预期。

当U1(2)接P3.4时:
当P3强推挽,当P3.4设置成高电平时LED2亮,设置成低电平LED1亮。这个也符合预期。
当P3高阻时,无论P3.4是高电平还是低电平,LED2保持常亮,这个就完全不符合预期了。
  1. #include "stc8a8k64d4.h"
  2. #include "stdint.h"
  3. void main(void)
  4. {
  5.     P3M0 = 0b00;
  6.     P3M1 = 0xff;
  7.     P34 = 0;
  8. }
复制代码

谁能给我解释一下这是为什么呢?

我平时主要是搞软件的,对硬件可以说一窍不通。为了练习用电烙铁搞的这个电路
业余撸代码,专业开飞机
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-8-3 17:15:40 | 显示全部楼层
wnag*** 发表于 2024-8-3 17:08
你这个板子原理图发来看看

手抖了,是P3.4不是P4。
看我第一个图的最小系统板,引脚都是直连CPU的。
我也怀疑过引脚带上拉,试过其它端口(P7)都一样。
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-8-3 17:25:29 | 显示全部楼层
wnag*** 发表于 2024-8-3 17:08
把三极管去掉,加上三极管,两个LED之间的电位就不是高阻状态了

1. 三极管去不掉。两个三极管基极相连的地方,后面还要继续接个工作电流很大的元件,IO口的电流远远不够。
2. 我重点问题在于,IO高阻接U1(2),不就相当于U1(2)悬空吗,但为什么和U1(2)实际物理悬空结果不一样……
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-8-3 18:24:07 | 显示全部楼层
基极用2个10K电阻分压到3.3/2=1.65V试试
DebugLab
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-8-3 21:49:21 | 显示全部楼层
Debu*** 发表于 2024-8-3 18:24
基极用2个10K电阻分压到3.3/2=1.65V试试

问题倒是可以解决,但我其实更想知道原因,为什么“高阻”并不阻……

点评

互补射随器(图腾柱)电路,输入悬空状态随机,原则上禁止开路 按1mA就能看到LED亮,三极管HFE为200计算,输入5μA就能亮,这么小的电流是极易受干扰的  详情 回复 发表于 2024-8-3 22:05
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-8-3 22:05:00 | 显示全部楼层
hsr*** 发表于 2024-8-3 21:49
问题倒是可以解决,但我其实更想知道原因,为什么“高阻”并不阻……

互补射随器(图腾柱)电路,输入悬空状态随机,原则上禁止开路
按1mA就能看到LED亮,三极管HFE为200计算,输入5μA就能亮,这么小的电流是极易受干扰的
DebugLab
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-8-3 22:26:17 | 显示全部楼层
先拆了R3看什么情况,分析是三极管漏电还是单片机IO漏电,如果是前者,就把两个三极管换成MMBT5551和MMBT5401试试,也许能解决问题,如果是后者,则需要给三极管基极加上下拉,将默认电位控制在VCC/2附近。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-8-3 22:40:09 | 显示全部楼层
Debu*** 发表于 2024-8-3 22:05
互补射随器(图腾柱)电路,输入悬空状态随机,原则上禁止开路
按1mA就能看到LED亮,三极管HFE为200计算 ...

谢谢您,懂了!
晚上发现手捏导线都能看到微亮,看来果然容易受到影响~
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-8-3 22:40:56 | 显示全部楼层
晓*** 发表于 2024-8-3 22:26
先拆了R3看什么情况,分析是三极管漏电还是单片机IO漏电,如果是前者,就把两个三极管换成MMBT5551和MMBT54 ...

嗯嗯,另一个大神也是这么说的,让拉到Vcc/2别直接悬空
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:321
  • 最近打卡:2025-05-01 21:04:13
已绑定手机

21

主题

487

回帖

1027

积分

金牌会员

积分
1027
发表于 2024-8-4 08:16:34 | 显示全部楼层
实践中涨知识,这个案例在实际电路中多数会类似的控制
回复 支持 1 反对 0

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:21 , Processed in 0.135540 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表