亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5872|回復: 20
打印 上一主題 下一主題
收起左側

[已解決]關于STC8H系列單片機掉電模式下IO口狀態和功耗的問題

  [復制鏈接]
跳轉到指定樓層
樓主
我使用STC8H8K64U單片機,電路是STC8H的最小系統,供電3.3V ,通過如下程序令單片機處于掉電模式:
  1. #include "stc8h.h"
  2. #include "intrins.h"


  3. void main()
  4. {
  5. //  WKTCL = 0xfe;                           
  6. //   WKTCH = 0x7f;
  7. //   WKTCH |= 0xff;

  8.     while (1)
  9.     {
  10.         _nop_();
  11.         _nop_();
  12.         PCON = 0x02;                            //MCU進入掉電模式
  13.         _nop_();
  14.         _nop_();
  15.         _nop_();
  16.         _nop_();
  17.         _nop_();
  18.         _nop_();
  19.         _nop_();

  20.     }
  21. }
復制代碼

測得單片機電流為
數據手冊標稱:

這差距太大了,繼續翻手冊
于是我把代碼改成:
  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. }
復制代碼
結果仍然不對

直到我看到stc-isp上的范例程序中加了幾條語句:
  1.     P0M0 = 0x00;
  2.     P0M1 = 0x00;
  3.     P1M0 = 0x00;
  4.     P1M1 = 0x00;
  5.     P2M0 = 0x00;
  6.     P2M1 = 0x00;
  7.     P3M0 = 0x00;
  8.     P3M1 = 0x00;
  9.     P4M0 = 0x00;
  10.     P4M1 = 0x00;
  11.     P5M0 = 0x00;
  12.     P5M1 = 0x00;
復制代碼
十分不解的我將這些加入到代碼中:
  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.         

  19.   //  WKTCL = 0xfe;                           
  20. //   WKTCH = 0x7f;
  21. //   WKTCH |= 0xff;

  22.     while (1)
  23.     {
  24.         _nop_();
  25.         _nop_();
  26.         PCON = 0x02;                            //MCU進入掉電模式
  27.         _nop_();
  28.         _nop_();
  29.         _nop_();
  30.         _nop_();
  31.         _nop_();
  32.         _nop_();
  33.         _nop_();

  34.     }
  35. }
復制代碼

這樣就正常了!

有沒有大佬解釋一下原因?謝謝!









分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復

使用道具 舉報

來自 6#
ID:192020 發表于 2024-2-18 13:55 | 只看該作者
睡眠時所有引腳都應該有確定電平,如果是高阻輸入的話,那外圍應該加上下拉

評分

參與人數 1黑幣 +5 收起 理由
gqzjl + 5 贊一個!

查看全部評分

回復

使用道具 舉報

沙發
ID:474386 發表于 2024-2-18 11:31 | 只看該作者
你萬用表測量的擋位前后都不一致的。你確定不是萬用表量程問題導致?
回復

使用道具 舉報

板凳
ID:1064915 發表于 2024-2-18 11:40 | 只看該作者
感謝分享,關閉了額外耗電
回復

使用道具 舉報

地板
ID:807591 發表于 2024-2-18 11:54 | 只看該作者
所有IO改成高阻 再看看 2.1ua 和0.4ua差好多
回復

使用道具 舉報

5#
ID:639106 發表于 2024-2-18 13:46 | 只看該作者
zycman 發表于 2024-2-18 11:31
你萬用表測量的擋位前后都不一致的。你確定不是萬用表量程問題導致?

最開始電流太大,超出萬用表200uA檔的量程了,只能用200mA檔
回復

使用道具 舉報

7#
ID:639106 發表于 2024-2-18 13:56 | 只看該作者
szb314 發表于 2024-2-18 11:54
所有IO改成高阻 再看看 2.1ua 和0.4ua差好多

STC8H8K64U上電默認除了3.2、3.3兩IO口之外,所有IO都是高阻剛試了下全改高阻,電流反而更大了
回復

使用道具 舉報

8#
ID:639106 發表于 2024-2-18 14:37 | 只看該作者
qq475878026 發表于 2024-2-18 13:55
睡眠時所有引腳都應該有確定電平,如果是高阻輸入的話,那外圍應該加上下拉

謝謝!這個在數據手冊的那里找到的?
回復

使用道具 舉報

9#
ID:1110945 發表于 2024-2-18 20:46 | 只看該作者
掉電定時器沒有打開,電流應該是0.4微安,我測過,
掉電定時器打開了以后電流是1.8微安,測試電壓3.0V。
回復

使用道具 舉報

10#
ID:192020 發表于 2024-2-19 09:07 | 只看該作者
gqzjl 發表于 2024-2-18 14:37
謝謝!這個在數據手冊的那里找到的?

在附錄T,應用注意事項里。不止STC,我用過的國產芯片睡眠時都是要這樣配置的,不懂STM的是不是這樣
回復

使用道具 舉報

11#
ID:807591 發表于 2024-2-19 10:48 | 只看該作者
gqzjl 發表于 2024-2-18 13:56
STC8H8K64U上電默認除了3.2、3.3兩IO口之外,所有IO都是高阻剛試了下全改高阻,電流反而更大了

