掉電方式
發布時間:2014/6/4 20:16:57 訪問次數:1054
由圖3-11可知,上述指令執行后PD湍變為低電平(與門Ml關閉),時鐘發生器因此停振,HD74LVC138FPEL片內所有功能部件停止工作,但片內RAM和特殊功能寄存器中的內容保持不變,ALE和PSEN的輸出為邏輯低電平。在掉電期間,VCC電源可以降為2V(可以由干電池供電),但必須等待VCC恢復+5V電壓并經過一段時間后,才能允許80C31退出掉電方式。
80C31從掉電狀態退出的唯一方法是硬件復位,即需要給RST引腳上外加一個足夠寬的復位正脈沖。80C31復位以后SFR被重新初始化,但RAM中的內容保持不變。因此,若要使得80C31在市電恢復正常后繼續執行掉電前的程序,那就必須在掉電前預先把SFR
中的內容保護到片內RAM,并在市電恢復正常后先恢復SFR在掉電前的狀態。
空閑方式
80C31執行如下指令可以進入空閑方式:
由圖3-11可知,上述指令執行后1DL端變為低電平,與門M2無輸出,CPU停止工作,但中斷、串行口和定時/計數器可以繼續工作。此時,CPU現場(即SP、PC、PSW和ACC等)、片內RAM和SFR中其他寄存器內容均維持不變、ALE和PSEN變為高電平等。
總之,CPU進入空閑狀態后是不工作的,但各功能部件保持了進入空閑狀態前的內容,且消耗功耗很少。因此,在程序執行過程中,用戶在CPU無事可做或不希望它執行有用程序時應先讓它進入空閑狀態,一旦需要繼續工作就讓它退出空閑狀態。
CHMOS型器件退出空閑狀態有兩種方法。一種是讓被允許中斷的中斷源發出中斷請求(例如定時器T()定時Ims時間已到),中斷系統收到這個中斷請求后,片內硬件電路會自動使IDL=O,致使圖3-11中與門M2重新打開,CPU便可從激活空閑方式指令的下一條指令開始繼續執行程序。另一種使CPU退出空閑狀態的方法是硬件復位,即在80C31的RST引腳上送一個脈寬大于24個時鐘周期的脈沖。此時,PCON中的IDL被硬件自動清零(即M2重新打開),CPU使可繼續執行進入空閑方式前的用戶程序。
現在,以圖3-12來說明空閑方式的應用。我們希望80C31在市電正常時執行用戶程序,停電時依靠備用電池處于空閑方式,并在市電恢復后繼續執行停電前的用戶程序。
圖3-12中,硬件電路十分簡單。兩只二極管用于對兩種電源起隔離作用,即市電正常時備用電池不工作,反之亦然。“交流停電檢測電路”既可以由市電電源+5V供電,也可以由備用干電池供電。“交流停電檢測電路”的作用是:若市電未停,則它使Pl.0引腳變為低電平“O”;若市電停,則它使Pl.0變為高電平“1”。
由圖3-11可知,上述指令執行后PD湍變為低電平(與門Ml關閉),時鐘發生器因此停振,HD74LVC138FPEL片內所有功能部件停止工作,但片內RAM和特殊功能寄存器中的內容保持不變,ALE和PSEN的輸出為邏輯低電平。在掉電期間,VCC電源可以降為2V(可以由干電池供電),但必須等待VCC恢復+5V電壓并經過一段時間后,才能允許80C31退出掉電方式。
80C31從掉電狀態退出的唯一方法是硬件復位,即需要給RST引腳上外加一個足夠寬的復位正脈沖。80C31復位以后SFR被重新初始化,但RAM中的內容保持不變。因此,若要使得80C31在市電恢復正常后繼續執行掉電前的程序,那就必須在掉電前預先把SFR
中的內容保護到片內RAM,并在市電恢復正常后先恢復SFR在掉電前的狀態。
空閑方式
80C31執行如下指令可以進入空閑方式:
由圖3-11可知,上述指令執行后1DL端變為低電平,與門M2無輸出,CPU停止工作,但中斷、串行口和定時/計數器可以繼續工作。此時,CPU現場(即SP、PC、PSW和ACC等)、片內RAM和SFR中其他寄存器內容均維持不變、ALE和PSEN變為高電平等。
總之,CPU進入空閑狀態后是不工作的,但各功能部件保持了進入空閑狀態前的內容,且消耗功耗很少。因此,在程序執行過程中,用戶在CPU無事可做或不希望它執行有用程序時應先讓它進入空閑狀態,一旦需要繼續工作就讓它退出空閑狀態。
CHMOS型器件退出空閑狀態有兩種方法。一種是讓被允許中斷的中斷源發出中斷請求(例如定時器T()定時Ims時間已到),中斷系統收到這個中斷請求后,片內硬件電路會自動使IDL=O,致使圖3-11中與門M2重新打開,CPU便可從激活空閑方式指令的下一條指令開始繼續執行程序。另一種使CPU退出空閑狀態的方法是硬件復位,即在80C31的RST引腳上送一個脈寬大于24個時鐘周期的脈沖。此時,PCON中的IDL被硬件自動清零(即M2重新打開),CPU使可繼續執行進入空閑方式前的用戶程序。
現在,以圖3-12來說明空閑方式的應用。我們希望80C31在市電正常時執行用戶程序,停電時依靠備用電池處于空閑方式,并在市電恢復后繼續執行停電前的用戶程序。
圖3-12中,硬件電路十分簡單。兩只二極管用于對兩種電源起隔離作用,即市電正常時備用電池不工作,反之亦然。“交流停電檢測電路”既可以由市電電源+5V供電,也可以由備用干電池供電。“交流停電檢測電路”的作用是:若市電未停,則它使Pl.0引腳變為低電平“O”;若市電停,則它使Pl.0變為高電平“1”。