|
我使用STC8H8K64U單片機(jī),電路是STC8H的最小系統(tǒng),供電3.3V
55555ot.jpg (259.33 KB, 下載次數(shù): 68)
下載附件
2024-2-18 09:41 上傳
,通過如下程序令單片機(jī)處于掉電模式:
- #include "stc8h.h"
- #include "intrins.h"
- void main()
- {
- // WKTCL = 0xfe;
- // WKTCH = 0x7f;
- // WKTCH |= 0xff;
- while (1)
- {
- _nop_();
- _nop_();
- PCON = 0x02; //MCU進(jìn)入掉電模式
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- }
復(fù)制代碼
測得單片機(jī)電流為
e6a16a4895c273fdca90131a1eccb5c.jpg (143.09 KB, 下載次數(shù): 54)
下載附件
2024-2-18 09:42 上傳
數(shù)據(jù)手冊標(biāo)稱:
555555555555555555.jpg (453.09 KB, 下載次數(shù): 50)
下載附件
2024-2-18 09:42 上傳
這差距太大了,繼續(xù)翻手冊
55555.jpg (348.91 KB, 下載次數(shù): 43)
下載附件
2024-2-18 09:42 上傳
于是我把代碼改成:
- #include "stc8h.h"
- #include "intrins.h"
- void main()
- {
- P0IE=0x00;
- P1IE=0x00;
- P2IE=0x00;
- P3IE=0x00;
- P4IE=0x00;
- P5IE=0x00;
- P6IE=0x00;
- P7IE=0x00;
- // WKTCL = 0xfe;
- // WKTCH = 0x7f;
- // WKTCH |= 0xff;
- while (1)
- {
- _nop_();
- _nop_();
- PCON = 0x02; //MCU進(jìn)入掉電模式
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- }
復(fù)制代碼 結(jié)果仍然不對
d41e50381155d88d915fe76785a9be3.jpg (118.42 KB, 下載次數(shù): 46)
下載附件
2024-2-18 09:30 上傳
直到我看到stc-isp上的范例程序中加了幾條語句:
- P0M0 = 0x00;
- P0M1 = 0x00;
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x00;
- P5M0 = 0x00;
- P5M1 = 0x00;
復(fù)制代碼 十分不解的我將這些加入到代碼中:
- #include "stc8h.h"
- #include "intrins.h"
- void main()
- {
-
- P0M0 = 0x00;
- P0M1 = 0x00;
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x00;
- P5M0 = 0x00;
- P5M1 = 0x00;
-
- // WKTCL = 0xfe;
- // WKTCH = 0x7f;
- // WKTCH |= 0xff;
- while (1)
- {
- _nop_();
- _nop_();
- PCON = 0x02; //MCU進(jìn)入掉電模式
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- }
復(fù)制代碼
這樣就正常了!
d639d5d3b9d4adbe8d285cab8863e0d.jpg (133.49 KB, 下載次數(shù): 60)
下載附件
2024-2-18 09:37 上傳
有沒有大佬解釋一下原因?謝謝!
|
|