问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机怎么休眠

发布网友 发布时间:2022-04-25 18:29

我来回答

3个回答

热心网友 时间:2023-10-23 18:07

呵呵,最近刚好研究了一下这个问题

51单片机空闲和掉电模式应用
我们知道单片机内部有一个电源管理寄存器PCON,这个寄存器的最低两位,IDL和PD这两位分别用来设定是否使单片机进入空闲模式和掉电模式。
1. 空闲模式 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。但假若定时器正在运行,那么计数器寄存器中的值还将会增加。单片机在空闲模式下可由任一个中断或硬件复位唤醒,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。???? 让单片机进入空闲模式的目的通常是为了降低系统的功耗,举个很简单的例子,大家都用过数字万用表,在正常使用的时候表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA~7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1μA以下。
2.?? 休眠模式 当单片机进入掉电模式时,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作。使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令,进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。可由外部中断低电平触发或由下降沿触发中断或者硬件复位模式换醒单片机,需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。【例】:开启两个外部中断,设置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器。程序代码如下:
/************************************************************************
************************************************************************/
#define IdleMode() PCON |=0x01 //01为空闲模式
// 当单片机进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状
//芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值。
//但假若定时器正在运行,那么计数器寄存器中的值还将会增加。
//单片机在空闲模式下可由任一个中断或硬件复位唤醒,
//需要注意的是,使用中断唤醒单片机时,程序从原来停止处继续运行,当使用硬件复位唤醒单片机时,程序将从头开始执行。
#define PowerOFF() PCON |=0x02 //02掉电模式
//进入掉电模式,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作
//使单片机进入休眠模式的指令将成为休眠前单片机执行的最后一条指令
//进入休眠模式后,芯片中程序未涉及到的数据存储器和特殊功能寄存器中的数据都将保持原值。
//可通过外部中断唤醒,proteus仿真时无法唤醒
#define EXT0_Init() EX0=1;EA=1 //打开外部中断,以方便唤醒。唤醒后程序从原来停止处继续运行
//电源管理模板程序
main()
{
EXT0_Init();
while(1) //
{
if(time.sec==0){time.sec++;PowerOFF();}
//
}
}
void EX0ISR(void) interrupt 0
{
//PCON&=0xfc; //清除之前的掉电(空闲)模式
}

热心网友 时间:2023-10-23 18:07

51单片机, 如 STC 系列单片机 ,可以进入休眠状态(或者掉电模式),待机方式(或者空闲模式),
掉电模式:为 时钟停止的 所有工作状态 全部停止, 可以 有部分 IO 口触发唤醒(连接按键的功能) , 可以 通过 软件 设置 标志位 进入掉电模式
空闲模式:为除了 CPU 不工作外,其余 都正常工作 如 定时器 等等,可以于 中断 及 部分 IO 口触发唤醒, 可以 通过 软件 设置 标志位 进入空闲模式
不是 所有 单片机 具有上述功能,要根据 单片机的 数据手册 标示。

热心网友 时间:2023-10-23 18:08

单片机的型号不同,指令不同。你用什么型号的单片机?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
流量保险是什么 会计的基本常识是什么 我奶奶这几天总是拉肚子,而且只能躺着一站起来眼睛就发黑,医生说她贫血... win7c盘里找不到users,用户里也没有c:usersadministrator... C盘里没有users文件夹 pvc天然气管能用多久 PVC天然气管的寿命是多久?  请教大神这怎么搞?天然气排烟管怎么弄? ...时不用在手机确认电脑登陆微信如何不用手机确认 急性胰腺炎护理 急性胰腺炎非手术治疗的护理措施 单片机液位控制 怎么用1.5v的电池给51单片机供电(单片机上有液晶)? 51单片机的 怎么学 最快 深入学习51单片机 51单片机该怎么学? 我想用51系列单片机显示水压,谁能帮帮我 在下想做一个基于51单片机的液位监测系统。但情况比较特殊在下又才疏学浅,故来请教各位高手。 51单片机连接两个液位传感器需要一块还是两块AD转换器 基于51单片机的红外感应泵液器的设计 基于mcs-51单片机的液位控制电路设计 编写51单片机实现液晶上字的循环显示和移动程序? 如何用51单片机控制控制水泵,使水箱里的液位达到预定高度。 51单片机字符液晶屏(LMC1602)输出端RS,RW还有E分别都有什么作用? 羊肉冬瓜汤 冬瓜羊肉汤怎么做好吃又营养 城镇职工保险和社保有什么区别? 职工保险有哪些险种 职保和社保有什么区别 居民社保和职工社保有什么区别? 社保和职工保险的区别吗 51单片机水滴 求51单片机程序 怎么能让电脑读取U盘系统 鸿蒙系统怎么读取u盘,华为Mate20? 51单片机LCD显示 51单片机连接LCD 谁有51单片机彩色液晶程序的详解啊??? 51单片机液晶高手进 51单片机驱动1602 程序 DS18B20 与51单片机 怎么用 ? 51单片机温度传感器ds18b20、lcd1602液晶C程序 奥尔良鸡丁的做法,奥尔良鸡丁怎么做好吃,奥尔 有没有功能强大的PDF编辑器,要能编辑文字,图片,表格的,最好是中文的? pdf格式的图片怎么编辑要用什么软件才能编辑 用什么软件能修改PDF图片 有什么pdf阅读软件可以直接修改图片内容呢 把图片转换成PDF,用什么软件可以编辑转好的PDF文件? 用什么软件可以编辑PDF里的矢量图最好的,图片都是些油路或电路图的图片... 由图片生成的PDF怎样可以修改呢,用什么软件呢? 红酒浇花的正确方法是什么?