新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC12系列單片機(jī)的空閑模式、休眠模式

STC12系列單片機(jī)的空閑模式、休眠模式

作者: 時(shí)間:2013-12-27 來源:網(wǎng)絡(luò) 收藏

1.

是指只有不工作的狀態(tài)。此時(shí)CPU無時(shí)鐘停止工作,但是外部中斷、外部低壓檢測電路、定時(shí)器、A/D轉(zhuǎn)換、串行口等仍正常運(yùn)行。

下,RAM、堆棧指針(SP)、程序計(jì)數(shù)器(PC)、程序狀態(tài)字(PSW)、累加器(A)等寄存器都保持原有數(shù)據(jù)。I/O口保持著空閑模式被激活前那一刻的邏輯狀

態(tài)。此時(shí)所有的外圍設(shè)備都能正常運(yùn)行,當(dāng)任何一個(gè)中斷產(chǎn)生時(shí),它們都可以將喚醒,單片機(jī)被喚醒后,CPU將繼續(xù)執(zhí)行進(jìn)入空閑模式語句的下一條指令。

怎樣退出空閑模式?

a.中斷:任何一個(gè)中斷的產(chǎn)生都會(huì)引起IDL/PCON.0被硬件清除,從而退出空閑模式;

b.外部RST引腳復(fù)位:將復(fù)位腳拉高,產(chǎn)生復(fù)位。再將RST腳拉低,結(jié)束復(fù)位,單片機(jī)從用戶程序的0000H處開始正常工作

空閑模式的目的?

讓單片機(jī)進(jìn)入空閑模式的目的通常是為了降低系統(tǒng)的功耗,舉個(gè)很簡單的例子,大家都用過數(shù)字萬用表,在正常使用的時(shí)候表內(nèi)部的單片機(jī)處于正常工作模式,當(dāng)不用時(shí),又忘記了關(guān)掉萬用表的電源,大多數(shù)表在等待數(shù)分鐘后,若沒有人為操作,它便會(huì)自動(dòng)將液晶顯示關(guān)閉,以降低系統(tǒng)功耗,通常類似這種功能的實(shí)現(xiàn)就是使用了單片機(jī)的空閑模式或是掉電模式。以STC89系列單片機(jī)為例,當(dāng)單片機(jī)正常工作時(shí)的功耗通常為4mA~7mA,進(jìn)入空閑模式時(shí)其功耗降至2mA,當(dāng)進(jìn)入掉電模式時(shí)功耗可降至0.1μA以下。

2. (又叫掉電模式、停機(jī)模式)
當(dāng)單片機(jī)進(jìn)入掉電模式時(shí),外部晶振停振、CPU、定時(shí)器、串行口全部停止工作,只有外部中斷繼續(xù)工作。使單片機(jī)進(jìn)入的指令將成為休眠前單片機(jī)執(zhí)行的最后一條指令,進(jìn)入后,芯片中程序未涉及到的數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器中的數(shù)據(jù)都將保持原值??捎赏獠恐袛嗟碗娖接|發(fā)或由下降沿觸發(fā)中斷或者硬件復(fù)位模式換醒單片機(jī),需要注意的是,使用中斷喚醒單片機(jī)時(shí),程序從原來停止處繼續(xù)運(yùn)行,當(dāng)使用硬件復(fù)位喚醒單片機(jī)時(shí),程序?qū)念^開始執(zhí)行。

怎樣退出休眠模式?

a.可將CPU從休眠模式喚醒的外部管腳有:外部中斷0、外部中斷1、定時(shí)器0、定時(shí)器1、RxD、PWM0/PCA0/P3.7、PWM2/PCA2/P2.0、PWM3/PCA3/P2.4

b.外部復(fù)位也可以將MCU從掉電模式中喚醒,復(fù)位喚醒后的MCU將從用戶程序的0000H處開始正常工作。

控制單片機(jī)進(jìn)入空閑模式和休眠模式的是電源管理寄存器PCON,這個(gè)寄存器的最低兩位,IDL和PD這兩位分別用來設(shè)定是否使單片機(jī)進(jìn)入空閑模式和掉電模式。

將IDL/PCON.0置為1,則單片機(jī)就進(jìn)入了空閑(IDLE)模式

將PD/PCON.1置為1,則單片機(jī)將進(jìn)入掉電(Power Down)模式

更詳細(xì)的資料請參考單片機(jī)數(shù)據(jù)手冊第二章:

STC12系列單片機(jī)的空閑模式、休眠模式

晶振相關(guān)文章:晶振原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