官术网_书友最值得收藏!

2.6 51系列單片機的復位

單片機的復位是一個很重要的內容,復位是使單片機的CPU以及系統的各個部件處于特定的初始狀態,并使系統從初始狀態開始工作。一般在系統上電或者程序死機的時候需要進行單片機的復位。

2.6.1 單片機的復位狀態

單片機在上電時,首先處于一個特定的狀態,成為復位狀態。在復位狀態下,CPU和整個硬件資源,特別是特殊功能寄存器都處于初始化的狀態。表2.8列出了在單片機復位狀態下的初始值。

表2.8 單片機的復位狀態

其中,帶“*”號的為AT89S52所特有的,其余適用于所有的8051。從表2.8中可以看出,在復位狀態下,PC=0000H,表示單片機CPU將從0000H單元開始向下執行程序。

2.6.2 單片機的復位電路

單片機的復位是很重要的,復位操作可以完成單片機的初始化,也可使處于死機狀態下的單片機重新開始運行。

1.復位要求

單片機復位的原理是,在時鐘電路開始工作后,在單片機的RST引腳施加24個時鐘振蕩脈沖(即兩個機器周期)以上的高電平,單片機便可以實現復位。在復位期間,單片機的ALE引腳和引腳均輸出高電平。當RST引腳從高電平跳變為低電平后,單片機便從0000H單元開始執行程序。

在實際應用中,采用外部復位電路來進行單片機復位一般在RST引腳保持10ms以上的高電平,保證單片機能夠可靠地復位。單片機的復位電路可以有上電復位、手動上電復位、看門狗復位以及一些復雜的復位電路。下面分別介紹。

2.上電復位電路

上電復位電路的基本原理是利用RC電路的充放電效應,電路圖如圖2.11所示。當單片機系統上電的時候,復位電路通過電容加在RST引腳一個短暫的高電平信號,這個高電平信號隨著電容的充電而逐漸降低,這個高電平持續的時間和RC電路的充放電時間有關。

3.手動上電復位電路

在實際應用的電路中,一般采用既可以手動復位,又可以上電復位的電路,這樣可以人工復位單片機系統。這種電路圖,如圖2.12所示。上電復位部分的原理也是RC電路的充放電效應。除了系統上電的時候可以給RST引腳一個短暫的高電平信號外,當按下按鍵開關的時候,VCC通過一個電阻連接到RST引腳,給RST一個高電平;按鍵松開的時候,RST引腳恢復為低電平,復位完成。

圖2.11 上電復位電路

圖2.12 手動上電復位電路

4.定時監視器(WDT,看門狗)復位

近年來新出的新型單片機均包含看門狗WDT,WDT可以根據應用程序的運行周期來設定。當應用程序在運行過程中,由于外界的干擾而進入非正常工作狀態時,WDT定時計數器產生溢出信號,復位單片機,重新恢復正常運行。

對于自身不帶看門狗WDT功能的單片機,可以采用專門的復位電路芯片,如MAXIM公司的MAX813L。MAX813L是帶有看門狗和電源監控功能的復位芯片,具體的用法可以參考該芯片的資料手冊。

5.復雜的復位電路

對于前面介紹的簡單的復位電路,干擾很容易傳入復位端。雖然在大多數情冴下不會引起單片機誤復位,但有時會使某些寄存器錯誤復位。因此,在一些要求嚴格的場合,需要對單片機的復位電路進行仔細設計,或采用專用的復位芯片來完成。圖2.13和圖2.14所示的便是兩個例子。

圖2.13 復雜的復位電路1

圖2.14 復雜的復位電路2

主站蜘蛛池模板: 随州市| 厦门市| 临潭县| 荔波县| 武义县| 甘洛县| 常山县| 诸城市| 广水市| 隆安县| 永胜县| 习水县| 英吉沙县| 全州县| 东源县| 深水埗区| 龙游县| 兰西县| 浠水县| 颍上县| 左权县| 阳春市| 锦屏县| 平山县| 八宿县| 米脂县| 新化县| 安化县| 永和县| 绥化市| 珲春市| 清涧县| 淳安县| 闵行区| 苗栗市| 蓬溪县| 东明县| 明溪县| 麻城市| 抚宁县| 武胜县|