PIC16C5X的復(fù)位電路
PIC16C5X的復(fù)位電路可以由系統(tǒng)上電,把MCLR輸入拉為低電平,或看門(mén)狗定時(shí)器溢出而產(chǎn)生。振蕩啟動(dòng)定時(shí)器OST作用或MCLR輸入為低電平,單片機(jī)將保持復(fù)位狀態(tài),復(fù)位時(shí)單片機(jī)處于以下?tīng)顟B(tài):
· 振蕩器啟動(dòng)或工作,包括電源上升啟動(dòng)或睡眠喚醒啟動(dòng)。
· I/O控制寄存器設(shè)定為全“1”,使所有I/O引腳(PA0-PA3、PB0-PB7、PC0-PC7)處于高阻狀態(tài)。
· 程序計(jì)數(shù)器PC設(shè)為全“1”,對(duì)于PIC16C54/55為1FFH,對(duì)于PIC16C56為3FFH,對(duì)于PIC16C57為7FFH。
· OPTION寄存器設(shè)為全“1”。
· 看門(mén)狗定時(shí)器WDT及其分頻器清“0”。
· 狀態(tài)寄存器f3的程序頁(yè)面選擇位最高位(位3)清“0”。
· 采用RC振蕩器時(shí),OSC2的CLKOUT信號(hào)保持為低電平。
[1]. 內(nèi)部上電復(fù)位電路
內(nèi)部上電復(fù)位電路是一個(gè)專(zhuān)門(mén)的電路,俗稱(chēng)POR(power on reset),PIC16C5X片內(nèi)有POR電路,大多數(shù)情況下上電提供片內(nèi)復(fù)位。一般不需要在MCLR端加上復(fù)位電路,只需將其接到VDD上即可。
上電復(fù)位電路是和振蕩器啟動(dòng)定時(shí)器電路相結(jié)合而工作的。上電復(fù)位電路由上電檢測(cè)電路、三輸入或門(mén)和復(fù)位鎖存器組成。振蕩啟動(dòng)定時(shí)器OST則是由片內(nèi)RC振蕩器、8位異步脈沖計(jì)時(shí)器、復(fù)位鎖存器和相應(yīng)的門(mén)電路組成。復(fù)位電路簡(jiǎn)圖參見(jiàn)圖1所示。
上電時(shí),上電檢測(cè)電路對(duì)電源電壓的上升過(guò)程進(jìn)行檢測(cè),當(dāng)電壓到達(dá)一定閾值時(shí)的時(shí)候,上電檢測(cè)電路輸出上電復(fù)位信號(hào)(POR),上電復(fù)位信號(hào)會(huì)對(duì)8位異步脈沖計(jì)數(shù)器清“0”,同時(shí)對(duì)復(fù)位鎖存器置“1”。復(fù)位鎖存器置“1”則從Q(非)輸出單片機(jī)的復(fù)位信號(hào),讓芯片處于RESET狀態(tài),8位異步脈沖計(jì)數(shù)器清 “0”,使OST也處于復(fù)位狀態(tài),從“0”開(kāi)始計(jì)數(shù),在MCLR端到達(dá)高電平并打開(kāi)片內(nèi)RC振蕩器和8位異步脈沖計(jì)數(shù)器之間的“與”門(mén)時(shí),RC振蕩信號(hào)通過(guò)“與”門(mén)到8位異步脈沖計(jì)數(shù)器,啟動(dòng)定時(shí)器計(jì)時(shí),計(jì)時(shí)18ms后就會(huì)產(chǎn)生超時(shí)信號(hào)去對(duì)復(fù)位鎖存器清“0”,復(fù)位鎖存器的Q(非)輸出“1”,從而完成復(fù)位操作。
保證上電復(fù)位正確的工作條件是:VDD的上升速率不低于0.05V/ms,且要從0V開(kāi)始上升。在低頻振蕩器要求長(zhǎng)于18ms時(shí)間來(lái)啟動(dòng)及穩(wěn)定,片內(nèi)上電復(fù)位電路不能滿(mǎn)足要求,此時(shí)使用外接RC電路以滿(mǎn)足較長(zhǎng)時(shí)間的上電過(guò)程。
[2]. 外部上電復(fù)位電路
對(duì)于從啟動(dòng)到穩(wěn)定的時(shí)間大于18ms的低頻振蕩器,單片機(jī)需要用外接的上電復(fù)位電路來(lái)延長(zhǎng)復(fù)位時(shí)間,以保證正確復(fù)位。一般外接的上電復(fù)位電路采用RC電路,其結(jié)構(gòu)如圖2所示。
當(dāng)VDD上電斜率太小或使用低頻振蕩時(shí)器時(shí),需要較長(zhǎng)的啟動(dòng)時(shí)間,需使用外部上電復(fù)位電路,圖2中的D是在VDD掉電是迅速地將C上的電能放掉。
要實(shí)現(xiàn)正確復(fù)位,要求VDD到達(dá)最高電平后開(kāi)始計(jì)算,MCLR到達(dá)高電平的時(shí)間加上啟動(dòng)定時(shí)器OST的計(jì)數(shù)滿(mǎn)18ms時(shí)間應(yīng)大于低頻振蕩器從啟動(dòng)到穩(wěn)定所需要的時(shí)間。由于OST的周期是18ms,它是固定不能改變的,因此在VDD到達(dá)高電平后,MCLR到達(dá)高電平的時(shí)間長(zhǎng)短會(huì)影響復(fù)位過(guò)程。利用外接RC電路就可延長(zhǎng)MCLR到達(dá)高電平的時(shí)間,從而保證復(fù)位過(guò)程的正確。圖2中,VDD達(dá)到高電平后通過(guò)R對(duì)C充電,在此期間,使MCLR有較長(zhǎng)低電平時(shí)間。
二極管D使電容在VDD掉電時(shí)快速放電,MCLR引線(xiàn)最大漏電流約為5uA,R取值應(yīng)小于40kΩ,使在其上的壓降小于0.2V。否則漏電流在R上的壓降會(huì)使MCLR上的高電平下降,在MCLR端串聯(lián)電阻是限流電阻,用于限制放電時(shí)從外部電容C流入到MCLR端的電流,以防止損壞單片機(jī)。R2一般取值在100Ω-1kΩ之間即可。