AVR單片機的工作狀態
不同的狀態:復位狀態、常規工作狀態、編程狀態。
1. RESET 引腳電平為高
通常情況下,RESET 引腳通過一個上拉電阻接系統電源,為高電平“1” ,見圖2-13。在
此條件下,一旦接通電源,AVR 將進進上電復位狀態。經過短暫的內部的復位操縱后,芯片
便進進了常規的工作狀態(BOD 和WDT 引起的復位類同) 。
AVR 處在常規工作狀態時,有兩種工作方式:正常程序執行工作方式和休眠節電工作方
式。
z 正常程序執行工作方式
正常程序執行工作方式是單片機的基本工作方式。由于硬件的復位操縱將程序計數器置
為零(PC=$0000) ,因此程序的執行總是從 Flash 地址的$0000 開始的(指非 BOOT LOAD 方
式啟動)。
休眠節電工作方式
休眠節電工作方式是使單片機處于低功耗節電的一種工作方式。當單片機需要處于長時
間等待外部觸發信號,待有外部觸發后才做相應的處理,或每隔一段時間才需要做處理的情
況時,可以使用休眠節電工作方式,以減小對電源的消耗。CPU處于等待的時候(待機狀態)
可進進休眠節電工作方式,此時 CPU 暫停工作,不執行任何指令。在休眠節電工作方式中,
只有部分單片機的電路處于工作狀態,而其它的電路停止工作,這樣就可節省單片機的對電
源消耗,形成系統的省電待機狀態。一旦有外部的觸發信號,或等待時間到,CPU從休眠狀
態中被喚醒,重新進進正常程序執行工作方式。
2 RESET 引腳電平為低
AVR 通電后,假如 RESET腳的電平被外部拉為低電平“0” ,則芯片將進進和處在復位狀
態,見圖 2-16 和圖2-17。通常情況下,該復位狀態一直延續到 RESET腳的低電平被撤消。
一旦 RESET恢復了高電平, AVR 將重新啟動, 進進常規工作狀態。利用該特點可以實現對 AVR
系統的人工復位或外部強制復位操縱。
尤其需要說明的是,一旦 RESET 腳的電平被外部拉低,當滿足某些特殊條件后,芯片將
進進編程狀態。例如,假如芯片帶有 SPI 接口,支持 SPI 串行編程,則通過以下方式將使芯
片進進 SPI編程狀態:
z 外部將 SPI口的 SCK 引腳拉低, 然后外部在 RESET 引腳上施加一個至少為 2 個系統
周期以上低電平脈沖;
z 延時等待 20ms 后,由外部通過 AVR 的SPI 口向芯片下發答應 SPI 編程的指令;
在AVR的器件手冊的存儲器編程(Memory Programming)一章中串行下載(Serial
Downloading)一節里,具體先容了利用AVR的SPI接口實現ISP編程的硬件連接、編程方式狀
態的進進過程和串行編程的命令等。
一旦芯片進進編程狀態,就可以通過 SPI 口將運行代碼寫進 AVR 的程序存儲器,對片內
的 Flash、EEPROM 進行擦除、數據的寫進(包括運行代碼)、和數據的讀出,以及實現對 AVR
配置溶絲位的設置、芯片型號的讀取和加密位的鎖定等操縱了。
評論