九齊微控制器NY8A054D學習記錄之睡眠模式喚醒

2021-09-29 16:19:06 字數 851 閱讀 8719

通過執行sleep指令或寫入 01b至暫存器opmd[1:0]位, ny8a054d將進入睡眠模式。

在進入睡眠模式後, 暫存器/pd(status[3]) 位將清除為 0, 暫存器/to(status[4]) 位將設定為 1 且清除

wdt並保持運作。 在睡眠模式下, 所有硬體功能是被關閉的, 停止指令執行且ny8a054d只能通過一些特殊事件喚醒。 因此睡眠模式是ny8a054d最省電的模式

①指令執行停止, 所有硬體功能關閉。

②fhosc和flosc兩者都自動關閉。

③如遇以下任一狀況ic便能從睡眠模式中喚醒:

(a) 看門狗超時中斷 (b) pa/pb輸入狀態改變中斷 (c) int0/1 外部中斷。

④從睡眠模式喚醒後, 如selhosc=1, ic將回到正常模式, 如selhosc=0 則ic將回到慢速模式。

⑤不建議改變振盪模式(正常到慢速/慢速到正常), 並在同一時間進入待機模式。

首先,i/o口初始化時設定 pa/pb喚醒控制暫存器:

awucon =  c_pa5_wakeup | c_pa6_wakeup | c_pa7_wakeup;
然後,在 inte(中斷使能暫存器) 中使能 ==pabie
inte = c_int_pabkey;
然後,在中斷服務函式裡面新增 pabif( porta / portb輸入狀態變化中斷標誌位)
if

(intfbits.pabif)

最後,將 sleep 指令放到while(1)裡面:
while(1

)}

九齊微控制器NY8A054D之PWM Output

ny8a054d 提供 5組 10 位的 pwm 輸出 其中,pwm1 和 pwm2 共享定時器1 pwm3 pwm4 和 pwm5 共享定時器3 pwm1 當暫存器pwm1oen t1cr1 7 設定為 1,pb3 或 pa4 為pwm1 輸出。pwm2 當暫存器pwm2oen p2cr1 7 設...

微控制器入門學習筆記8 STM32微控制器使用

經常會在某個qq群裡看見某人的qq暱稱的名字 不會32絕不改名 其實無論會不會,之後名稱都改了。stm32微控制器在我看來就三部分組成 各部分的初始化,中斷的使用,main函式內的程式設計。大多數人看stm32韌體庫手冊或者是stm32暫存器手冊,最後用到的其實也就是各部分的初始化。隨著時代的進步,...

學習開發微控制器的8個重點

學習微控制器就是學習微控制器的硬體結構,內部資源與外設的應用。在c語言中 極少量的彙編 掌握各種功能的初始化,實現各種功能函式的編寫與除錯。在大多數的微控制器實驗中,跑馬燈 按鍵檢測實驗是數字i o的典型應用,通過將微控制器的i o引腳位進行置位或清零來點亮或關閉led燈,讀取按鍵摁下或抬起的狀態,...