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