找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5933|回复: 11
打印 上一主题 下一主题
收起左侧

求教,关于STC8系列的单片机准双向口设置

[复制链接]
跳转到指定楼层
楼主
ID:958976 发表于 2021-10-11 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于单片机那些未使用的IO口,设置为准双向口后,是把它们设置为高电平还是低电平?datasheet上说设置为高电平,但如果设置为低电平,整个系统会省些电吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:624769 发表于 2021-10-11 14:31 | 只看该作者
要省电的话,就设置为高阻。 有必要的话,再关斯密特发生器。

就单片机自身来讲,低电平比高电平更耗电,这一点,你看IO结构图就明白了。
回复

使用道具 举报

板凳
ID:123289 发表于 2021-10-11 14:58 | 只看该作者
表面上,高电平会省电一些。因为高电平时,外部浮空,IO无电流。低电平时,IO内部末级晶体管是通的,有一些电流。
实际上很难说,内部还有其它电路,在输出1、0时各自耗时会不同,说不清。
回复

使用道具 举报

地板
ID:401564 发表于 2021-10-12 00:19 | 只看该作者
如果是我想知道,我就不会问这个问题
万用表一接,写一个测试程序,每种端口设置都进行电流测量,记录进行对比
十分钟之内就知道结果
回复

使用道具 举报

5#
ID:213173 发表于 2021-10-12 06:59 | 只看该作者
STC8系列的单片机IO口的默认复位值都是高电平,默认端口输出模式因具体型号不同而有所不同,以用户手册为准。未使用的IO口可以不作任何设置,设置为低电平会省电没有依据。
回复

使用道具 举报

6#
ID:975054 发表于 2021-12-22 22:26 | 只看该作者
最新的手册明确要求:
3. 特别注意:由于 STC8G 系列的所有 I/O(除了 ISP 下载口 P3.0/P3.1 外)在上电后都是高
阻输入模式, I/O 外部电平不固定,此时如果 MCU 直接进入掉电模式/停机模式,会导致
I/O 有额外的耗电,所有在 MCU 进入掉电模式/停机模式前,必须将所有 I/O 口都根据实
际情况设置好 I/O 口的模式,对于所有没有使用的外部悬空的 I/O 都需要设置为准双向口,
并固定输出高电平。特别是部分管脚的芯片,由于芯片内部有部分 I/O 口并没有打线到外
部管脚,所以这些 I/O 也是处于悬空状态的,这部分 I/O 也需要设置为准双向口,并固定
输出高电平。

我就纳闷了:不用的引脚设置为高阻不是更省电么?可能悬空脚设为高阻输入对外部抗干扰能力不利的缘故吧.

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:975054 发表于 2021-12-22 22:42 | 只看该作者
T.1 关于 STC8H 系列 IO 口的注意事项
1. STC8H 系列芯片的 IO 口,除了 ISP 下载口 P3.0 和 P3.1 外,其余的 IO 口上电后的初始模
式均为高阻输入模式,用户无法直接输出电平,所以用户在程序初始化的地方必须要使用
PxM0 和 PxM1 两个寄存器初始化相应的 IO 模式,才能正常使用。
2. STC8H 系列芯片所有的 I/O 口均可以设置为准双向口模式、强推挽输出模式、开漏输
出模式或者高阻输入模式,另外每个 I/O 均可独立使能内部 4K 上拉电阻
3. STC8H 系列芯片不会自动为特殊 IO 设置 IO 口模式,如 ADC 口、串口、 I2C 口以及 SPI
口,必须用户自行将相应的口设置为合适的模式
4. 若使能 P5.4 管脚为复位脚,则复位电平为低电平
5. 特别注意:由于 STC8H 系列的所有 I/O(除了 ISP 下载口 P3.0/P3.1 外)在上电后都是高
阻输入模式, I/O 外部电平不固定,此时如果 MCU 直接进入掉电模式/停机模式,会导致
I/O 有额外的耗电,所有在 MCU 进入掉电模式/停机模式前,必须将所有 I/O 口都根据实
际情况设置好 I/O 口的模式,对于所有没有使用的外部悬空的 I/O 都需要设置为准双向口,
并固定输出高电平。特别是部分管脚的芯片,由于芯片内部有部分 I/O 口并没有打线到外
部管脚,所以这些 I/O 也是处于悬空状态的,这部分 I/O 也需要设置为准双向口,并固定
输出高电平。


