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

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

[复制链接]
  • TA的每日心情
    奋斗
    2024-5-26 14:51
  • 签到天数: 78 天

    [LV.6]常住居民II

    11

    主题

    148

    回帖

    446

    积分

    中级会员

    积分
    446
    发表于 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
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 150 天

    [LV.7]常住居民III

    4

    主题

    235

    回帖

    960

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 154 天

    [LV.7]常住居民III

    27

    主题

    1408

    回帖

    4382

    积分

    论坛元老

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-26 14:51
  • 签到天数: 78 天

    [LV.6]常住居民II

    11

    主题

    148

    回帖

    446

    积分

    中级会员

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-26 14:51
  • 签到天数: 78 天

    [LV.6]常住居民II

    11

    主题

    148

    回帖

    446

    积分

    中级会员

    积分
    446
     楼主| 发表于 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,也可以解决。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-26 14:51
  • 签到天数: 78 天

    [LV.6]常住居民II

    11

    主题

    148

    回帖

    446

    积分

    中级会员

    积分
    446
     楼主| 发表于 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该不会出现微亮才对,实际也会出现微亮!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 150 天

    [LV.7]常住居民III

    4

    主题

    235

    回帖

    960

    积分

    高级会员

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-3 06:26 , Processed in 0.063596 second(s), 55 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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