STC單片機(jī)簡(jiǎn)介
STC單片機(jī)是一款增強(qiáng)型51單片機(jī),完全兼容MCS-51,還增加了新的功能,比如新增兩級(jí)中斷優(yōu)先級(jí),多一個(gè)外中斷,內(nèi)置EEPROM,硬件看門(mén)狗,具有掉電模式,512B內(nèi)存等。還支持ISP下載,不用編程器,只要一個(gè)MAX232和一些廉價(jià)的元件就能寫(xiě)程序,可擦寫(xiě)10萬(wàn)次。因此是一款很好用的單片機(jī)。
stc單片機(jī)的優(yōu)缺點(diǎn)
stc單片機(jī)優(yōu)點(diǎn):
1、抗干擾能力強(qiáng);
2、保密性能強(qiáng)悍,很難被破解;
3、單片機(jī)時(shí)鐘有防外部電磁輻射功能;
stc單片機(jī)缺點(diǎn):
1、功耗較高,5V供電;
2、8位,運(yùn)行速度慢;
3、無(wú)硬件乘法器,乘除法運(yùn)算都為4周期指令;
4、單片機(jī)內(nèi)集成資源少。
為什么STC單片機(jī)要冷啟動(dòng)
stc的程序分引導(dǎo)區(qū)和程序區(qū)。引導(dǎo)區(qū)的代碼主要負(fù)責(zé)ISP在線燒錄。而stc的冷啟動(dòng)順序就是先從引導(dǎo)區(qū)然后啟動(dòng)到程序區(qū)的。而熱啟動(dòng)就是普通的51啟動(dòng)方式,只能從程序區(qū)頭部開(kāi)始重新執(zhí)行。所以你必須冷啟動(dòng)。另外STC提供了一個(gè)特殊的寄存器地址,通過(guò)設(shè)置他能通過(guò)軟件實(shí)現(xiàn)硬復(fù)位的功能直接跳轉(zhuǎn)到引導(dǎo)區(qū)。
STC單片機(jī)冷啟動(dòng)和復(fù)位是什么
STC單片機(jī)冷啟動(dòng)和復(fù)位是什么,現(xiàn)以STC12系列為例說(shuō)明。
冷啟動(dòng),單片機(jī)掉電,電量放光后上電,為冷啟動(dòng)。
復(fù)位,單片機(jī)不掉電,使用復(fù)位管腳對(duì)其復(fù)位(還有其他類(lèi)型的復(fù)位:看門(mén)狗、IAP_COUNTER控制軟復(fù)位)。這些屬于熱啟動(dòng)。
STC單片機(jī)的復(fù)位方式
以STC12C5A60S2系列單片機(jī)為例:
1、外部RST引腳復(fù)位。
2、外部低壓檢測(cè)復(fù)位。
3、軟件復(fù)位
4、掉電復(fù)位/上電復(fù)位
5、看門(mén)狗復(fù)位
STC單片機(jī)冷啟動(dòng)和復(fù)位有什么區(qū)別
區(qū)別就是復(fù)位啟動(dòng)是強(qiáng)制進(jìn)行重新啟動(dòng)(前提就是你的電腦必須已經(jīng)開(kāi)著),而冷啟動(dòng)就是你關(guān)機(jī)后重新進(jìn)行啟動(dòng),這樣是按照電腦(硬盤(pán))的工作原理來(lái)進(jìn)行的。
還有的是復(fù)位啟動(dòng)是不管你的硬盤(pán)是否運(yùn)行,都要強(qiáng)制重啟,這樣的話,對(duì)你的硬盤(pán)有一定的損害。而冷啟動(dòng)就等電腦(硬盤(pán))保存好數(shù)據(jù)后,再一次進(jìn)行啟動(dòng),對(duì)硬盤(pán)沒(méi)有損害。
關(guān)于stc51的冷啟動(dòng)下載和復(fù)位
Stc單片機(jī)里面有一段出廠時(shí)固化的程序,這段程序的作用是檢測(cè)串口是否要下載程序,不需要?jiǎng)t執(zhí)行單片機(jī)內(nèi)的用戶程序。每次啟動(dòng)時(shí)運(yùn)行這端程序,這就是為什么每次下載時(shí)要冷啟動(dòng)。而復(fù)位后單片機(jī)是從地址0000H處開(kāi)始執(zhí)行,地址0000H又會(huì)指向主程序入口,即主函數(shù)處,即片內(nèi)下載的用戶程序而不會(huì)執(zhí)行前面已經(jīng)固化的檢測(cè)串口那段程序。這就是為什么單片機(jī)每次下載要冷啟動(dòng),而復(fù)位不行。注意,程序前面的宏定義什么的東西不占用系統(tǒng)時(shí)間,所以主程序即主函數(shù)處。
有一個(gè)辦法可以給那些需要加電立刻啟動(dòng)的用戶,STC單片機(jī)可以設(shè)置為加電時(shí)只有P1.0/P1.1為低電平時(shí)開(kāi)始下載程序,否則直接執(zhí)行用戶程序。這種辦法快,不用等前面檢測(cè)串口的那段時(shí)間 。stc單片機(jī)冷啟動(dòng)是必須的而復(fù)位電路不是必須的,不管是冷啟動(dòng)還是手動(dòng)啟動(dòng)。也就是想下載程序必須冷啟動(dòng),而有沒(méi)有復(fù)位電路無(wú)所謂。但是最小系統(tǒng)板上必須有復(fù)位電路,無(wú)論是上電復(fù)位,還是上電加手動(dòng)復(fù)位,雖然在一些簡(jiǎn)單的程序中看不出區(qū)別,但是因?yàn)閺?fù)位操作會(huì)對(duì)一些特殊寄存器產(chǎn)生影響,這樣沒(méi)有復(fù)位操作的話再次執(zhí)行函數(shù)的時(shí)候會(huì)出現(xiàn)錯(cuò)誤。單片機(jī)斷電后在通電也會(huì)從主函數(shù)處繼續(xù)執(zhí)行,可能是單片機(jī)斷電后地址自動(dòng)回到0000H,但是那些特殊寄存器里的值不會(huì)改變。
對(duì)于上電復(fù)位,貌似電路不會(huì)有電流流過(guò),但是上電瞬間,有一個(gè)給電容充電的過(guò)程,這個(gè)過(guò)程中rst端口會(huì)出現(xiàn)一個(gè)正脈沖,只要該脈沖保持1ms以上就能使單片機(jī)復(fù)位。
單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開(kāi)始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見(jiàn)下表。
值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對(duì)于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的初始化部分是十分必要的。 說(shuō)明:表中符號(hào)*為隨機(jī)狀態(tài); A=00H,表明累加器已被清零;
PSW=00H,表明選寄存器0組為工作寄存器組;
SP=07H,表明堆棧指針指向片內(nèi)RAM 07H字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的內(nèi)容寫(xiě)入到08H單元中;
Po-P3=FFH,表明已向各端口線寫(xiě)入1,此時(shí),各端口既可用于輸入又可用于輸出; IP=×××00000B,表明各個(gè)中斷源處于低優(yōu)先級(jí); IE=0××00000B,表明各個(gè)中斷均被關(guān)斷;
系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下。51單片機(jī)的復(fù)位是由RESET引腳來(lái)控制的,此引腳與高電平相接超過(guò)24個(gè)振蕩周期后,51單片機(jī)即進(jìn)入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳轉(zhuǎn)為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會(huì)執(zhí)行外部程序。
51單片機(jī)在系統(tǒng)復(fù)位時(shí),將其內(nèi)部的一些重要寄存器設(shè)置為特定的值,至于內(nèi)部RAM內(nèi)部的數(shù)據(jù)則不變。
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44580瀏覽量
636422 -
STC單片機(jī)
+關(guān)注
關(guān)注
9文章
222瀏覽量
38191
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論