找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STC15F104W单片机如何进入低功耗模式?

[复制链接]
跳转到指定楼层
楼主
这段时间迷上了单片机,买了个开发版研究跟着看郭老师视频跟着做,现在只会点亮LED灯了,然后通过按键控制某个IO口输出低电平。我现在自己做了个锂电池供电的小夜灯,接了一个按键开关,和一个光线传感模块,现在能正常使用,但是这个单片机有待机功耗,用锂电池供电用不了几周没电了,各位大侠怎么写程序让它进入低功耗,然后通过外部IO口输入低电平让它进入工作状态,谢谢各位!


类似这样的单片机,图片是在网上找的参考一下。谢谢感激!


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:139866 发表于 2021-3-18 17:40 | 只看该作者
因为不知道你是什么样子的单片机,所以只能说有一个函数,直接调用可以进入低功耗模式,结束低功耗模式也有几种方法,但是只会点亮LED灯的话推荐使用外部中断退出低功耗模式

评分

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

查看全部评分

回复

使用道具 举报

板凳
ID:883167 发表于 2021-3-18 18:05 | 只看该作者
天ノ忆 发表于 2021-3-18 17:40
因为不知道你是什么样子的单片机,所以只能说有一个函数,直接调用可以进入低功耗模式,结束低功耗模式也有 ...

单片机是STC15F104W,因为这个IO口少,新手学习起来简单,谢谢大侠!
回复

使用道具 举报

地板
ID:584814 发表于 2021-3-18 18:14 | 只看该作者
天ノ忆 发表于 2021-3-18 17:40
因为不知道你是什么样子的单片机,所以只能说有一个函数,直接调用可以进入低功耗模式,结束低功耗模式也有 ...

楼主图纸上画的是STC15F104E的8脚芯片,不知道这个是不是单片机 ?
如果是,能不能给个具体函数 ?

评分

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

查看全部评分

回复

使用道具 举报

5#
ID:883167 发表于 2021-3-18 18:45 | 只看该作者
man1234567 发表于 2021-3-18 18:14
楼主图纸上画的是STC15F104E的8脚芯片,不知道这个是不是单片机 ?
如果是,能不能给个具体函数 ?

对的,是这个单片机,就是不知道怎么操作让它进入低功耗模式,然后通过IO口接低电平让它唤醒。感谢!!
回复

使用道具 举报

6#
ID:814525 发表于 2021-3-18 19:09 | 只看该作者
以下提供参考,要什么功能自己完善

    IT0 = 0;                    //设置INT0的中断类型为上升沿和下降沿,上升沿和下降沿均可唤醒
//  IT0 = 1;                    //设置INT0的中断类型为仅下降沿,下降沿唤醒
    EX0 = 1;                    //使能INT0中断
    EA = 1;

掉电模式
    {
        PCON = 0x02;            //MCU进入掉电模式
        _nop_();                //掉电模式被唤醒后,首先执行此语句,然后再进入中断服务程序
        _nop_();
        _nop_();
        _nop_();
    }
//中断服务程序
void exint0() interrupt 0       //INT0中断入口
{
    P10 = !P10;                 //将测试口取反
}



评分

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

查看全部评分

回复

使用道具 举报

7#
ID:378729 发表于 2021-3-18 19:11 | 只看该作者

评分

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

查看全部评分

回复

使用道具 举报

8#
ID:213173 发表于 2021-3-18 20:08 | 只看该作者

回复

使用道具 举报

9#
ID:155507 发表于 2021-3-18 20:14 | 只看该作者
我给你来个程序试试


  1. /*---------------------------------------------------------------------*/
  2. /* --- STC MCU Limited ------------------------------------------------*/
  3. /* --- STC15F100 系列 INT0唤醒掉电模式举例--------------------------*/
  4. /* --- Mobile: (86)13 922 805190 -------------- -------------------------*/
  5. /* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序        */
  6. /* 如果要在文章中应用此代码,请在文章中注明使用了STC的资料及程序        */
  7. /*---------------------------------------------------------------------*/

  8. //本示例在Keil开发环境下请选择Intel的8058芯片型号进行编译
  9. //若无特别说明,工作频率一般为11.0592MHz


  10. #include "reg51.h"
  11. #include "intrins.h"

  12. //-----------------------------------------------

  13. sfr P3M1 = 0xb1;
  14. sfr P3M0 = 0xb2;

  15. bit FLAG;                       //1:上升沿中断 0:下降沿中断
  16. sbit P33 = P3^3;

  17. //-----------------------------------------
  18. //中断服务程序
  19. void exint0() interrupt 0       //INT0中断入口 P3.2
  20. {
  21.     P33 = !P33;                 //将测试口取反
  22.     FLAG = INT0;                //保存INT0口的状态, INT0=0(下降沿); INT0=1(上升沿)
  23. }

  24. //-----------------------------------------------

  25. void main()
  26. {
  27.     P3M0 = 0x00;
  28.     P3M1 = 0x00;


  29.     IT0 = 0;                    //设置INT0的中断类型为上升沿和下降沿,上升沿和下降沿均可唤醒
  30. //  IT0 = 1;                    //设置INT0的中断类型为仅下降沿,下降沿唤醒

  31.     EX0 = 1;                    //使能INT0中断
  32.     EA = 1;

  33.     while (1)
  34.     {
  35.         PCON = 0x02;            //MCU进入掉电模式
  36.         _nop_();                //掉电模式被唤醒后,首先执行此语句,然后再进入中断服务程序
  37.         _nop_();
  38.     }
  39. }

复制代码

评分

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

查看全部评分

回复

使用道具 举报

10#
ID:883167 发表于 2021-3-30 09:13 | 只看该作者
angmall 发表于 2021-3-18 20:14
我给你来个程序试试

老师,是不是中断程序INT0中断口是P3.2嘛?需要给P3.2引脚接入高电平或低电平去唤醒休眠?

回复

使用道具 举报

11#
ID:155507 发表于 2021-3-30 12:21 | 只看该作者
林大侠 发表于 2021-3-30 09:13
老师,是不是中断程序INT0中断口是P3.2嘛?需要给P3.2引脚接入高电平或低电平去唤醒休眠?

是的,试试不就知道了,实践是检验真理的唯一标准。
回复

使用道具 举报

12#
ID:207421 发表于 2021-3-30 18:11 | 只看该作者
林大侠 发表于 2021-3-30 09:13
老师,是不是中断程序INT0中断口是P3.2嘛?需要给P3.2引脚接入高电平或低电平去唤醒休眠?

唤醒是外部中断0输入,上升沿或下降沿。
上升沿:由低电平转换到高电平的过程。
下降沿:由高电平转换到低电平的过程。
P32口在头文件里面就定义了的,名为 INT0。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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