在我們使用單片機的過程中,單片機系統有時會因某些原因出現運行不正常的情況,本篇計算機論文認為我們就需要對單片機進行復位操作,復位操作分為正常復位和非正常復位兩種狀態,正常復位就是芯片內部程序重新啟動,進入可以正常工作的狀態;而非正常復位就是在不正當的條件下對芯片進行復位,這樣的操作有可能造成數據的丟失。《計算機周刊》堅持為社會主義服務的方向,堅持以馬克思列寧主義、毛澤東思想和鄧小平理論為指導,貫徹“百花齊放、百家爭鳴”和“古為今用、洋為中用”的方針,堅持實事求是、理論與實際相結合的嚴謹學風,傳播先進的科學文化知識,弘揚民族優秀科學文化,促進國際科學文化交流,探索防災科技教育、教學及管理諸方面的規律,活躍教學與科研的學術風氣,為教學與科研服務。
摘要:單片機(Microcontrollers)是一種當今電子產品中應用最廣的集成電路芯片之一,是使用大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器、脈寬調制器、多路轉換器、A/D轉換器等電路集成到一塊,相比較之下較為完善的微型計算機系統。
關鍵詞:微型計算機;單片機;集成電子芯片
說道單片機,那就不得不提到MCS-51這個單片機的型號了,以它為例:單片機中含有CPU、4KB容量的ROM、128B容量的RAM、2個16位定時/計數器、4個8位并行口這些基本的接口。在這類單片機中,也具有所有微型計算機的共有特性:系統結構簡單,使用方便,方便實現模塊化,原件之間的可操作性強;單片機可靠性以及安全系數比較高;處理功能強大,速度同比之下快;上電電壓低,低功耗;制作方便,便于生產和攜帶;控制功能強;環境適應能力強。這些特點,也可說是微型計算機家族發展至今,依舊屹立不敗的原因吧。微型單片機作為計算機發展領域的一個重要分支,我們大致可以將其分為以下幾類:通用型/專用型、總線型/非總線型及工控型/家電型。
通用型/專用型:這是按單片機在實際領域的適用范圍來區分的。例如,89C51是這一類單片機產品,它不是為某種專用途設計的,在許多領域,它都是可以使用的,而專用型單片機則是針對一類產品甚至某一個產品量身定做的,就像你的鑰匙和鎖。總線型/非總線型:這是按單片機內部是否含有并行總線來區分的。總線型單片機內部均設置了并行地址總線、數據總線、控制總線,這些引腳通過串行口與其他類型的單片機芯片連接,來達到擴展外圍并行器件的作用,而隨著科技的發展,人們對單片機的要求越來越苛刻,要求小,又要要求容量大。因此,許多已知的單片機在更新換代后,都將芯片所需要的外圍器件及外設接口集成芯片內部,因此就不再依賴并行擴展總線,這類單片機稱為非總線型單片機。控制型/家電型:這是按照單片機大致應用的領域進行區分的。對于尋址范圍大,運算能力強的微型計算機芯片都是用于工廠控制的;在家用電器中的小封裝、低價格,外圍器件連接較多和外設接口集成度高單片機多為專用型。這個分類吧,沒有什么明確的界限,換句話說,好的單片機還是可以完全勝任兩邊的工作。例如,80C51類單片機。單片機誕生于1971年,經歷了SCM、MCU、SOC三大階段,早期的SCM單片機都是8位或4位的。其中在SCM中的領頭羊是INTE8031,該系列單片機的始祖是Intel的8004單片機,后來隨著FlashRom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,20世紀90年代后,隨著電子產品的大規模發展,單片機技術也進入了一個飛速發展的時期。隨著INTELi960系列以及ARM系列在電子產品中的廣泛應用,我們進入了一個以單片機硬件為首、軟件為輔的硬件時代。
在SingleChipMicrocomputer(SCM,單片微型計算機)階段,設計者將精力放在了如何構成一個完美的單片形態的微型計算機系統的最佳結構。Intel公司將其開創出來后,單片機進入了MicroControllerUnit(MCU,微控制器)階段。這時,設計者們開始考慮的問題就是,在擴展滿足嵌入式應用的同時,系統要求的對其各種外圍電路與接口電路,實現了智能化控制,在此時,Philips公司成了這個時期的領路人。在目前SystemonChip(SOC,嵌入式系統)這個階段,設計者又需要解決應用系統在芯片上如何最大化的問題,因此,單片微型計算機又成了單片應用系統。干擾復位或掉電后復位均屬非正常復位,此時,芯片需要進行故障診斷并需要恢復至自動恢復非正常復位前的狀態。在程序的執行中,如果我們學過匯編語言(最接近計算機的語言),就知道其運行地址總是從0000H開始,這也就會造成以下幾種情況:A、系統開機上電復位;B、軟件故障復位;C、看門狗超時,未喂狗硬件復位;D、任務正在執行中掉電后來電復位。這幾個情況中,除系統開機上電復位外均屬非正常復位,我們要特別注意。
在對于某些對程序執行順序有著嚴格要求的控制系統,系統是否可以正常復位,決定了這個程序的生死,一旦程序出現非正常復位,系統都需要從失控的那一個模塊或任務恢復運行。而在此條件下,系統需要作好重要數據單元、參數的備份工作,這極大地消耗了系統的內存。這些操作完畢后,再把復位前的任務、參數、運行時間等恢復,數據恢復成功,我們才可以再使系統進入運行狀態。而在實際中,恢復系統的運行狀態需要特別細致地對系統的重要數據加以備份,并需要對數據的可靠性進行檢查,以保證恢復的數據的正確性。其次,系統還需要從多內部的任務、多進程的測控、數據的恢復來考慮程序運行的次序問題。
相關論文