㈠ 51單片機如何實現「復位」
首先需要明確,程序重頭開始執行是指某一段程序(或者一個函數)重新開始執行,還是你所謂的「復位」讓單片機重啟?如果不是特殊需求,建議不要讓單片機復位以使程序重新運行。
從你描述看,你所執行的程序肯定是長時間佔有CPU導致不能實時監測紅外信號,很明顯不能用查詢方式,改用中斷即可,至於中斷後如何停止原來運行的程序再重新開始運行就是你的事了。
那麼我需求就是要檢測到紅外信號後「復位」單片機怎麼辦呢?直接將紅外信號接到復位引腳上(假設你單片機是高電平復位),若是低電平復位,則取反。不過要注意:1、復位信號要持續一定時間才能復位;2、自然界中紅外干擾很多,很有可能你單片機運行著運行著就復位了~~3、若紅外接收器還肩負其他如信號傳輸任務,很明顯這樣不行!
㈡ 是單片機復位有幾種方法 復位後機器初始狀態
使程序計數器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內部的數據則不變
㈢ 5. 單片機的復位方式有2種,分別是 和
上電復位和軟體復位
㈣ 51單片機常用的復位方法有幾種應注意的事項有什麼
單片機復位就兩種方式,一個是硬體復位,一個是軟體復位。硬體復位就是靠外部的硬體強行把復位管教置為低電平,例如上電的時候,還有按鍵。上電之所以要復位是因為在接通電源的一瞬間,給單片機的電壓是不穩定的,電壓不穩定就會導致程序跑飛,從而出現意想不到的情況。而常用的阻容復位(就是一個電阻和電容串聯,電阻接VCC,電容接地,復位管教接中間的那種。),當上電的時候,電源經電阻向電容充電,電容看作短路,所以復位管教為低電平,使得單片機在這段時間內不停的復位。當電源穩定後,電容已經充電完成,相當於開路,復位管教為高電平,單片機正常運行程序。軟體復位就是利用單片機內部的看門狗來防止程序跑飛,看門狗就是個定時器,每個機器周期,它就加一,當它記滿時,就會讓單片機復位。所以要要定時重裝看門狗。正常情況下,不能讓他溢出。這叫喂狗。當單片機受到外界的干擾,使得程序跑飛,跑出while(1)大循環的時候,由於無法執行喂狗的動作,單片機就會復位,從而不會出現單片機死機的情況。
㈤ 單片機的三種復位方式
一、高電平復位
復位電路的工作原理 在書本上有介紹,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為低電平。正常工作為低電平,高電平復位。
㈥ 單片機的復位方法有幾種
多數為零,自動指向工作寄存器0區
㈦ STC12C5A60S2單片機復位方式有哪些
STC12C5A60S2系列單片機有5種復位方式:
1、外部RST引腳復位。
2、外部低壓檢測復位。
3、軟體復位
4、掉電復位/上電復位
5、看門狗復位
㈧ 單片機復位操作有什麼和什麼兩總方式
單片機復位操作基本有手動復位、看門狗復位、電源電壓異常復位、時鍾失步復位。
方式主要有高電平復位、低電平復位兩種。
㈨ 單片機的復位方式包括
2、上電復位
AT89C51的上電復位電路如圖2所示,只要在RST復位輸入引腳上接一電容至VCC端,下接一個電阻到地即可。對於CMOS型單片機,由於在RST端內部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1?F。上電復位的工作過程是在加電時,復位電路通過電 容加給RST端一個短暫的高電平信號,此高電平信號隨著VCC對電容的充電過程而逐漸回落,即RST端的高電平持續時間取決於電容的充電時間。
為了保證系統能夠可靠地復位,RST端的高電平信號必須維持足夠長的時間。上電時,VCC的上升時間約為10ms,而振盪器的起振時間取決於振盪頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。
在圖2的復位電路中,當VCC掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由於內部電路的限製作用,這個負電壓將不會對器件產生損害。另外,在復位期間,埠引腳處於隨機狀態,復位後,系統將埠置為全「l」態。如果系統在上電時得不到有效的復位,則程序計數器PC將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執行程序。 單片機與上點復位電路如圖1-2所示。
3、積分型上電復位
常用的上電或開關復位電路如圖3所示。上電後,由於電容C3的充電和反相門的作用,使RST持續一段時間的高電平。當單片機已在運行當中時,按下復位鍵K後松開,也能使RST為一段時間的高電平,從而實現上電或開關復位的操作。 積分電路如圖1-3所示
4、參數設置
根據實際操作的經驗,下面給出這種復位電路的電容、電阻參考值。C=1uF,R1=1k,R2=10k
5、proteus中模擬的現象
很多玩proteus的在模擬中都發現復位電路沒法用,出現的問題確實和模擬器本身有關系,按鍵復位電路用的比較多,但是模擬卻出現問題了。我弄來弄去發現一個有趣的問題:在4參數設置中說了參考典型值,但模擬中就有問題了見下面幾幅圖對比下可以看出問題。完全按照圖1-1 按鍵復位電路模擬。結果如圖1-4 按鍵復位電路模擬1所示。
㈩ 單片機的復位方式有倆種 是內部復位和外部復位,還是上電自動復位和按鍵手動復位
原先是指後面說的那樣吧,老的8051沒有內部復位的