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