找回密码
 立即注册
查看: 797|回复: 7

【求助】关于STC8H系列单片机STOP模式下IO口状态和功耗的问题

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-02-12 18:01:31

6

主题

27

回帖

520

积分

高级会员

积分
520
发表于 2024-2-18 10:21:17 | 显示全部楼层 |阅读模式
我用STC8H8K64U最小系统电路,3.3V供电,运行如下程序,单片机电流超过了100uA:
  1. #include "stc8h.h"
  2. #include "intrins.h"
  3. void main()
  4. {
  5.         P0IE=0x00;
  6.         P1IE=0x00;
  7.         P2IE=0x00;
  8.         P3IE=0x00;
  9.         P4IE=0x00;
  10.         P5IE=0x00;
  11.         P6IE=0x00;
  12.         P7IE=0x00;
  13.   //  WKTCL = 0xfe;                           
  14. //   WKTCH = 0x7f;
  15. //   WKTCH |= 0xff;
  16.     while (1)
  17.     {
  18.         _nop_();
  19.         _nop_();
  20.         PCON = 0x02;                            //MCU进入掉电模式
  21.         _nop_();
  22.         _nop_();
  23.         _nop_();
  24.         _nop_();
  25.         _nop_();
  26.         _nop_();
  27.         _nop_();
  28.     }
  29. }
复制代码
而换成下面的代码,电流就较正常了(2.1uA):
  1. #include "stc8h.h"
  2. #include "intrins.h"
  3. void main()
  4. {
  5.        
  6.     P0M0 = 0x00;
  7.     P0M1 = 0x00;
  8.     P1M0 = 0x00;
  9.     P1M1 = 0x00;
  10.     P2M0 = 0x00;
  11.     P2M1 = 0x00;
  12.     P3M0 = 0x00;
  13.     P3M1 = 0x00;
  14.     P4M0 = 0x00;
  15.     P4M1 = 0x00;
  16.     P5M0 = 0x00;
  17.     P5M1 = 0x00;
  18.   //  WKTCL = 0xfe;                           
  19. //   WKTCH = 0x7f;
  20. //   WKTCH |= 0xff;
  21.     while (1)
  22.     {
  23.         _nop_();
  24.         _nop_();
  25.         PCON = 0x02;                            //MCU进入掉电模式
  26.         _nop_();
  27.         _nop_();
  28.         _nop_();
  29.         _nop_();
  30.         _nop_();
  31.         _nop_();
  32.         _nop_();
  33.     }
  34. }
复制代码
这是为什么?哪位大佬能帮我解释下
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-05-04 08:52:05

718

主题

1万

回帖

1万

积分

管理员

积分
15662
发表于 2024-2-18 10:48:25 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-02-12 18:01:31

6

主题

27

回帖

520

积分

高级会员

积分
520
发表于 2024-2-18 10:52:52 | 显示全部楼层
神*** 发表于 2024-2-18 10:48
省电模式,I/O口如何设置才省电,进入主时钟停振/省电模式前 - 电源/复位/省电模式/外部晶振/内部时钟/对 ...

谢谢,但是我写的第一段代码已经关闭了数字输入,(stc8h8k64u IO上电默认是高阻输入)为什么电流还是很大?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-2-18 11:12:25 | 显示全部楼层
低功耗这东西,你得自己检查硬件电路。软件来配合硬件电路
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-02-12 18:01:31

6

主题

27

回帖

520

积分

高级会员

积分
520
发表于 2024-2-18 14:03:02 | 显示全部楼层
_奶*** 发表于 2024-2-18 11:12
低功耗这东西,你得自己检查硬件电路。软件来配合硬件电路

电路是STC8H8K64U最小系统,没有接任何外设
回复 支持 反对

使用道具 举报 送花

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

39

主题

2006

回帖

6845

积分

论坛元老

积分
6845
发表于 2024-2-19 10:04:05 | 显示全部楼层
gqz*** 发表于 2024-2-18 10:52
谢谢,但是我写的第一段代码已经关闭了数字输入,(stc8h8k64u IO上电默认是高阻输入)为什么电流还是很 ...

数字输入使能寄存器是扩展寄存器-XFR
设置前要打开扩展寄存器访问使能,
P_SW2 |= 0x80;
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-02-12 18:01:31

6

主题

27

回帖

520

积分

高级会员

积分
520
发表于 2024-3-1 20:27:36 | 显示全部楼层
乘风*** 发表于 2024-2-19 10:04
数字输入使能寄存器是扩展寄存器-XFR,
设置前要打开扩展寄存器访问使能,
P_SW2 |= 0x80;

谢谢!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:402
  • 最近打卡:2025-05-04 00:31:29

2

主题

170

回帖

208

积分

中级会员

积分
208
发表于 2024-3-2 09:27:04 来自手机 | 显示全部楼层
硬件的设计和代码的处理…缺一个你就会头大…
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-4 19:57 , Processed in 0.164992 second(s), 97 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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