|
80C51單片機(jī)的各種活動,可以描述成多個不同的工作狀態(tài)或工作模式。這里利用筆者構(gòu)思的一個單片機(jī)工作狀態(tài)遷移圖(如圖1所示)來說明。不過,這里重點關(guān)注的是復(fù)位狀態(tài)。
經(jīng)過仔細(xì)分析之后,從圖1中可以看出:
① 把單片機(jī)經(jīng)歷的所有生存狀態(tài)歸納和描繪成5個狀態(tài)--1個非工作狀態(tài)(即無電狀態(tài))和4個工作狀態(tài)。
② 只有復(fù)位狀態(tài)是一個暫態(tài),其他均為穩(wěn)態(tài);并且每次單片機(jī)進(jìn)入正常運(yùn)行狀態(tài)時,都要經(jīng)歷一次復(fù)位狀態(tài)。
③ 只有在正常運(yùn)行狀態(tài)(這里記作NORMAL)下,單片機(jī)才按照程序存儲器中固化的用戶程序按部就班地一步一步執(zhí)行,從而完成開發(fā)者設(shè)計的各項任務(wù)。
④ 停機(jī)狀態(tài)(或PD模式)和待機(jī)狀態(tài)(或IDL模式),主要是為節(jié)能降耗而規(guī)劃的節(jié)電狀態(tài)(或稱"睡眠狀態(tài)")。
⑤ 從無電狀態(tài)離開的唯一條件就是上電,并且唯一能夠到達(dá)的是一個暫態(tài)--復(fù)位 狀態(tài)。
⑥ 復(fù)位狀態(tài)以外的4個狀態(tài)都有遷移到復(fù)位狀態(tài)的途徑,只是導(dǎo)致遷移的條件不盡相同。
⑦ 無電狀態(tài)之外的4個工作狀態(tài),都可能因為隨時斷電而導(dǎo)致單片機(jī)進(jìn)入"無電狀態(tài)"。
⑧ 從另外3個工作狀態(tài)遷移到復(fù)位狀態(tài),基本都是依靠外部引腳RST上的復(fù)位信號。原始復(fù)位源比較單一,這是因為傳統(tǒng)80C51的復(fù)位邏輯相對簡單。如果想增加"電源欠壓復(fù)位"和"看門狗復(fù)位"等其他復(fù)位源,則需要片外擴(kuò)充獨立電路來實現(xiàn)。
⑨ 標(biāo)準(zhǔn)80C51沒有設(shè)計"軟件復(fù)位"功能,如果需要該功能,可以通過用戶程序自行實現(xiàn)。不同的是,軟件復(fù)位不會令CPU經(jīng)歷一次復(fù)位狀態(tài)
|
|