低功耗操作方式
在以電池供電的系統(tǒng)中有時為了降低電池的功耗在程序不運行時就要采用低功耗方式低功耗方式有兩種—待機方式和掉電方式
低功耗方式是由電源控制寄存器PCON上一課我們提到過的來控制的電源控制寄存器是一個逐位定義的8位寄存器其格式如下
PCON主要是為CHMOS型單片機的電源控制而設(shè)置的專用寄存器,單元地址是87H,其結(jié)構(gòu)格式如下:
PCON電源管理寄存器結(jié)構(gòu)
PCOND7D6D5D4D3D2D1D0位符號SMOD
-
-
-
GF1GF0PDIDLPCON標(biāo)志位說明:
在CHMOS型單片機中,除SMOD位外,其他位均為虛設(shè)的,SMOD是串行口波特率倍增位,當(dāng)SMOD=1時,串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為SMOD=0。
各位的定義: SMOD:該位與串口通信有關(guān)。
SMOD=0; 串口方式1,2,3時,波特率正常。
SMOD=1; 串口方式1,2,3時,波特率加倍。
GF1,GF0:兩個通用工作標(biāo)志位,用戶可以自由使用。
PD:掉電模式設(shè)定位。
PD=0 單片機處于正常工作狀態(tài)。
PD=1 單片機進入掉電(Power Down)模式 ,可由外部中斷或硬件復(fù)位模式喚醒,進入掉電模式后,外部晶振停振,CPU、定時器、串行口全部停止工作,只有外部中斷工作。
IDL:空閑模式設(shè)定位。
IDL=0 單片機處于正常工作狀態(tài)。
IDL=1 單片機進入空閑(Idle)模式,除CPU不工作外,其余仍繼續(xù)工作,在空閑模式下可由任一個中斷或硬件復(fù)位喚醒。
其中SMOD為波特率倍增位在串行通訊時用GF1為通用標(biāo)志位1GF0為通用標(biāo)志位0PD為掉電方式位PD=1進入掉電方式IDL為待機方式位IDL=1 進入待機方式也就是說只要執(zhí)行一條指令讓PD位或IDL位為1就可以了那么單片機是如何進入或退出掉電工作方式和待機工作方式的我們來介紹一下
1 待機方式
進入待機方式
當(dāng) 使用指令使PCON寄存器的IDL=1則進入待機工作方式此時CPU停止工作但時鐘信號仍提供給RAM定時器中斷系統(tǒng)和串行口同時堆棧指針SP程序計數(shù)器 PC程序狀態(tài)字PSW累加器ACC以及全部的通用寄存器都被凍結(jié)起來單片機的消耗電流從24mA降為3.7mA這樣就可以節(jié)省電源的消耗
退出待機方式
退出待機方式可以采用引入中斷的方法在中斷程序中安排一條RETI的指令就可以了什么是中斷我們現(xiàn)在還不知道當(dāng)然這沒關(guān)系其實待機方式和我們使用電腦時的睡眠方式有異曲同工之妙
2掉電方式
進入待機方式
當(dāng)使用指令使PCON寄存器的PD=1則進入掉電工作方式此時單片機的一切工作都停止只有內(nèi)部RAM的數(shù)據(jù)被保持下來掉電方式下電源可以降到2V耗電僅50uA此時就相當(dāng)于把顯示器和硬盤也關(guān)閉了
退出待機方式
退 出掉電工作方式的唯一方法是復(fù)位不過應(yīng)在電源電壓恢復(fù)到正常值后再進行復(fù)位復(fù)位時間要大于1mS在進入掉電方式前電源電壓是不能降下來的因此可靠的單片機 電路最好要有電源檢測電路顯然掉電方式和待機方式是兩種不同的低功耗工作方式前者可以在無外部事件觸發(fā)時降低電源的消耗而后者則在程序停止運行時才使用
KEIL單片機c語言待機模式實現(xiàn):
PCON=0X02;//單片機進入待機模式(掉電模式)