请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 970|回复: 13

I/O 口工作模式与上拉电阻的问题

[复制链接]

该用户从未签到

13

主题

2

回帖

84

积分

注册会员

积分
84
发表于 2023-2-28 20:48:16 | 显示全部楼层 |阅读模式
开漏输出.jpg 新增上拉.jpg


如图, I/O 口工作模式比如设置为开漏,当端口锁存器为 0 时,开漏输出关闭所有上拉晶体管。
这时如果设置新增上拉电阻有效,那么开漏输出是否还有上拉电阻?

也就是说,新增的上拉或下拉电阻,如果设置其有效,则相当于I/O口外部(芯片外部)接了一个
上拉或下拉电阻,而与I/O 口工作模式无关。

望赐教!
多谢!
回复 送花

使用道具 举报

该用户从未签到

538

主题

8730

回帖

1万

积分

管理员

积分
14185
发表于 2023-2-28 21:09:43 | 显示全部楼层
4.1K 上拉电阻是独立的,相当于:  外部 【焊上4.1K上拉电阻,还是不焊4.1K上拉电阻】

该用户从未签到

45

主题

2743

回帖

6130

积分

超级版主

积分
6130
发表于 2023-2-28 23:14:18 | 显示全部楼层
新增的4K上拉电阻是独立的,与IO模式设置无关,一旦允许,则相当于引脚固定接一个上拉电阻到VCC,而与I/O 口工作模式无关。

该用户从未签到

7

主题

58

回帖

233

积分

中级会员

积分
233
发表于 2023-3-4 21:13:02 来自手机 | 显示全部楼层
使用注意,虽然说是上拉电阻,但是它是在复位与程序执行响应操作后才起作用,这就会在上电与起作用后有个时间差,如果要求严格,还是自己加吧,很鸡肋的功能

点评

很鸡肋的功能? 各厂家的ARM也是这样的,大部分的8位机也是这样的,你为什么不说也很鸡肋? 不要带有色眼镜看STC的IC,除了老的51,几乎所有各家的MCU的IO都是上电高阻,这是最常用的方式,上电复位期间你要搞好是低  详情 回复 发表于 2023-3-26 11:37

该用户从未签到

538

主题

8730

回帖

1万

积分

管理员

积分
14185
发表于 2023-3-4 21:21:45 | 显示全部楼层
楼上这讲法,纯属你自己一家之言,我们认为你的结论是错的
1,STC8H/STC32G 的 I/O上电后为【仅为高阻输入】,仅为高阻输入对外无驱动能力,
     不影响外部状态,这是全球趋势!
2,如系统要求某个I/O上电后立即转为高或低,你外部加10K上拉/下拉即可
3,如是和外部普通的OC门开漏器件通信,典型的 1线制/I2C/SPI--OC门开漏器件通信,
     MCU内部不占外部面积的上拉电阻则可用来取代外部上拉,简化硬件设计

该用户从未签到

538

主题

8730

回帖

1万

积分

管理员

积分
14185
发表于 2023-3-4 21:29:54 | 显示全部楼层
1.png

2.png
3.png
  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 124 天

    [LV.7]常住居民III

    64

    主题

    761

    回帖

    2463

    积分

    金牌会员

    积分
    2463
    发表于 2023-3-26 10:21:32 | 显示全部楼层
    我用STC8H8K64U实验板,3.3V供电,将P1口中设置成准双向+上拉电阻模式,然后给P1口置1,
    这时P15和P16可以输出3.2V,而P13只能输出1.84V,P17输出1.49V?

    #define     P1PU           (*(unsigned char volatile xdata *)0xfe11)//
    sfr         P_SW2       =           0xBA;//

    void main()
    {

            P1M0 = 0x00; P1M1 = 0x00; //
            P1PU = 0xff; //P_SW2=P_SW2|0x80;
            P_SW2 =0x80;

        while (1)
        {
        }
    }

    111.jpg

    开天斧-STC8H8K64U-45MHz-LQFP64-DIP64-V2.2-SCH-20220902.PDF

    162.04 KB, 下载次数: 27

    该用户从未签到

    538

    主题

    8730

    回帖

    1万

    积分

    管理员

    积分
    14185
    发表于 2023-3-26 10:31:03 | 显示全部楼层
    P1.7/P1.6/P1.5/P1.3
    1.png
    2.png
    学会看原理图后再编写程序

    开天斧-STC8H8K64U-45MHz-LQFP64-DIP64-V2.2-SCH-20220902.PDF

    162.04 KB, 下载次数: 27

    该用户从未签到

    45

    主题

    2743

    回帖

    6130

    积分

    超级版主

    积分
    6130
    发表于 2023-3-26 11:37:06 | 显示全部楼层
    创隆科技 发表于 2023-3-4 21:13
    使用注意,虽然说是上拉电阻,但是它是在复位与程序执行响应操作后才起作用,这就会在上电与起作用后有个时 ...

    很鸡肋的功能?
    各厂家的ARM也是这样的,大部分的8位机也是这样的,你为什么不说也很鸡肋?
    不要带有色眼镜看STC的IC,除了老的51,几乎所有各家的MCU的IO都是上电高阻,这是最常用的方式,上电复位期间你要搞好是低,可以外接电阻确定。

    该用户从未签到

    1

    主题

    5

    回帖

    21

    积分

    新手上路

    积分
    21
    发表于 2023-4-20 15:33:28 | 显示全部楼层
    我选择P0口设置开漏输出模式,启用全部上拉电阻,全对外输出1,拿万用表测量,为P0口什么都是0V?
    P0M0 = 0xff;
    P0M1 = 0xff;
    P0PU = 0xFF;   
    P0   = 0xff;

    点评

    因为你没有允许操作扩展寄存器,所以设置操作无效。 P_SW2 |= 0x080; //允许访问扩展寄存器 P0PU = 0xFF; //允许P0口额外上拉电阻  详情 回复 发表于 2023-4-20 16:03
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-3-29 09:33 , Processed in 0.071647 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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