為了保證 cpu 在需要時從已知的起點和狀態(tài)開始工作,安排了復位功能。 當復位引腳rst/vpd出現(xiàn)兩個機器周期高電平時,單片機復位 。
參考復位電路如下:
復位后, p0 ~ p3 輸出高電平; sp 寄存器為 07h ;其它寄存器全部清 0 ;不影響 ram 狀態(tà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)
復位不影響內部 ram 中的數(shù)據(jù)。復位后, pc=0000 指向程序存儲器 0000h 地址單元,使 cpu 從首地址 0000h 單元開始重新執(zhí)行程序。所以單片機系統(tǒng)在運行出錯或進入死循環(huán)時,可按復位健重新啟動。
rst/vpp 端的外部復位電路有兩種工作方式:上電自動復位和按健手動復位。如圖所示。上電復位是利用 rc 充電來實現(xiàn)的。利用 rc 微分電路產生正脈沖。參數(shù)選取應保證復位高電平持續(xù)時間大于兩個機器周期(圖中參數(shù)適合 6mhz 晶振)。開關 s1 為手動復位,按下 s1 時合上開關, rst 得到高電平,松手后 cpu 完成復位,并從 0000h 開始執(zhí)行程序。