STC測試的 應該是沒有外圍電路,單獨芯片的功耗,有外圍電路,那多余的功耗不能算在芯片頭上
回復

使用道具 舉報

12#
ID:1116534 發表于 2024-8-29 08:25 | 只看該作者
gqzjl 發表于 2024-2-18 13:56
STC8H8K64U上電默認除了3.2、3.3兩IO口之外,所有IO都是高阻剛試了下全改高阻,電流反而更大了

我也是,請問你解決沒有
回復

使用道具 舉報

13#
ID:161164 發表于 2024-8-29 10:11 | 只看該作者
qizhixu 發表于 2024-8-29 08:25
我也是,請問你解決沒有

全部引腳設為準雙向
沒用的引腳設高電平
有用的引腳保持和外界電平一致
回復

使用道具 舉報

14#
ID:430492 發表于 2024-8-29 13:22 | 只看該作者
掉電模式,超級省電,特別是電池供電。
回復

使用道具 舉報

15#
ID:879348 發表于 2024-8-29 13:35 | 只看該作者
2uA已經足夠了
回復

使用道具 舉報

16#
ID:1116534 發表于 2024-8-29 15:02 | 只看該作者
lkc8210 發表于 2024-8-29 10:11
全部引腳設為準雙向
沒用的引腳設高電平
有用的引腳保持和外界電平一致

我設置了準雙向口,電流1.6微安,但是鏈接24L01后,電流就變大了,用NMOS管控制電源0V,沒有用
回復

使用道具 舉報

17#
ID:1034262 發表于 2024-8-30 09:56 | 只看該作者
STC Mcu睡眠時IO不耗電的處理方法:

1、對于設置為準雙向口、推挽輸出、開漏輸出低電平的IO,IO本身不耗電,輸出電平與外部電路配合成外部電路不耗電的方式即可。

2、設置為高阻或開漏輸出高電平的IO,如果懸空,則會因為輸入狀態不確定導致有電流,以下兩種方式任選一種:
    A、IO口接一個確定的高電平(電壓高于VDD-0.3)或低電平(電壓低于0.3V),否則耗電。
    B、將IO口對應的數字輸入功能關閉(對于STC8系列、STC32系列)。
       比如關閉P1.0、P1.1的數字輸入:
         P_SW2 |= 0x80;   //允許操作擴展寄存器
         P1IE   = ~0x03;  //將P1.0 P1.1的數字輸入功能關閉

3、睡眠前,禁止ADC(如果已經允許的話),禁止模擬比較器(如果已經允許的話)。

4、在主程序進入睡眠,睡眠后至少要加3個空操作(NOP)。
   PCON |= 0x02;
   _nop_();
   _nop_();
   _nop_();

回復

使用道具 舉報

18#
ID:161164 發表于 2024-8-30 10:03 | 只看該作者
qizhixu 發表于 2024-8-29 15:02
我設置了準雙向口,電流1.6微安,但是鏈接24L01后,電流就變大了,用NMOS管控制電源0V,沒有用

24L01是3.3V的吧?
需要加開關管來斷開24L01的電源
回復

使用道具 舉報

19#
ID:1116534 發表于 2024-8-30 13:57 | 只看該作者
lkc8210 發表于 2024-8-30 10:03
24L01是3.3V的吧?
需要加開關管來斷開24L01的電源

電源是3.3V,加了MOS管,Nmos放負極,Pmos正極,還是不行,并且發送數據還出錯了
回復

使用道具 舉報

20#
ID:1116534 發表于 2024-10-29 13:53 | 只看該作者
qizhixu 發表于 2024-8-30 13:57
電源是3.3V,加了MOS管,Nmos放負極,Pmos正極,還是不行,并且發送數據還出錯了

我和你遇到同樣問題,你解決了嗎?
回復

使用道具 舉報

21#
ID:961114 發表于 2024-10-29 16:47 | 只看該作者
I/O口, 輸入/輸出, 用啥工作模式 ?
===STC32/STC8
答:如不考慮功耗
1,輸出請設置成強推挽輸出,20mA以上的驅動能力 !
      你來個干擾看能拿他咋樣 ,他就不理你 !!!
2,輸入請設置成高阻輸入,默認施密特觸發器輸入 !
     高阻輸入的阻抗是無窮大,至少 100兆歐以上,相當于接到空氣,但有寄生電容的影響
     打開內部4K上拉/或外部加10K上拉/或對方是強推挽輸出
     ====如對方是強推挽輸出,就沒必要打開內部的4K上拉,也沒必要外部加上拉
     ====輸入口也可再并個小電容到地,一般沒必要,軟件反復多讀幾次也能解決
3,不用的I/O,最專業的做法:設置為【高阻輸入 + 關閉數字輸入】
      這樣浮空的I/O, 高阻輸入模式,在省電模式時也不會耗電;
      另外不小心短接到 MCU-VCC/GND 也不會燒掉,高阻輸入 | 電流流不進來也流不出去
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表