為了保證 cpu 在需要時(shí)從已知的起點(diǎn)和狀態(tài)開始工作,安排了復(fù)位功能。 當(dāng)復(fù)位引腳rst/vpd出現(xiàn)兩個(gè)機(jī)器周期高電平時(shí),單片機(jī)復(fù)位 。
參考復(fù)位電路如下:
復(fù)位后, p0 ~ p3 輸出高電平; sp 寄存器為 07h ;其它寄存器全部清 0 ;不影響 ram 狀態(tài)。 復(fù)位后片內(nèi)各寄存器的狀態(tài)如下( x 為不確定):
pc 0000h acc 00h
b 00h psw 00h
sp07h dptr 0000h
p0 ~ p3 ffh ip xxx00000b
ie 0xx00000b tmod 00h
tcon 00h tho 00h
tlo 00h th1 00h
tl1 00h scon 00h
sbuf 不確定
pcon 0xxxxxxxb(hmos)0xxx0000b(chmos)
復(fù)位不影響內(nèi)部 ram 中的數(shù)據(jù)。復(fù)位后, pc=0000 指向程序存儲(chǔ)器 0000h 地址單元,使 cpu 從首地址 0000h 單元開始重新執(zhí)行程序。所以單片機(jī)系統(tǒng)在運(yùn)行出錯(cuò)或進(jìn)入死循環(huán)時(shí),可按復(fù)位健重新啟動(dòng)。
rst/vpp 端的外部復(fù)位電路有兩種工作方式:上電自動(dòng)復(fù)位和按健手動(dòng)復(fù)位。如圖所示。上電復(fù)位是利用 rc 充電來實(shí)現(xiàn)的。利用 rc 微分電路產(chǎn)生正脈沖。參數(shù)選取應(yīng)保證復(fù)位高電平持續(xù)時(shí)間大于兩個(gè)機(jī)器周期(圖中參數(shù)適合 6mhz 晶振)。開關(guān) s1 為手動(dòng)復(fù)位,按下 s1 時(shí)合上開關(guān), rst 得到高電平,松手后 cpu 完成復(fù)位,并從 0000h 開始執(zhí)行程序。