N76E003低功耗的處理

2021-08-19 09:44:08 字數 1245 閱讀 7401

低功耗是專案中非常重要的一部分,尤其是對於一些使用電池供電的裝置。

n76e003支援兩種低功耗模式,一種是空閒模式,一種是掉電模式,從字面意思一看就知道如果要最求最低的功耗,一定是需要使用掉電模式。在掉電模式下,作者對當前的專案應用中測試出來的最低的功耗是5ua,這個值本人認為已經是非常不錯的。針對n76e003如何實現低功耗談談個人的經驗。

首先肯定是配置掉電模式,一條set_pd語句都可以直接將mcu進入到power down(掉電模式),如果你準備讓你的裝置從此不再醒來,只有這一條語句還是可以滿足你的要求的,因為進入到power down模式之後所有的外設都關閉,定時器也不會再跑,如果你無法判斷你是否進入到了低功耗模式,那麼有乙個很簡單的方法,本人使用的是keil for c51的開發工具,進入到除錯模式,如果成功進入到power down 模式,那麼在除錯視窗中就會不斷的重新整理"mcu power down"直到將mcu喚醒。

所以現在就該說說喚醒的事情。

n76e003提供了管腳觸發中斷,可以有管腳高電平中斷觸發,低電平觸發,上公升沿觸發,下降沿觸發,但是在使用這個中斷的時候一定需要注意下面的乙個問題,如果你需要有多個管腳觸發中斷,那麼你的io口就一定要選對,因為,n76e003的管腳觸發必須是在同乙個port口下才能觸發,這個可以去檢視n76e003的管腳中斷的框圖以及picon暫存器,換句話說,如果需要兩個管腳觸發中斷,假設乙個是p0.1,乙個是p1.0,那麼你到底是使能哪乙個port口呢?回到去看picon暫存器的pips[1:0]兩位,你會發現,怎麼會有四種情況,所以,從這裡就可以推出,假設你先使能p0.1再使能p1.0的管腳中斷,最後p0.1的配置就被p1.0覆蓋了。所以,這個地方是需要注意的,尤其是在畫pcb板的時候,需要用到管腳中斷的io腳,都放在同乙個port種,比如全部放在p0口。否則之後你只能使用飛線的辦法,並且需要重新改板。

當然n76e003還支援其他的一些喚醒,但是作者的專案中一般都只要用到按鍵喚醒和usb充電喚醒,這些都是通過管腳中斷喚醒。

我的低功耗的處理方法;

(2)關閉adc,將adc的使能為關閉,並且關閉adcs位

(3)尋找到功耗最低的io口配置的方法,首先必須確保io口的初始的配置能保證你的系統正常的執行,然後在進入休眠之前該io口的配置,並將其賦值為1或者0,這樣說的原因是為什麼呢,因為有一些io口是你需要正常操作的時候必須配置的模式,但是進入休眠前可以選擇更加低功耗的方式,這些都是可以根據你的硬體來進行判斷的。但是一定需要注意有上拉電阻的那個io口嗎,優先去設定這些io口,然後看靜態電流的大小。

(4)在喚醒之後第一時間「恢復現場」,重新初始化最開始的配置。

N76E003紅外解碼程式

最近學習了網上的紅外解碼程式儲存學習一下 使用的是n76e003晶元 借鑑了好多地方 只是簡單的啟動led燈 使用的是日本 nec協議 外部定時器中斷1 定時器模式2,8位自動重灌 256步溢位一次 16m晶振 判斷語句那裡自己集合了好多想了乙個案例 定義乙個16位數字 將 的使用者碼反碼和鍵碼正碼...

N76E003控制雙路步進電機(開環)

實驗材料 類目型號 mcun76e003 步進電機 42步進 步進電機驅動器 設定800細分 電源24v ttlch340 1.1 程式採用pwm中斷,實現對pwm脈衝計數,由此實現開環控制步進電機,設定為下降沿觸發。1.2 步進電機驅動器提供en pulse dir com四個介面,其中com接微...

N76E003編譯陣列記憶體不連續的問題

編譯的時候關閉外部編輯器,不然可能有記憶體共用問題。我使用keil c51編譯n76e003發現陣列記憶體不連續問題,這裡特意記錄下來。編譯情況 乙個16位的陣列,前3個元素是連續的位址,從第4個開始,出現不連續。用指標取陣列每乙個元素的位址能看出來。但是,debug直接把陣列放到watch中能看到...