導航:首頁 > 操作系統 > 51單片機空閑指令

51單片機空閑指令

發布時間:2024-01-12 13:55:06

① 51單片機怎麼休眠

呵呵,最近剛好研究了一下這個問題 x0dx0ax0dx0a51單片機空閑和掉電模式應用x0dx0a 我們知道單片機內部有一個電源管理寄存器PCON,這個寄存器的最低兩位,IDL和PD這兩位分別用來設定是否使單片機進入空閑模式和掉電模式。x0dx0a 1. 空閑模式 當單片機進入空閑模式時,除CPU處於休眠狀態外,其餘硬體全部處於活動狀態,晶元中程序未涉及到的數據存儲器和特殊功能寄存器中的數據在空閑模式期間都將保持原值。但假若定時器正在運行,那麼計數器寄存器中的值還將會增加。單片機在空閑模式下可由任一個中斷或硬體復位喚醒,需要注意的是,使用中斷喚醒單片機時,程序從原來停止處繼續運行,當使用硬體復位喚醒單片機時,程序將從頭開始執行。???? 讓單片機進入空閑模式的目的通常是為了降低系統的功耗,舉個很簡單的例子,大家都用過數字萬用表,在正常使用的時候表內部的單片機處於正常工作模式,當不用時,又忘記了關掉萬用表的電源,大多數表在等待數分鍾後,若沒有人為操作,它便會自動將液晶顯示關閉,以降低系統功耗,通常類似這種功能的實現就是使用了單片機的空閑模式或是掉電模式。以STC89系列單片機為例,當單片機正常工作時的功耗通常為4mA~7mA,進入空閑模式時其功耗降至2mA,當進入掉電模式時功耗可降至0.1μA以下。x0dx0a2.?? 休眠模式 當單片機進入掉電模式時,外部晶振停振、CPU、定時器、串列口全部停止工作,只有外部中斷繼續工作。使單片機進入休眠模式的指令將成為休眠前單片機執行的最後一條指令,進入休眠模式後,晶元中程序未涉及到的數據存儲器和特殊功能寄存器中的數據都將保持原值。可由外部中斷低電平觸發或由下降沿觸發中斷或者硬體復位模式換醒單片機,需要注意的是,使用中斷喚醒單片機時,程序從原來停止處繼續運行,當使用硬體復位喚醒單片機時,程序將從頭開始執行。【例】:開啟兩個外部中斷,設置低電平觸發中斷,用定時器計數並且顯示在數碼管的前兩位,當計到5時,使單片機進入空閑(休眠)模式,同時關閉定時器,當單片機響應外部中斷後,從空閑(休眠)模式返回,同時開啟定時器。程序代碼如下:x0dx0a/************************************************************************x0dx0a************************************************************************/x0dx0a #define IdleMode() PCON |=0x01 //01為空閑模式x0dx0a // 當單片機進入空閑模式時,除CPU處於休眠狀態外,其餘硬體全部處於活動狀x0dx0a //晶元中程序未涉及到的數據存儲器和特殊功能寄存器中的數據在空閑模式期間都將保持原值。x0dx0a //但假若定時器正在運行,那麼計數器寄存器中的值還將會增加。x0dx0a //單片機在空閑模式下可由任一個中斷或硬體復位喚醒,x0dx0a //需要注意的是,使用中斷喚醒單片機時,程序從原來停止處繼續運行,當使用硬體復位喚醒單片機時,程序將從頭開始執行。x0dx0a #define PowerOFF() PCON |=0x02 //02掉電模式x0dx0a //進入掉電模式,外部晶振停振、CPU、定時器、串列口全部停止工作,只有外部中斷繼續工作x0dx0a //使單片機進入休眠模式的指令將成為休眠前單片機執行的最後一條指令x0dx0a //進入休眠模式後,晶元中程序未涉及到的數據存儲器和特殊功能寄存器中的數據都將保持原值。x0dx0a //可通過外部中斷喚醒,proteus模擬時無法喚醒x0dx0a #define EXT0_Init() EX0=1;EA=1 //打開外部中斷,以方便喚醒。喚醒後程序從原來停止處繼續運行x0dx0a //電源管理模板程序 x0dx0a main()x0dx0a{x0dx0a EXT0_Init();x0dx0a while(1) // x0dx0a {x0dx0a if(time.sec==0){time.sec++;PowerOFF();}x0dx0a //x0dx0a } x0dx0a}x0dx0a void EX0ISR(void) interrupt 0x0dx0a{x0dx0a //PCON&=0xfc; //清除之前的掉電(空閑)模式x0dx0a}

② 51單片機c語言 _nop_()是一個空指令短時間延時的空幾個機器周期

這個_nop_()等效與匯編裡面的,NOP指令,也就是空一個機器周期,如果是傳統51單片機的話,等於空12個時鍾周期【即一個機器周期】,操作方法如下:

1、首先,可以利用keil來進行模擬實驗,觀察軟體所顯示的數值,然後再進行相關的運算,即可得出結果。

閱讀全文

與51單片機空閑指令相關的資料

熱點內容
java如何將自己電腦設置成伺服器 瀏覽:858
域名怎麼制定伺服器8080埠 瀏覽:665
伺服器的主機如何使用 瀏覽:814
廣訊通伺服器地址怎麼填 瀏覽:665
山東交管伺服器繁忙雲空間 瀏覽:52
51單片機熱敏電阻壞了 瀏覽:547
遠程電腦是雲伺服器嗎 瀏覽:194
壓縮包解壓出來是音頻 瀏覽:946
明源雲erp伺服器故障 瀏覽:158
安卓主頁英文怎麼寫 瀏覽:844
2002伺服器系統怎麼設置分屏 瀏覽:72
什麼情況空調壓縮機電容壞 瀏覽:991
pagerank演算法圖解 瀏覽:318
部落決斗命令 瀏覽:404
單片機神經網路 瀏覽:323
加密的視頻不小心刪除怎麼恢復 瀏覽:466
安卓游戲充錢充錯帳號怎麼辦 瀏覽:206
有什麼是綁定手機號的app 瀏覽:499
phpredis事務 瀏覽:937
陰陽師pad怎麼登錄安卓賬號 瀏覽:736