51單片機(jī)的時(shí)鐘及復(fù)位
根據(jù)實(shí)際操作的經(jīng)驗(yàn),下面給出這兩種復(fù)位電路的電容、電阻參考值。
上圖(A)中:Cl=10-30uF,R1=1kO
上圖1.27(B)中:C:=1uF,Rl=lkO,R2=10kO
單片機(jī)復(fù)位后的狀態(tài):
單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見下表。
值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對(duì)于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的韌始化部分是十分必要的。
說(shuō)明:表中符號(hào)*為隨機(jī)狀態(tài);
A=00H,表明累加器已被清零;
特殊功能寄存器 | 初始狀態(tài) | 特殊功能寄存器 | 初始狀態(tài) |
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,表明堆棧指針指向片內(nèi)RAM 07H字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的內(nèi)容寫入到08H單元中;
Po-P3=FFH,表明已向各端口線寫入1,此時(shí),各端口既可用于輸入又可用于輸出;
IP=×××00000B,表明各個(gè)中斷源處于低優(yōu)先級(jí);
IE=0××00000B,表明各個(gè)中斷均被關(guān)斷;
51單片機(jī)在系統(tǒng)復(fù)位時(shí),將其內(nèi)部的一些重要寄存器設(shè)置為特定的值,(在特殊寄存器介紹時(shí)再做詳細(xì)說(shuō)明)至于內(nèi)部RAM內(nèi)部的數(shù)據(jù)則不變。
系統(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í)行外部程序。
單片機(jī)的工作完全在其pc指針控制下,即pc指向哪,單片機(jī)就執(zhí)行那里的指令。復(fù)位后pc執(zhí)行0000h地址,即你的程序的第一條指令。你可以找一本單片機(jī)的教材,找到關(guān)于復(fù)位后單片機(jī)狀態(tài)的地方好好看一下。 |
評(píng)論