單片機(jī)掉電模式與空閑模式
出處:21ic 發(fā)布于:2018-07-13 14:53:41
當(dāng)單片機(jī)進(jìn)入空閑模式時,除CPU處于休眠狀態(tài)外,其余硬件全部處于活動狀態(tài),芯片中程序未涉及到的數(shù)據(jù)存儲器和特殊功能寄存器中的數(shù)據(jù)在空閑模式期間都將保持原值。但假若定時器正在運(yùn)行,那么計數(shù)器寄存器中的值還將會增加。單片機(jī)在空閑模式下可由任一個中斷或硬件復(fù)位喚醒,需要注意的是,使用中斷喚醒單片機(jī)時,程序從原來停止處繼續(xù)運(yùn)行,當(dāng)使用硬件復(fù)位喚醒單片機(jī)時,程序?qū)念^開始執(zhí)行。
讓單片機(jī)進(jìn)入空閑模式的目的通常是為了降低系統(tǒng)的功耗,舉個很簡單的例子,大家都用過數(shù)字萬用表,在正常使用的時候表內(nèi)部的單片機(jī)處于正常工作模式,當(dāng)不用時,又忘記了關(guān)掉萬用表的電源,大多數(shù)表在等待數(shù)分鐘后,若沒有人為操作,它便會自動將液晶顯示關(guān)閉,以降低系統(tǒng)功耗,通常類似這種功能的實(shí)現(xiàn)就是使用了單片機(jī)的空閑模式或是掉電模式。以STC89系列單片機(jī)為例,當(dāng)單片機(jī)正常工作時的功耗通常為4mA~7mA,進(jìn)入空閑模式時其功耗降至2mA,當(dāng)進(jìn)入掉電模式時功耗可降至0.1μA以下。
2.休眠模式
當(dāng)單片機(jī)進(jìn)入掉電模式時,外部晶振停振、CPU、定時器、串行口全部停止工作,只有外部中斷繼續(xù)工作。使單片機(jī)進(jìn)入休眠模式的指令將成為休眠前單片機(jī)執(zhí)行的一條指令,進(jìn)入休眠模式后,芯片中程序未涉及到的數(shù)據(jù)存儲器和特殊功能寄存器中的數(shù)據(jù)都將保持原值??捎赏獠恐袛嗟碗娖接|發(fā)或由下降沿觸發(fā)中斷或者硬件復(fù)位模式換醒單片機(jī),需要注意的是,使用中斷喚醒單片機(jī)時,程序從原來停止處繼續(xù)運(yùn)行,當(dāng)使用硬件復(fù)位喚醒單片機(jī)時,程序?qū)念^開始執(zhí)行。
下面的例子演示單片機(jī)進(jìn)入空閑和休眠模式,并且演示出從空閑和休眠模式中喚醒的過程。
【例】:在TX-1C實(shí)驗板上完成如下描述,開啟兩個外部中斷,設(shè)置低電平觸發(fā)中斷,用定時器計數(shù)并且顯示在數(shù)碼管的前兩位,當(dāng)計到5時,使單片機(jī)進(jìn)入空閑(休眠)模式,同時關(guān)閉定時器,當(dāng)單片機(jī)響應(yīng)外部中斷后,從空閑(休眠)模式返回,同時開啟定時器。
新建文件part3.4.1.c,程序代碼如下:
#include//52系列單片機(jī)頭文件
#defineucharunsignedchar
#defineuintunsignedint
sbitdula=P2^6;//申明U1鎖存器的鎖存端
sbitwela=P2^7;//申明U2鎖存器的鎖存端
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
ucharnum;
voiddelayms(uint);
voiddisplay(ucharshi,ucharge)//顯示子函數(shù)
{
dula=1;
P0=table[shi];//送十位段選數(shù)據(jù)
dula=0;
P0=0xff;//送位選數(shù)據(jù)前關(guān)閉所有顯示,防止打開位選鎖存時
wela=1;//原來段選數(shù)據(jù)通過位選鎖存器造成混亂
P0=0xfe;//送位選數(shù)據(jù)
wela=0;
delayms(5);//延時
dula=1;
P0=table[ge];//送個位段選數(shù)據(jù)
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delayms(5);
}
voiddelayms(uintxms)
{
uinti,j;
for(i=xms;i>0;i--)//i=xms即延時約xms毫秒
for(j=110;j>0;j--);
}
voidmain()
{
uchara,b,num1;
TMOD=0x01;//設(shè)置定時器0為工作方式1(00000001)
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
EX0=1;
EX1=1;
TR0=1;
while(1)
{
if(num>=20)
{
num=0;
num1++;
if(num1==6)
{
ET0=0;
PCON=0x02;(或PCON=0x01;)
}
a=num1/10;
b=num1%10;
}
display(a,b);
}
}
voidtimer0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}
voidex_int0()interrupt0
{
PCON=0;
ET0=1;
}
voidex_int1()interrupt2
{
PCON=0;
ET0=1;
}
分析:
(1)EA=1;開總中斷
ET0=1;開定時器0中斷
EX0=1;開外部中斷0
EX1=1;開外部中斷1
TR0=1;啟動定時器0
(2)主程序中有“ET0=0;”下句是“PCON=0x02;”意思是在進(jìn)入休眠模式之前要先把定時器關(guān)閉,這樣方可一直等待外部中斷的產(chǎn)生,如果不關(guān)閉定時器,定時器的中斷同樣也會喚醒單片機(jī),使其退出休眠模式,這樣我們便看不出進(jìn)入休眠模式和返回的過程。
(3)voidex_int0()interrupt0
{
PCON=0;
ET0=1;
}
這是外部中斷0服務(wù)程序,當(dāng)進(jìn)入外部中斷服務(wù)程序后,首先將PCON中原先設(shè)定的休眠控制位清除(如果不清除,程序也可以正常運(yùn)行,大家親自做實(shí)驗驗證),接下來再重新開啟定時器0。
(4)程序后,實(shí)驗現(xiàn)象如下:數(shù)碼管從“00”開始遞增顯示,到“05”后,再過一秒后,數(shù)碼管變成只顯示一個“5”,單片機(jī)進(jìn)入休眠或空閑模式,用導(dǎo)線一端連接地,另一端接觸P3.2或P3.3,數(shù)碼管重新從“06”開始顯示,遞增下去。整個過程演示了單片機(jī)從正常工作模式進(jìn)入休眠模式或空閑模式,然后再從休眠模式或空閑模式返回到正常工作模式。
(5)測試過程大家可將數(shù)字萬用表調(diào)節(jié)到電流檔,然后串接入電路中,觀察單片機(jī)在正常工作模式、休眠模式、空閑模式下流過系統(tǒng)的總電流變化情況,經(jīng)測試可發(fā)現(xiàn)結(jié)果如下:正常工作電流>空閑模式電流>休眠模式電流。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)檢測直流信號:常用電路全解析2025/8/21 15:49:26
- 探秘三極管在單片機(jī)中的關(guān)鍵作用2025/8/18 16:24:42
- 51單片機(jī)和52單片機(jī)有什么區(qū)別2025/8/8 16:52:42
- DSP與單片機(jī)到底有什么區(qū)別2025/7/28 17:02:00
- 單片機(jī)的三種總線結(jié)構(gòu)2025/7/24 17:04:09
- 線性穩(wěn)壓電源與開關(guān)穩(wěn)壓電源:原理、特性及應(yīng)用
- 電容器旁路的基本原理
- TTL、RS232、485 到底能傳輸多遠(yuǎn)距離
- 一文了解車規(guī)級芯片認(rèn)證標(biāo)準(zhǔn)
- eMMC 屬于閃存還是內(nèi)存?從定義到應(yīng)用講透核心區(qū)別
- 什么是芯片的納米等級的含義,28nm,14nm,3nm 工藝
- 一文詳解:半導(dǎo)體、芯片、集成電路、晶圓之差異
- 深度解析:“直流變頻” 與 “變頻” 的本質(zhì)區(qū)別與應(yīng)用選擇
- 直線電機(jī)工作原理與應(yīng)用全解析
- 空調(diào)空開跳閘的原因及解決方法