PIC16C5X的低功耗模式
在實(shí)際應用中,有時(shí)需要考慮電源電壓VDD的下降情況。電源下降保護電路如圖1所示。在這個(gè)電路中,當VDD≤VD+0.7V時(shí),則會(huì )產(chǎn)生復位,原理為穩壓管的穩壓值VD和晶體管Q1的e、b正向壓降之和大于VDD,穩壓管Vz截止,晶體管Q1截止,MCLR端為低電平,單片機處于復位狀態(tài)。
![]() |
圖2是另一種保護電路,電路中用電阻代替了穩壓管,價(jià)格較低,但效果較差,當VDD≤(R1+R2)×0.7/R1時(shí),晶體管截止,MCLR為低電平,單片機復位。 [2].省電SLEEP 執行SLEEP指令,進(jìn)入省電模式,此時(shí)WDT被清“0”,然后重新開(kāi)始計數,f3寄存器“PD”位被清“0”,“TO”位被置“1”,振蕩驅動(dòng)器停止工作,所有I/O保持原來(lái)狀態(tài),這種工作模式功耗最低。 為使單片機功耗最小,進(jìn)入SLEEP前,應使所有I/O口處于低電平或高電平狀態(tài),處于高阻狀態(tài)的I/O腳應由外部設置成高或低電平(加上拉或下拉),以避免浮空輸入所產(chǎn)生的開(kāi)關(guān)電流。RTCC的輸入端同樣應處于VDD或VSS,MCLR引腳需處于高電平,以使電流最小,功耗最低。 從SLEEP模式喚醒的過(guò)程如下:?jiǎn)纹瑱C可被WDT溢出或MCLR引腳上加一個(gè)低電平脈沖喚醒,在兩種喚醒方式中,普通程序恢復執行前,單片機停留在RESET狀態(tài),持續一個(gè)振蕩啟動(dòng)定時(shí)(OST)周期。標志寄存器STATUS的“PD”位,在上電時(shí)置“1”,會(huì )被“SLEEP”指令清“0”,此特征可用于檢測單片機是上電復位還是從省電方式喚醒復位。標志寄存器的TO位,可用于判斷喚醒是由外部MCLR信號還是WDT溢出引起的。 注意的是在使用外接RC的上電復位電路時(shí),不推薦用WDT喚醒省電模式,因為WDT溢出時(shí)產(chǎn)生RESET通常不會(huì )使外電容放電,且單片機只會(huì )由復位定時(shí)器的周期進(jìn)行復位。 [3].配置位EPROM 配置位EPROM(configuration EPROM)有4個(gè)EPROM熔絲決定,這些位有別于程序存儲器的EPROM普通位。 兩個(gè)熔絲用于選擇振蕩器類(lèi)型,另兩個(gè)一個(gè)是WDT允許位,一個(gè)程序保密位。 · 用戶(hù)識別碼(Customer ID Code) PIC16C5X系列有16個(gè)特別的EPROM位,它們不是程序存儲器單元,這些位用于存儲用戶(hù)識別碼、校驗碼或其它信息數據,這些單元不能在普通程序中訪(fǎng)問(wèn)。 · 代碼保護 當選擇將芯片的程序保密位熔絲燒斷(寫(xiě)入0)后,程序存儲區ROM中的程序代碼(12位寬)的高8位將被保護。此時(shí)讀出的數據將是“00000000XXXX”形式,高8位全部被“0”取代,無(wú)法再解釋這些代碼的含義,也即不能進(jìn)行代碼復制,但單片機的功能并不受影響,代碼程序仍然可正確執行。從而保護自己的著(zhù)作權。 當程序被保護時(shí),從040H開(kāi)始及以上存儲單元的內容將受保護而不能編程,程序存儲器地址000H—03FH的電源、用戶(hù)ID碼單元和配置位熔絲仍可編程。 |
評論