一文看懂STC單片機冷啟動和復位有什麼區別

2020-11-30 電子發燒友

一文看懂STC單片機冷啟動和復位有什麼區別

發表於 2018-04-03 09:13:22

  STC單片機簡介

  STC單片機是一款增強型51單片機,完全兼容MCS-51,還增加了新的功能,比如新增兩級中斷優先級,多一個外中斷,內置EEPROM,硬體看門狗,具有掉電模式,512B內存等。還支持ISP下載,不用編程器,只要一個MAX232和一些廉價的元件就能寫程序,可擦寫10萬次。因此是一款很好用的單片機。

  

  stc單片機的優缺點

  stc單片機優點:

  1、抗幹擾能力強;

  2、保密性能強悍,很難被破解;

  3、單片機時鐘有防外部電磁輻射功能;

  stc單片機缺點:

  1、功耗較高,5V供電;

  2、8位,運行速度慢;

  3、無硬體乘法器,乘除法運算都為4周期指令;

  4、單片機內集成資源少。

  為什麼STC單片機要冷啟動

  stc的程序分引導區和程序區。引導區的代碼主要負責ISP在線燒錄。而stc的冷啟動順序就是先從引導區然後啟動到程序區的。而熱啟動就是普通的51啟動方式,只能從程序區頭部開始重新執行。所以你必須冷啟動。另外STC提供了一個特殊的寄存器地址,通過設置他能通過軟體實現硬復位的功能直接跳轉到引導區。

  

  STC單片機冷啟動和復位是什麼

  STC單片機冷啟動和復位是什麼,現以STC12系列為例說明。

  冷啟動,單片機掉電,電量放光後上電,為冷啟動。

  復位,單片機不掉電,使用復位管腳對其復位(還有其他類型的復位:看門狗、IAP_COUNTER控制軟復位)。這些屬於熱啟動。

  STC單片機的復位方式

  以STC12C5A60S2系列單片機為例:

  1、外部RST引腳復位。

  2、外部低壓檢測復位。

  3、軟體復位

  4、掉電復位/上電復位

  5、看門狗復位

  

  STC單片機冷啟動和復位有什麼區別

  區別就是復位啟動是強制進行重新啟動(前提就是你的電腦必須已經開著),而冷啟動就是你關機後重新進行啟動,這樣是按照電腦(硬碟)的工作原理來進行的。

  還有的是復位啟動是不管你的硬碟是否運行,都要強制重啟,這樣的話,對你的硬碟有一定的損害。而冷啟動就等電腦(硬碟)保存好數據後,再一次進行啟動,對硬碟沒有損害。

  關於stc51的冷啟動下載和復位

  Stc單片機裡面有一段出廠時固化的程序,這段程序的作用是檢測串口是否要下載程序,不需要則執行單片機內的用戶程序。每次啟動時運行這端程序,這就是為什麼每次下載時要冷啟動。而復位後單片機是從地址0000H處開始執行,地址0000H又會指向主程序入口,即主函數處,即片內下載的用戶程序而不會執行前面已經固化的檢測串口那段程序。這就是為什麼單片機每次下載要冷啟動,而復位不行。注意,程序前面的宏定義什麼的東西不佔用系統時間,所以主程序即主函數處。

  有一個辦法可以給那些需要加電立刻啟動的用戶,STC單片機可以設置為加電時只有P1.0/P1.1為低電平時開始下載程序,否則直接執行用戶程序。這種辦法快,不用等前面檢測串口的那段時間 。stc單片機冷啟動是必須的而復位電路不是必須的,不管是冷啟動還是手動啟動。也就是想下載程序必須冷啟動,而有沒有復位電路無所謂。但是最小系統板上必須有復位電路,無論是上電復位,還是上電加手動復位,雖然在一些簡單的程序中看不出區別,但是因為復位操作會對一些特殊寄存器產生影響,這樣沒有復位操作的話再次執行函數的時候會出現錯誤。單片機斷電後在通電也會從主函數處繼續執行,可能是單片機斷電後地址自動回到0000H,但是那些特殊寄存器裡的值不會改變。

  

  對於上電復位,貌似電路不會有電流流過,但是上電瞬間,有一個給電容充電的過程,這個過程中rst埠會出現一個正脈衝,只要該脈衝保持1ms以上就能使單片機復位。

  單片機的復位操作使單片機進入初始化狀態,其中包括使程序計數器PC=0000H,這表明程序從0000H地址單元開始執行。單片機冷啟動後,片內RAM為隨機值,運行中的復位操作不改變片內RAM區中的內容,21個特殊功能寄存器復位後的狀態為確定值,見下表。

  值得指出的是,記住一些特殊功能寄存器復位後的主要狀態,對於了解單片機的初態,減少應用程式中的初始化部分是十分必要的。 說明:表中符號*為隨機狀態; A=00H,表明累加器已被清零;

  

  

  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內部的數據則不變。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • STC單片機的種類與區別介紹
    最近有太多的人不明白「單片機系列」的問題了。也就是說,很多人都在問STC12C2052和STC12C4052兩個型號有什麼區別。
  • STC單片機下載不進程序及解決辦法
    網上收颳了一大圈,還是沒有找到是什麼原因。於是請教蘇工,蘇工看了之後立馬說,應該跟RXD,TXD連接的電阻有關係。因為R7和R12都直接跟VCC相連,在上電的瞬間,給單片機上電的同時,RXD和TXD會受到R7和R12的影響,會造成電流倒灌的情況,進而影響程序的下載,甚至是下載不進去。解決的辦法就是把跟RXD和TXD有關的電阻先撅起來(去掉),下載完成後再焊上。
  • 如何在KEIL中添加STC單片機
    首先,看一下STC公司的解答:1.把STC單片機,當成Intel的8052/87C52/87C54/87C58,本文引用地址:http://www.eepw.com.cn/article/201611/315906
  • AT89S51單片機的復位操作及復位電路設計
    復位操作 當AT89S51進行復位時,PC初始化為OOOOH,使AT89S51單片機從程序存儲器的OOOOH單元開始執行程序。除了進入系統的正常初始化之外,當程序運行出錯(如程序「跑飛」)或操作錯誤使系統處於「死鎖」狀態時,也需按復位鍵即RST腳為高電平,使AT89S51擺脫「跑飛」或「死鎖」狀態而重新啟動程序。
  • 單片機復位電路作用原理以及與置位的區別
    關於單片機的置位和復位,都是為了把電路初始化到一個確定的狀態,一般來說,單片機復位電路作用是把一個例如狀態機初始化到空狀態,而在單片機內部,復位的時候單片機是把一些寄存器以及存儲設備裝入廠商預設的一個值。
  • 51單片機復位電路的設計
    單片機在可靠的復位之後,才會從0000H地址開始有序的執行應用程式。同時,復位電路也是容易受到外部噪 聲幹擾的敏感部分之一。因此,復位電路應該具有兩個主要的功能:1. 必須保證系統可靠的進行復位;2. 必須具有一定的抗幹擾的能力;一、復位電路的RC選擇復位電路應該具有上電復位和手動復位的功能。
  • 如何使單片機復位可靠,單片機復位電路
    數字電路剛通電時都需要進行復位,復位的功能是將單片機裡的重新開始,主要防止程序混亂,也就是跑飛,或者死機等現象,目的是使系統進入初始狀態,以便隨時接受各種指令進行工作,CPU的復位可靠性決定著產品系統的穩定性,因此在電路當中,發生任何一種復位後,系統程序將從重新開始執行,系統寄存器也都將恢復為默認值
  • STC12系列單片機解密介紹
    STC單片機是由深圳宏晶公司銷售的一款單片機晶片,至於設計和生產,有很多說法,網絡上可以查到的資料,有的說是美國公司按照SST公司的內核設計的,由宏晶公司貼牌銷售的,也有的說是由ST公司設計的。至於生產的說法更多,有的說是由臺積電生產。有的說是由臺灣其它公司代工生產的。
  • 單片機最小系統之|復位電路設計
    什麼是單片機的復位電路  單片機的復位電路就是在單片機的復位引腳產生一個復位信號,使單片機處於復位狀態,使單片機的程序從頭執行,從而避免了單片機程序的跑飛。  2. 單片機復位電路的作用是什麼  單片機復位的主要作用是把特殊功能寄存器的數值加載為默認值,由於單片機在運算過程中受外界幹擾造成寄存器中數據混亂不能使其正常繼續執行程序(稱死機)或單片機的指令不按照程序執行而指向了未知位置(俗稱跑飛),這時候就需要單片機復位一下,以使程序重新開始運行。  3.
  • 單片機復位電路的可靠性設計及精典實用復位電路
    一、概述影響單片機系統運行穩定性的因素可大體分為外因和內因兩部分:1、外因射頻幹擾,它是以空間電磁場的形式傳遞 在機器內部的導體
  • 單片機復位電路的工作原理
    如何進行復位呢?只要在單片機的RST引腳上加上高電平就可以了,時間不少於5ms。這種復位電路的工作原理是:通電時,電容兩端相當於是短路,於是RST引腳上為高電平,然後電源通過電阻對電容充電,RST端電壓慢慢下降,降到一定程度為低電平,單片機開始正常工作。
  • 關於STC單片機的幾點建議
    STC主要依靠高校學生市場和超低端小批量市場(51系列在工業用單片機上的份額並不大)生存多年,出了這麼多產品。而且那個神奇的ISP工具越做越像客戶端,也許有一天STC把編譯器做進去,直接就在下載工具裡面寫程序了。
  • 你該了解的單片機復位電路
    你該了解的單片機復位電路 鄧佳佳 發表於 2018-03-23 16:03:43 影響單片機系統運行穩定性的因素可大體分為外因和內因兩部分: 1、外因
  • 基於STM32單片機啟動文件的作用和啟動過程解析
    基於STM32單片機啟動文件的作用和啟動過程解析 工程師周亮 發表於 2018-11-09 16:15:19 一、啟動文件的作用是: 1.初始化堆棧指針
  • 單片機最小系統復位電路圖原理
    復位電路圖 復位電路圖單片機的置位和復位,都是為了把電路初始化到一個確定的狀態,一般來說,單片機復位電路作用是把一個例如狀態機初始化到空狀態,而在單片機內部,復位的時候單片機是把一些寄存器以及存儲設備裝入廠商預設的一個值。
  • STC單片機如何實現輸出固定的脈衝個數
    打開APP STC單片機如何實現輸出固定的脈衝個數 21ic 發表於 2019-10-24 15:43:40 256us 脈衝輸出方式為:SYSclk/2 因此,F=12M/2/256 所需要中斷的次數(InitCount)為, InitCount=TimeCount/T =PlusCount/F/T = PlusCount/12M/2/256/256us = PlusCount/6 原始碼如下: #include「stc12cxx.h
  • 跟電師傅學單片機(5):時鐘電路與復位電路
    百家號:電師傅,專門請電師傅講解單片機應用技術,傾力奉獻,機會難得,力求做到圖文並茂、通俗易懂。歡迎電工電子愛好者關注和閱讀,留言討論,共同學習與提高,分享和普及電知識。課前一語:人生如逆旅,我亦是行人。駕馭命運的舵是奮鬥,不抱有一絲幻想,不放棄一點機會,不停止一日努力。
  • 一文看懂鋁基板和pcb板的區別
    打開APP 一文看懂鋁基板和pcb板的區別 發表於 2019-05-13 11:18:06   什麼是鋁基板   鋁基板是一種具有良好散熱功能的金屬基覆銅板,一般單面板由三層結構所組成,分別是電路層(銅箔)、絕緣層和金屬基層。
  • avr單片機和stm32區別與優缺點分析
    摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?   一、AVR單片機介紹   AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。可以廣泛應用於計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。
  • 復位電路原理
    和計算器清零按鈕有所不同的是,復位電路啟動的手段有所不同。一是在給電路通電時馬上進行復位操作;二是在必要時可以由手動操作;三是根據程序或者電路運行的需要自動地進行。復位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了。再複雜點就有三極體等等配合程序來進行了。