資料介紹
??本文以經(jīng)典的80C51單片機為例,利用工作狀態(tài)及其狀態(tài)遷移的新概念、新觀點和新方法,揭示一些單片機運作的內(nèi)在規(guī)律,對于單片機學(xué)習(xí)者和應(yīng)用開發(fā)者具有一定的啟迪作用和實際意義。
?
??1 單片機的工作狀態(tài)及其狀態(tài)遷移
?
??80C51單片機的各種活動,可以描述成多個不同的工作狀態(tài)或工作模式。這里利用筆者構(gòu)思的一個單片機工作狀態(tài)遷移圖(如圖1所示)來說明。不過,這里重點關(guān)注的是復(fù)位狀態(tài)。
?
??
??圖1 單片機工作狀態(tài)遷移圖
?
??經(jīng)過仔細分析之后,從圖1中可以看出:
??① 把單片機經(jīng)歷的所有生存狀態(tài)歸納和描繪成5個狀態(tài)——1個非工作狀態(tài)(即無電狀態(tài))和4個工作狀態(tài)。
??② 只有復(fù)位狀態(tài)是一個暫態(tài),其他均為穩(wěn)態(tài);并且每次單片機進入正常運行狀態(tài)時,都要經(jīng)歷一次復(fù)位狀態(tài)。
??③ 只有在正常運行狀態(tài)(這里記作NORMAL)下,單片機才按照程序存儲器中固化的用戶程序按部就班地一步一步執(zhí)行,從而完成開發(fā)者設(shè)計的各項任務(wù)。
??④ 停機狀態(tài)(或PD模式)和待機狀態(tài)(或IDL模式),主要是為節(jié)能降耗而規(guī)劃的節(jié)電狀態(tài)(或稱“睡眠狀態(tài)”)。
??⑤ 從無電狀態(tài)離開的唯一條件就是上電,并且唯一能夠到達的是一個暫態(tài)——復(fù)位狀態(tài)。
??⑥ 復(fù)位狀態(tài)以外的4個狀態(tài)都有遷移到復(fù)位狀態(tài)的途徑,只是導(dǎo)致遷移的條件不盡相同。
??⑦ 無電狀態(tài)之外的4個工作狀態(tài),都可能因為隨時斷電而導(dǎo)致單片機進入“無電狀態(tài)”。
??⑧ 從另外3個工作狀態(tài)遷移到復(fù)位狀態(tài),基本都是依靠外部引腳RST上的復(fù)位信號。原始復(fù)位源比較單一,這是因為傳統(tǒng)80C51的復(fù)位邏輯相對簡單。如果想增加“電源欠壓復(fù)位”和“看門狗復(fù)位”等其他復(fù)位源,則需要片外擴充獨立電路來實現(xiàn)。
??⑨ 標(biāo)準(zhǔn)80C51沒有設(shè)計“軟件復(fù)位”功能,如果需要該功能,可以通過用戶程序自行實現(xiàn)。不同的是,軟件復(fù)位不會令CPU經(jīng)歷一次復(fù)位狀態(tài)。
?
??2 復(fù)位源、復(fù)位操作和復(fù)位狀態(tài)
?
??像中的時序邏輯電路器件需要具備復(fù)位功能一樣,各種類型的單片機也都需要具備復(fù)位功能(RESET)。復(fù)位功能按其英文原意是重新設(shè)置的意思,也就是從頭開始執(zhí)行程序,或者重新從頭執(zhí)行程序(Restart)的意思。復(fù)位是單片機的一項重要操作內(nèi)容,其目標(biāo)是確保單片機運行過程有一個良好的開端,確保單片機運行過程中有一個良好的狀態(tài)。
??需要強調(diào)的是: 關(guān)于“復(fù)位”一詞,它既包含復(fù)位活動的意思,又包含復(fù)位狀態(tài)的意思。或者說,復(fù)位既是一個動態(tài)的概念(指復(fù)位活動、復(fù)位操作、復(fù)位處理或復(fù)位過程等),又是一個靜態(tài)的概念(指復(fù)位狀態(tài)或復(fù)位模式等)。
??2.1 常規(guī)復(fù)位源和擴充復(fù)位源
??從現(xiàn)今的技術(shù)高度來看,標(biāo)準(zhǔn)80C51單片機的復(fù)位功能設(shè)計得不夠完善,不僅沒有設(shè)置復(fù)位標(biāo)志位寄存器,而且復(fù)位源的種類也很少。
??所謂“復(fù)位源”,就是導(dǎo)致或者引起單片機內(nèi)部復(fù)位的源泉。對于當(dāng)前市場上出現(xiàn)的種類比較齊全的單片機,其典型復(fù)位源大致可以歸納為以下6種: 上電復(fù)位、人工復(fù)位、電源欠壓復(fù)位、看門狗復(fù)位、非法地址復(fù)位和軟件復(fù)位。這些復(fù)位源的特點是:
??① 上電復(fù)位這一種復(fù)位源是必不可少的。因為每次給單片機加電時,其電源電壓的穩(wěn)定,以及時鐘振蕩器的起振和振幅穩(wěn)定,都需要一定的延遲時間。
??② 只有上電復(fù)位和人工復(fù)位這兩種復(fù)位源,是講解80C51單片機的教科書、技術(shù)文章和文獻資料中比較常見的。
??③ 對于電源欠壓復(fù)位、看門狗復(fù)位和非法地址復(fù)位3種復(fù)位源,標(biāo)準(zhǔn)80C51是不具備的,不過可以額外擴充,可由單片機用戶根據(jù)實際需要通過附加一些軟件或硬件的手段來實現(xiàn)。
??④ 雖然電源欠壓復(fù)位、看門狗復(fù)位、非法地址復(fù)位3種復(fù)位源可以額外擴充,但是都必須借助于復(fù)位引腳RST來實施復(fù)位操作或復(fù)位鎖定。
??⑤ 標(biāo)準(zhǔn)80C51本來不具備軟件復(fù)位功能,但是可以通過純軟件方式以及虛擬手段,來實現(xiàn)或者部分實現(xiàn)其他單片機的軟件復(fù)位。這種方法擴充的軟件復(fù)位是一種比較特殊的復(fù)位源,一是不通過RST引腳實現(xiàn)復(fù)位,二是復(fù)位操作的內(nèi)容與眾不同。軟件復(fù)位作為一種新技術(shù),目前有越來越多的新型單片機配備了該功能。例如 Philips公司的P87LPC700和P89LPC900系列、TIBB公司的MSC1200系列、SunPlus公司的SPMC65系列等,內(nèi)部都設(shè)計了專門用于實現(xiàn)軟件復(fù)位的控制寄存器或者控制位。
??2.2 復(fù)位操作的具體內(nèi)容
??單片機復(fù)位功能的實現(xiàn)過程實質(zhì)上就是在單片機內(nèi)部進行一系列的復(fù)位操作。在復(fù)位期間,單片機內(nèi)部的復(fù)位操作究竟完成了哪些內(nèi)容,是程序設(shè)計人員應(yīng)該搞清的問題,因為單片機復(fù)位操作完成之后的內(nèi)部狀態(tài),就是運行用戶程序和進行軟件處理的背景、基礎(chǔ)和起點。
??對80C51單片機來說,只有軟件復(fù)位的具體內(nèi)容和影響范圍,是可以由用戶自由定制的;而凡是直接作用于復(fù)位引腳RST上的復(fù)位源(如上電復(fù)位等),所實現(xiàn)的復(fù)位操作的具體內(nèi)容和影響范圍都應(yīng)該是一樣的?,F(xiàn)在歸納如下:
??① 程序計數(shù)器PC返回到原始狀態(tài)0000H;
??② 所有特殊功能寄存器SFR全部還原為復(fù)位值(可以查閱技術(shù)手冊);
??③ 所有通用并行端口(P0、P1、P2和P3)的引腳全部被設(shè)置為輸入狀態(tài);
??④ 清除各級中斷優(yōu)先級的激活觸發(fā)器,以便受理各級中斷請求(在標(biāo)準(zhǔn)80C51中只設(shè)置了2個中斷優(yōu)先級別,而在有些新型兼容產(chǎn)品中設(shè)置了4個級別)。
??2.3 復(fù)位狀態(tài)的具體表現(xiàn)
??單片機一旦進入復(fù)位狀態(tài)并且停留在復(fù)位狀態(tài)下(即外接引腳RST被鎖定在有效的高電平上),就會表現(xiàn)出如下一些具體特征:
??◇ CPU不再執(zhí)行程序而保持靜止(凍結(jié))狀態(tài);
??◇ 各種片內(nèi)外圍模塊(定時器、串行口、總線接口、中斷系統(tǒng)等)均停止工作;
??◇ 各個并口(P0~P3)的所有口線均對外呈現(xiàn)高阻狀態(tài);
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機實現(xiàn)24C02存儲上次使用中狀態(tài)的C語言實例 9次下載
- LABVIEW的狀態(tài)機實現(xiàn)資料合集 41次下載
- 虛擬機遷移的物理主機異常狀態(tài)檢測算法 20次下載
- 單片機基礎(chǔ)及應(yīng)用:單片機并行存儲器擴展資料下載
- 小白學(xué)單片機(15) 單片機程序下載失敗總結(jié)資料下載
- 單片機基礎(chǔ)及應(yīng)用|80C51單片機的結(jié)構(gòu)及信號引腳資料下載
- 使用單片機實現(xiàn)24C02存儲上次使用中狀態(tài)的C語言實例免費下載 13次下載
- 使用單片機實現(xiàn)74HC148編碼輸入8位按鍵狀態(tài)的仿真文件免費下載 8次下載
- 單片機的狀態(tài)機框架!
- 使用單片機實現(xiàn)1個獨立按鍵控制LED狀態(tài)轉(zhuǎn)換的C語言程序免費下載 26次下載
- 單片機K1到K4按鍵狀態(tài)顯示的仿真電路圖免費下載 10次下載
- 單片機按鍵的源代碼資料合集免費下載
- 使用51單片機定時器中斷進行LED的狀態(tài)反轉(zhuǎn)電路圖和程序免費下載
- 51單片機IIC總線通信原理及其簡單應(yīng)用資料免費下載
- 使用單片機進行智能藥盒設(shè)計的程序和狀態(tài)表資料免費下載 14次下載
- 什么是狀態(tài)機?狀態(tài)機的種類與實現(xiàn) 7941次閱讀
- 嵌入式狀態(tài)機編程-QP狀態(tài)機框架基本知識介紹 2455次閱讀
- PLC基本工作狀態(tài) 3983次閱讀
- 狀態(tài)機的基本術(shù)語 傳統(tǒng)有限狀態(tài)機Fsm實現(xiàn)方法 545次閱讀
- buck電路工作狀態(tài) 988次閱讀
- 詳解單片機復(fù)位電路的作用及設(shè)計 1w次閱讀
- 狀態(tài)機到底是什么 3671次閱讀
- 使用單片機實現(xiàn)多路開關(guān)狀態(tài)指示器的設(shè)計資料合集 4307次閱讀
- AVR單片機的復(fù)位操作方法解析 5479次閱讀
- 狀態(tài)機概述 如何理解狀態(tài)機 1w次閱讀
- 關(guān)于STC單片機IO口的狀態(tài)和配置IO口的工作類型等資料概述 1.1w次閱讀
- 淺談單片機上電復(fù)位后端口的狀態(tài)問題 1.1w次閱讀
- 基于狀態(tài)機的單片機按鍵短按長按功能的實現(xiàn) 1.8w次閱讀
- 單片機看門狗電路的作用,看門狗系統(tǒng)設(shè)計技巧及其抗干擾措施 3964次閱讀
- 使用ModelSim自動生成狀態(tài)機FSM的狀態(tài)轉(zhuǎn)換圖 1.4w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多