A. 復位晶元、電壓檢測晶元、看門狗有什麼區別
其實復位的本質是MCU在接到特定信號後,執行復位動作,清零及清寄存器,重置中斷等;
那麼特定信號是什麼,通常是一個電壓觸發信號,如低電平/高電平,對應的也就是低電平復位/高電平復位;
所以僅就復位功能來講,這三者均可實現,只是實現的方式不一樣;
通常意義上來講,復位晶元是代替阻容復位的,通常用在復位波形要求比較高的場合,就比如RC復位,它的波形比較遲緩,而且一致性差,如果是用專用的復位晶元,輸出的復位波形就非常好,實際上,這種單一功能的復位晶元,現在用得很少,反而是電壓檢測和看門狗用得比較多;
電壓檢測其實就是一個電壓判斷器+一個復位電路,當電壓掉落到一定程度,電壓檢測晶元就發出復位信號,使MCU復位,避免MCU在過低的電壓狀態下運行,從而避免不可控的狀況出現;
看門狗其實主要是為了防止程序跑飛...說白了就是一個計時器+一個復位電路,在一字計時期限內,如果MCU沒有給回饋給看門狗,看門狗就強制輸出復位信號,讓MCU復位;
----
舉個簡單的例子.比如我現在用一顆5V電壓的MCU;那麼晶元通常能保證在4.5V~5.5V范圍內正常工作,所以我會在前端一顆S-80146,這顆晶元在Vcc掉到4.6V時就會發出復位信號,此時MCU就會開始復位了...如果你不加...好吧,MCU搞不好在3V電壓下都還在運行,但運行出個什麼結果,就只有上帝知道了...
同理,通常會會加一顆WDT,不過現在很多人都用門電路自己搭,也是可以的;比如我設定2S內喂一次狗,如果2S計時到了,而MCU沒有任何喂狗的信號,說明此時程序已經跑飛了,所以WDT就會啟動復位...從而避免MCU在錯誤的程序下繼續跑下去.
B. 單片機復位電路(高低電平復位分別)
當單片機上電瞬間由於電容電壓不能突變會使電容兩邊的電位相同,此時RST為低電平,之後隨著時間推移電源通過電阻對電容充電,充滿電時RST為高電平。正常工作為高電平,低電平復位。
當單片機上電瞬間由於電容電壓不能突變會使電容兩邊的電位相同,此時RST為高電平,之後隨著時間推移電源負極通過電阻對電容放電,放完電時RST為低電平。正常工作為低電平,高電平復位。
單片機的復位引腳RST(全稱RESET)出現2個機器周期以上的高電平時,單片機就執行復位操作。如果RST持續為高電平,單片機就處於循環復位狀態。當單片機處於低電平時就掃描程序存儲器執行程序。
(2)單片機復位晶元擴展閱讀
基本結構
1、運算器
運算器由運算部件——算術邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。
2、ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最後將結果存入累加器。例如,兩個數6和7相加,在相加之前,操作數6放在累加器中,7放在數據寄存器中,當執行加法指令時,ALU即把兩個數相加並把結果13存入累加器,取代累加器原來的內容6。
3、運算器有兩個功能:
(1)執行各種算術運算。
(2)執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。
(3)運算器所執行全部操作都是由控制器發出的控制信號來指揮的,並且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
4、控制器
控制器由程序計數器、指令寄存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的「決策機構」,即協調和指揮整個微機系統的操作。其主要功能有:
(1) 從內存中取出一條指令,並指出下一條指令在內存中的位置。
(2) 對指令進行解碼和測試,並產生相應的操作控制信號,以便於執行規定的動作。
(3) 指揮並控制CPU、內存和輸入輸出設備之間數據流動的方向。
5、主要寄存器
(1)累加器A
累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用於保存一個操作數;運算後,用於保存所得的和、差或邏輯運算結果。
(2)數據寄存器DR
數據寄存器通過數據匯流排向存儲器和輸入/輸出設備送(寫)或取(讀)數據的暫存單元。它可以保存一條正在解碼的指令,也可以保存正在送往存儲器中存儲的一個數據位元組等等。
(3)程序計數器PC
PC用於確定下一條指令的地址,以保證程序能夠連續地執行下去,因此通常又被稱為指令地址計數器。在程序開始執行前必須將程序的第一條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執行指令的地址。
(4)地址寄存器AR
地址寄存器用於保存當前CPU所要訪問的內存單元或I/O設備的地址。由於內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
硬體特性
晶元
1、主流單片機包括CPU、4KB容量的RAM、128 KB容量的ROM、 2個16位定時/計數器、4個8位並行口、全雙工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
2、系統結構簡單,使用方便,實現模塊化。
3、單片機可靠性高,可工作到10^6 ~10^7小時無故障。
4、處理功能強,速度快。
5、低電壓,低功耗,便於生產攜帶型產品。
6、控制功能強。
7、環境適應能力強。
C. 是單片機復位有幾種方法 復位後機器初始狀態
使程序計數器PC=0000H,這表明程序從0000H地址單元開始執行。單片機冷啟動後,片內RAM為隨機值,運行中的復位操作不改變片內RAM區中的內容,21個特殊功能寄存器復位後的狀態為確定值
說明:表中符號*為隨機狀態;
A=00H,表明累加器已被清零;
特殊功能寄存器
初始狀態
特殊功能寄存器
初始狀態
A
00H
TMOD
00H
B
00H
TCON
00H
PSW
00H
TH0
00H
SP
07H
TL0
00H
DPL
00H
TH1
00H
DPH
00H
TL1
00H
P0~P3
FFH
SBUF
不定
IP
***00000B
SCON
00H
IE
0**00000B
PCON
0*******B
PSW=00H,表明選寄存器0組為工作寄存器組;
SP=07H,表明堆棧指針指向片內RAM 07H位元組單元,根據堆棧操作的先加後壓法則,第一個被壓入的內容寫入到08H單元中;
Po-P3=FFH,表明已向各埠線寫入1,此時,各埠既可用於輸入又可用於輸出;
IP=×××00000B,表明各個中斷源處於低優先順序;
IE=0××00000B,表明各個中斷均被關斷;
系統復位是任何微機系統執行的第一步,使整個控制晶元回到默認的硬體狀態下。51單片機的復位是由RESET引腳來控制的,此引腳與高電平相接超過24個振盪周期後,51單片機即進入晶元內部復位狀態,而且一直在此狀態下等待,直到RESET引腳轉為低電平後,才檢查EA引腳是高電平或低電平,若為高電平則執行晶元內部的程序代碼,若為低電平便會執行外部程序。
51單片機在系統復位時,將其內部的一些重要寄存器設置為特定的值,至於內部RAM內部的數據則不變
D. 單片機復位電路的原理是什麼
你把這個電容想像成一個阻值可變的電阻,就容易理解了。
電容充電過程中,復位電路中是有電流的。RST的電壓就是分壓電阻R的端電壓。
在復位電路剛上電的時候,電容內部,正極的極板上的電子由於電場力的作用向正極移動,同時,負極上的電子向接負極的極板移動,有電子定向的移動,就產生了電流。所以一上電的時候,可以想像成此時電容就是個電阻值很低甚至為0的電阻。
隨著時間的推移,電容兩端的電壓逐漸等於充電電源電壓,當充電完成時,復位電路不再有電流流動。你可以理解為這個電容的「阻值」從0到了無窮大,最終(充電完成時)近似於開路(隔直流了),此時RST端又被電阻R接地下拉到0V。
所以,充電過程中,RST端的電壓是從VCC逐漸降低到0的。
E. 80c51單片機的RST引腳有什麼作用有哪幾種復位方式復位後的狀態是什麼
1、RST:引導內部復位程序或電路。可以看到SFR的復位值,同時等待時鍾電路穩定工作,提高抗干擾能力,提供一種有效的重啟方式,目的就是單片機重生。
2、復位方式:要求RST保持高電平一段時間,通常上電RC電路或專用電源監控晶元做到。
3、狀態:是運行狀態,於是CPU從0000H地址開始幹活。
51單片機是高電平復位的雀和簡,如果RST引腳維持2個機器周期時間長的高電平,那麼內部寄存器將會被置為合適的數值,使得系統順序啟動,正常工作時,RST 腳保持低電平。
(5)單片機復位晶元擴展閱讀:
RST引腳是復位端,高電平有效。在該引腳輸入至少連續兩個機器周期以上的高電平,單片機復位。RST引腳內部有一個斯密特ST觸發器以對輸入信號整形,保證內部復位電路的可靠,所以外部輸頃褲入信號不一定要求是數字波形。
使用時,一般在此引腳與VSS引腳之間接一一個約8.2k2的下拉電阻,與VCC引腳之間接一個棚帶約10UF的電解電容,即可保證上電自動復位。復位也是使單片機退出低功耗工作方式而進入正常狀態一種操作。
F. 單片機復位和冷啟動(掉電)的區別
對於單片機執行程序的過程,單片機復位和冷啟動(掉電)是沒區別的,都是要0000H單元開始執行。但對於電路是不同的。冷啟動,所有晶元及電路都是新上電,帶有復位的晶元會自動復位。而帶電復位只是單片機復位,而其他電路仍會保持現狀態,除非也是受單片機復位信號的控制,與單片機同步復位的除外。
另外,單片機帶電復位,如果不是按復位鍵產生的,就是由內部外部看門狗產生的。有的單片機帶有上電啟動標志位POF,可通過查詢POF標志位來判斷是冷啟動還是帶電復位。
G. 單片機復位監控晶元有幾種分別是
單片機復位監控晶元分別有:IMP705,IMP706,IMP708。而且可選擇適應於5V和3.3V不同的電源電壓下。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
H. 單片機的復位電路作用就是在晶元上電後讓復位引腳保持20us左右的低電平嗎
51單片機,復位電路作用就是:
在晶元上電後,讓復位引腳保持兩個機器周期
(約 2us,在12MHz時)的,高電平。
注意:51單片機,是高電平復位。
----
復位脈沖的寬度大小,是由單片機的廠家決定。
並不是由某些《專用的復位晶元》的廠家決定。
51 單片機廠家認為,寬度大於 2us 即可復位,這就是准確的說法。
即使某些《專用的復位晶元》輸出 240ms,只能說它們在畫蛇添足。
並不能用這個數值來否定單片機廠家給出的性能指標。
復位可靠,只是一些心理暗示而已,這說法本身,並不可靠。
以某些其它晶元來討論單片機的復位時間,明顯不靠譜。
I. 單片機的三種復位方式
一、高電平復位
復位電路的工作原理 在書本上有介紹,51單片機要復位只需要在第9引腳接個高電平持續2us就可以實現,那這個過程是如何實現的呢?在單片機系統中,系統上電啟動的時候復位一次,當按鍵按下的時候系統再次復位,如果釋放後再按下,系統還會復位。所以可以通過按鍵的斷開和閉合在運行的系統中控制其復位。
(1)、上電復位
電容的的大小是10uf,電阻的大小是10k。所以根據公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。也就是說在電腦啟動的0.1S內,電容兩端的電壓時在0~3.5V增加。這個時候10K電阻兩端的電壓為從5~1.5V減少(串聯電路各處電壓之和為總電壓)。所以在0.1S內,RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機中小於1.5V的電壓信號為低電平信號,而大於1.5V的電壓信號為高電平信號。所以在開機0.1S內,單片機系統自動復位(RST引腳接收到的高電平信號時間為0.1S左右)。
(2) 按鍵復位
在單片機啟動0.1S後,電容C兩端的電壓持續充電為5V,這是時候10K電阻兩端的電壓接近於0V,RST處於低電平所以系統正常工作。當按鍵按下的時候,開關導通,這個時候電容兩端形成了一個迴路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內,從5V釋放到變為了1.5V,甚至更小。根據串聯電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統自動復位。
總結: 1、復位電路的原理是單片機RST引腳接收到2US以上的電平信號,只要保證電容的充放電時間大於2US,即可實現復位,所以電路中的電容值是可以改變的。 2、按鍵按下系統復位,是電容處於一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。
二、低電平復位
在使用STM32晶元時,常用的復位方式為按鍵復位,且為低電平復位。其原理與上述高電平復位相反,分析也挺簡單,這里不在贅述,只給出按鍵復位原理
單片機的復位引腳RST(全稱RESET)出現2個機器周期以上的復位電平時,單片機就執行復位操作。如果RST持續為復位電平,單片機就處於循環復位狀態。當單片機處於正常電平時就正常轉入執行程序。
當單片機上電瞬間由於電容電壓不能突變會使電容兩邊的電位相同,此時RST為低電平,之後隨著時間推移電源通過電阻對電容充電,充滿電時RST為高電平。正常工作為高電平,低電平復位。即上電低電平,然後轉向高電平。當單片機上電瞬間由於電容電壓不能突變會使電容兩邊的電位相同,此時RST為高電平,之後隨著時間推移電源負極通過電阻對電容放電,放完電時RST為低電平。正常工作為低電平,高電平復位。
J. 硬體復位和軟體復位
晶元的復位腳我們再熟悉不過了,一般都是 拉低電平,並保持一段時間就可以硬體復位晶元 。
下面幾個案例是在實際調試晶元中由於復位腳處理不當引起的問題。
1.晶元的復位腳一直處於低電平,導致cpu與晶元通鬧襪信不上,這種問題還是挺好排查的。
2.一個gps晶元接到了cpu的串口1,一個藍牙晶元接到了cpu的串口2上,這兩種器件單獨工作都沒有問題,但當使用藍牙後,再去使用gps,發現gps搜不到信號,原來gps的復位腳接到了藍牙串口2的流控腳上,使用藍牙會拉低該復位腳,導致gps搜索不到衛星信號。
3.調試一款觸摸屏,發現休眠後晶元無法正常工作,查到休眠起來後,沒有檢測到中斷,導致初始化不成功。
由於程序上已經有復位操作,故一直懷疑中斷上的設置上有問題(該平台的中斷比較特殊),偶然液御激發現將晶元的中斷腳接到低電平一段時間然後放開,觸摸屏就工作正常了。
後來,將觸摸屏的復位腳接到低電平,晶元也能正常工作。
拿示波器去量復位引腳,發現復位引腳的確沒有拉低,然後該平台有特殊的方式去拉低一個引腳(這種平台最令人苦惱,好好的內核函數不去實現,偏偏自己搞一套api)。
至於拉低中拆轎斷腳也能令晶元工作正常,是由於該中斷觸發了晶元的軟復位。這里,這里軟體上的東西也不能全信,最好通過硬體手段去確認一下。
1 單片機 的 硬體復位 和門狗復位都是對單片機的復位引腳加一個復位電平產生的。
此時單片機將進行復位操作: pc=0000h p0=p1=p2=p3=0ffh sp=07h ,其它特殊寄存器將被清零。
復位結束後,單片機重新開始運行。
2 軟體復位 ;一般為了防止程序跑飛 可以在 程序存儲器 中沒有指令的地方 全部寫入 LJMP 0000H 指令。
一旦單片機運行跑飛,進入 LJMP 0000H 指令區將還返回單片機的第一條指令,重新運行單片機的正常程序。
軟體復位時, P0 P1 P2 P3 和特殊寄存器的內容都不會再改變。這點與硬體復位不同。