<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          PIC16C5X的低功耗模式

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          電源下降保護電路

          在實際應(yīng)用中,有時需要考慮電源電壓VDD的下降情況。電源下降保護電路如圖1所示。在這個電路中,當VDD≤VD+0.7V時,則會產(chǎn)生復(fù)位,原理為穩(wěn)壓管的穩(wěn)壓值VD和晶體管Q1的e、b正向壓降之和大于VDD,穩(wěn)壓管Vz截止,晶體管Q1截止,MCLR端為低電平,單片機處于復(fù)位狀態(tài)。
          圖2是另一種保護電路,電路中用電阻代替了穩(wěn)壓管,價格較低,但效果較差,當VDD≤(R1+R2)×0.7/R1時,晶體管截止,MCLR為低電平,單片機復(fù)位。

          [2].省電SLEEP

          執(zhí)行SLEEP指令,進入省電模式,此時WDT被清“0”,然后重新開始計數(shù),f3寄存器“PD”位被清“0”,“TO”位被置“1”,振蕩驅(qū)動器停止工作,所有I/O保持原來狀態(tài),這種工作模式功耗最低。

          為使單片機功耗最小,進入SLEEP前,應(yīng)使所有I/O口處于低電平或高電平狀態(tài),處于高阻狀態(tài)的I/O腳應(yīng)由外部設(shè)置成高或低電平(加上拉或下拉),以避免浮空輸入所產(chǎn)生的開關(guān)電流。RTCC的輸入端同樣應(yīng)處于VDD或VSS,MCLR引腳需處于高電平,以使電流最小,功耗最低。

          從SLEEP模式喚醒的過程如下:單片機可被WDT溢出或MCLR引腳上加一個低電平脈沖喚醒,在兩種喚醒方式中,普通程序恢復(fù)執(zhí)行前,單片機停留在RESET狀態(tài),持續(xù)一個振蕩啟動定時(OST)周期。標志寄存器STATUS的“PD”位,在上電時置“1”,會被“SLEEP”指令清“0”,此特征可用于檢測單片機是上電復(fù)位還是從省電方式喚醒復(fù)位。標志寄存器的TO位,可用于判斷喚醒是由外部MCLR信號還是WDT溢出引起的。

          注意的是在使用外接RC的上電復(fù)位電路時,不推薦用WDT喚醒省電模式,因為WDT溢出時產(chǎn)生RESET通常不會使外電容放電,且單片機只會由復(fù)位定時器的周期進行復(fù)位。

          [3].配置位EPROM

          配置位EPROM(configuration EPROM)有4個EPROM熔絲決定,這些位有別于程序存儲器的EPROM普通位。

          兩個熔絲用于選擇振蕩器類型,另兩個一個是WDT允許位,一個程序保密位。

          · 用戶識別碼(Customer ID Code)

          PIC16C5X系列有16個特別的EPROM位,它們不是程序存儲器單元,這些位用于存儲用戶識別碼、校驗碼或其它信息數(shù)據(jù),這些單元不能在普通程序中訪問。

          · 代碼保護

          當選擇將芯片的程序保密位熔絲燒斷(寫入0)后,程序存儲區(qū)ROM中的程序代碼(12位寬)的高8位將被保護。此時讀出的數(shù)據(jù)將是“00000000XXXX”形式,高8位全部被“0”取代,無法再解釋這些代碼的含義,也即不能進行代碼復(fù)制,但單片機的功能并不受影響,代碼程序仍然可正確執(zhí)行。從而保護自己的著作權(quán)。

          當程序被保護時,從040H開始及以上存儲單元的內(nèi)容將受保護而不能編程,程序存儲器地址000H—03FH的電源、用戶ID碼單元和配置位熔絲仍可編程。



          關(guān)鍵詞: PIC16C5X低功耗模

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();