利用C8051F310內置比較器0實(shí)現掉電模式
在測量、控制等領(lǐng)域,常要求單片機內部RAM中的數據在電源掉電時(shí)不丟失,重新加電時(shí),RAM中的數據能夠保存完好,且系統在電源恢復后,能夠繼續執行程序。利用C8051F310單片機內置比較器0對電源電壓進(jìn)行實(shí)時(shí)檢測,主電源掉電時(shí),執行比較器0中斷服務(wù)程序,保存特殊功能寄存器內容,并置單片機于掉電模式以降低功耗,由備用電池對單片機供電,保持RAM中的數據不丟失。
本文引用地址:http://dyxdggzs.com/article/173126.htm基于C8051F310單片機的以下幾點(diǎn),提出了本文題目要討論的內容,并且已通過(guò)實(shí)驗測試。
?、?C8051F310單片機進(jìn)入掉電模式,CPU停止運行,所有的中斷和定時(shí)器(時(shí)鐘丟失檢測器除外)都處于非活動(dòng)狀態(tài),內部振蕩器被停止(模擬外設保持在所選擇的狀態(tài),外部振蕩器不受影響)。供電電壓大于1.5 V即可保持RAM中的數據不變,且功率消耗極低,電流小于0.1 μA。
?、?C8051F31x器件內部有2個(gè)電壓比較器,在比較器輸出的上升沿和下將沿都可以產(chǎn)生中斷。比較器的響應時(shí)間是可編程的,比較器的正向和負向回差電壓也是可配置的。
?、?比較器的輸出可以是與系統時(shí)鐘同步的或者是不同步的。即使在系統時(shí)鐘停止時(shí),比較器異步輸出CP0A信號仍然可用,這就允許比較器在器件處于停機方式時(shí)工作并產(chǎn)生輸出。當被禁止時(shí),比較器的電源電流降到小于 100 nA。
?、?C8051F310運行后,在復位期間內部數據存儲器的內容不發(fā)生改變,復位前存儲的數據保持不變。堆棧中的數據不發(fā)生變化。
圖1 單片機電源與電壓檢測原理
在C8051F310系統設計中,使用電池作為備用電源(電池電壓大于C8051F310的RAM數據保持電壓即可, 1.5 V),單片機電源與電壓檢測原理如圖1所示。主電源正常時(shí),調整電位器,使CP0+端電壓略大于CP0-端電壓。電壓檢測部分有兩個(gè)功能:一是為單片機內置比較器提供模擬輸入信號;二是運算放大器輸出驅動(dòng)LED燈,指示主電源正常。也可通過(guò)交叉開(kāi)關(guān)將CP0A連到端口引腳,替代圖1中的功率放大器驅動(dòng)電源指示燈。前提條件是進(jìn)入掉電模式前不禁止比較器且電池電壓大于單片機最低工作電壓,這會(huì )增加掉電期間電池功耗。
主電源VCC正常時(shí),主電源電壓高于電池電壓,系統由主電源供電。 主電源發(fā)生意外使電壓下降或者丟失時(shí),比較器0對單片機發(fā)出斷電中斷請求,單片機響應中斷,利用主電源上濾波電容上的剩余儲電,以最短的時(shí)間進(jìn)入并執行中斷服務(wù)子程序。在中斷服務(wù)子程序中,將一些必須保護的特殊功能寄存器中的內容保存到RAM(可利用堆棧區),關(guān)閉比較器、模數轉換等模擬外設,降低功耗,最后建立掉電保護標記并使單片機進(jìn)入停機工作狀態(tài)。主電源恢復后,單片機執行上電復位,從掉電時(shí)斷點(diǎn)處繼續執行程序。
評論