R.3 STC8G1K08 系列
1. STC8G1K08 系列 C 版芯片和 D 版芯片的 LVD 中断、定时器 2 中断、 INT2 中断、 INT3 中
断和 INT4 中断的关闭中断指令无法在一个时钟内完成,用户必须在关闭中断指令后多加 1
个 NOP 指令。( D 版本芯片在 C 版本芯片的基础上修改了高速脉冲输出会受到同一组 I/O
口翻转影响的问题)
2. STC8G1K08 系列 C 版芯片的 PCA 高速脉冲输出功能会受到同一组 I/O 口翻转的影响,建
议不要使用高速脉冲输出功能( D 版芯片无此问题)。
3. 特别注意:由于 STC8G 系列的所有 I/O(除了 ISP 下载口 P3.0/P3.1 外)在上电后都是高
阻输入模式, I/O 外部电平不固定,此时如果 MCU 直接进入掉电模式/停机模式,会导致
I/O 有额外的耗电,所有在 MCU 进入掉电模式/停机模式前,必须将所有 I/O 口都根据实
际情况设置好 I/O 口的模式,对于所有没有使用的外部悬空的 I/O 都需要设置为准双向口,
并固定输出高电平。特别是部分管脚的芯片,由于芯片内部有部分 I/O 口并没有打线到外
部管脚,所以这些 I/O 也是处于悬空状态的,这部分 I/O 也需要设置为准双向口,并固定
输出高电平。

看来:stc小揪揪 太多太多,型号太多......

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:975054 发表于 2021-12-23 01:41 | 只看该作者
因项目需要,今天重新好好研究并设置了一番:
你说的悬空脚省电问题,还是按最新手册以上注意事项特别说明为好。
一是当引脚设置输出为低时,它的驱动能力很强,可吸收相当大的电流,万一测试时短路不够安全。
二是按手册设定,对于3.3V 单片机,“极弱上拉”晶体管的电流才约 5uA几乎不耗电,抗干扰能力强;

手册:
9.3.1 准双向口(弱上拉)
准双向口( 弱上拉) 输出类型可用作输出和输入功能而不需重新配置端口输出状态。这是因为当端
口输出为 1 时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收
相当大的电流。准双向口有 3 个上拉晶体管适应不同的需要。
在 3 个上拉晶体管中,有 1 个上拉晶体管称为“弱上拉”,当端口寄存器为 1 且引脚本身也为 1 时打
开。此上拉提供基本驱动电流使准双向口输出为 1。如果一个引脚输出为 1 而由外部装置下拉到低时,
弱上拉关闭而“极弱上拉”维持开状态,为了把这个引脚强拉为低,外部装置必须有足够的灌电流能力
使引脚上的电压降到门槛电压以下。对于 5V 单片机,“弱上拉”晶体管的电流约 250uA;对于 3.3V 单
片机,“弱上拉”晶体管的电流约 150uA。
第 2 个上拉晶体管,称为“极弱上拉”,当端口锁存为 1 时打开。当引脚悬空时,这个极弱的上拉源
产生很弱的上拉电流将引脚上拉为高电平。对于 5V 单片机,“极弱上拉”晶体管的电流约 18uA;对于
3.3V 单片机,“极弱上拉”晶体管的电流约 5uA。
第 3 个上拉晶体管称为“强上拉”。当端口锁存器由 0 到 1 跳变时,这个上拉用来加快准双向口由逻
辑 0 到逻辑 1 转换。当发生这种情况时,强上拉打开约 2 个时钟以使引脚能够迅速地上拉到高电平。
准双向口( 弱上拉) 带有一个施密特触发输入以及一个干扰抑制电路。准双向口( 弱上拉) 读外部
状态前,要先锁存为 ‘ 1’ ,才可读到外部正确的状态.
回复

使用道具 举报

9#
ID:975054 发表于 2021-12-23 01:50 | 只看该作者
我的要去及其省电,设置完,测试效果良好,省电主要靠掉电唤醒、尽量减少没必要的延迟、I/O口及外围电路优化。
例如拨码开关状态读取:I/O口设为高阻得有上拉排阻,阻值越大约省电;另外可去掉排阻,直接设为准双向口( 弱上拉),但都得先写1,才可读到外部正确的状态。
回复

使用道具 举报

10#
ID:975054 发表于 2022-3-26 18:23 | 只看该作者
最后实践证明,掉电模式最省电,掉电前所有I/O设置为准双向并写1,唤醒后恢复原I/O口设置,这样最省电!!!!!!
回复

使用道具 举报

11#
ID:975054 发表于 2022-3-26 18:25 | 只看该作者
ax6808 发表于 2021-12-23 01:50
我的要去及其省电,设置完,测试效果良好,省电主要靠掉电唤醒、尽量减少没必要的延迟、I/O口及外围电路优 ...

最后读开关状态省掉排阻了,更简单又省电!!必须采用这个方案!器件越少越可靠的!
回复

使用道具 举报

12#
ID:975054 发表于 2022-3-27 23:01 | 只看该作者
总的来说得看手册。若引脚有下拉电阻,你设置为高电平时明显就会耗电而设为低电平就不会,反过来有上拉电阻的话你设置高电平才不耗电。。。得结合具体电路设计一个个脚仔细检查。。。。空脚就按准双向并写1为好。。。。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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