导航:首页 > 操作系统 > 51单片机空闲指令

51单片机空闲指令

发布时间:2024-01-12 13:55:06

① 51单片机怎么休眠

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

② 51单片机c语言 _nop_()是一个空指令短时间延时的空几个机器周期

这个_nop_()等效与汇编里面的,NOP指令,也就是空一个机器周期,如果是传统51单片机的话,等于空12个时钟周期【即一个机器周期】,操作方法如下:

1、首先,可以利用keil来进行模拟实验,观察软件所显示的数值,然后再进行相关的运算,即可得出结果。

阅读全文

与51单片机空闲指令相关的资料

热点内容
2002服务器系统怎么设置分屏 浏览:68
什么情况空调压缩机电容坏 浏览:991
pagerank算法图解 浏览:315
部落决斗命令 浏览:403
单片机神经网络 浏览:322
加密的视频不小心删除怎么恢复 浏览:466
安卓游戏充钱充错帐号怎么办 浏览:205
有什么是绑定手机号的app 浏览:498
phpredis事务 浏览:935
阴阳师pad怎么登录安卓账号 浏览:734
bitlocker加密后读取不了 浏览:176
算法设计是指流程图吗 浏览:168
javaboot如何防止反编译 浏览:118
python复合数据结构视频 浏览:146
培训学校需要用什么云服务器 浏览:721
卫星锅加密卡那里收购 浏览:58
小米工具文件夹选项在哪里 浏览:55
md5磁盘加密 浏览:642
单片机x地址 浏览:209
回车键失灵运行命令如何使用 浏览:985