找回密码
 立即注册
查看: 1141|回复: 6

STC8H8K64U开发箱9.6版IO口初始化配置问题

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:341
  • 最近打卡:2025-05-06 08:16:33

19

主题

205

回帖

832

积分

高级会员

积分
832
发表于 2023-12-27 08:25:48 | 显示全部楼层 |阅读模式
本帖最后由 lclbf 于 2023-12-27 09:41 编辑

学习开发箱DEMO程序,发现按照官方配置,P6口输出控制的灯,不需要点亮的LED会有微亮,有强光看不出来。具体情况如下:




    P0M1 = 0x30;   P0M0 = 0x30;   //设置P0.4、P0.5为漏极开路(实验箱加了上拉电阻到3.3V)
    P1M1 = 0x30;   P1M0 = 0x30;   //设置P1.4、P1.5为漏极开路(实验箱加了上拉电阻到3.3V)
    P2M1 = 0x3c;   P2M0 = 0x3c;   //设置P2.2~P2.5为漏极开路(实验箱加了上拉电阻到3.3V)
    P3M1 = 0x50;   P3M0 = 0x50;   //设置P3.4、P3.6为漏极开路(实验箱加了上拉电阻到3.3V)
    P4M1 = 0x3c;   P4M0 = 0x3c;   //设置P4.2~P4.5为漏极开路(实验箱加了上拉电阻到3.3V)
    P5M1 = 0x0c;   P5M0 = 0x0c;   //设置P5.2、P5.3为漏极开路(实验箱加了上拉电阻到3.3V)
    P6M1 = 0x00;   P6M0 = 0x00;   //设置为漏极开路(实验箱加了上拉电阻到3.3V)
    P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口

上面是DEMO程序中的配置,P6口后面注解说设置为开漏,实际是准双向口。所以直接下载程序,看不出不亮的灯有微亮。
我测试,配置为准双向口和推挽输出,不会出现微亮。设置为高阻输入和开口输出,即使不需要点亮的IO口,设置为高电
平输出,结果都会有微亮。没有想明白是为什么。P6口实际也接了上拉电阻。

   单片机是5V减去一个二极管的压降供电,和SYS-VCC电压基本一样。我设置为开漏输出的时候,把不需要点亮的二极管的IO口输出高电平,这样LED该不会出现微亮才对,实际也会出现微亮!

电路简化如下:






A.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:418
  • 最近打卡:2025-05-06 11:39:51

5

主题

296

回帖

2080

积分

金牌会员

积分
2080
发表于 2023-12-27 09:15:12 | 显示全部楼层
开漏输出不是内部没有上下拉电阻吗?
回复 支持 反对

使用道具 举报 送花

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

39

主题

2010

回帖

6857

积分

论坛元老

积分
6857
发表于 2023-12-27 09:19:08 | 显示全部楼层
这个问题,下面帖子也有讨论过,可将LED控制接口P6.0 - P6.7设置为推挽输出模式
https://www.stcaimcu.com/forum.p ... d=263&pid=34748
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:341
  • 最近打卡:2025-05-06 08:16:33

19

主题

205

回帖

832

积分

高级会员

积分
832
发表于 2023-12-27 09:22:52 | 显示全部楼层
lzl1*** 发表于 2023-12-27 09:15
开漏输出不是内部没有上下拉电阻吗?

外部有上拉电阻
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:341
  • 最近打卡:2025-05-06 08:16:33

19

主题

205

回帖

832

积分

高级会员

积分
832
发表于 2023-12-27 09:31:48 | 显示全部楼层
乘风*** 发表于 2023-12-27 09:19
这个问题,下面帖子也有讨论过,可将LED控制接口P6.0 - P6.7设置为推挽输出模式
https://www.stcaimcu.com/ ...

谢谢 你的回复,我去看了那个贴,其实就是sys-vcc通过电阻和发光二极管到3.3V形成了回路。我没有想明白为啥推挽输出和准双向口可以不出现微亮。还有个解决办法就是把SYS-VCC换成3.3V,也可以解决。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:341
  • 最近打卡:2025-05-06 08:16:33

19

主题

205

回帖

832

积分

高级会员

积分
832
发表于 2023-12-27 09:42:25 | 显示全部楼层
乘风*** 发表于 2023-12-27 09:19
这个问题,下面帖子也有讨论过,可将LED控制接口P6.0 - P6.7设置为推挽输出模式
https://www.stcaimcu.com/ ...

单片机是5V减去一个二极管的压降供电,和SYS-VCC电压基本一样。我设置为开漏输出的时候,把不需要点亮的二极管的IO口输出高电平,这样LED该不会出现微亮才对,实际也会出现微亮!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:418
  • 最近打卡:2025-05-06 11:39:51

5

主题

296

回帖

2080

积分

金牌会员

积分
2080
发表于 2023-12-27 11:44:03 | 显示全部楼层
lzl1*** 发表于 2023-12-27 09:15
开漏输出不是内部没有上下拉电阻吗?

发光二极管发亮肯定是有点流的出现,我觉得SYS_VCC和3.3V肯定有压差,如果设置P6.2为推挽模式的话内部的上拉电阻就会对LED下端放电使LED反向截止就不会发光了
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 18:49 , Processed in 0.126124 second(s), 93 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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