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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC16C5X單片機(jī)睡眠狀態(tài)的退出方法

          PIC16C5X單片機(jī)睡眠狀態(tài)的退出方法

          作者: 時(shí)間:2013-03-21 來(lái)源:網(wǎng)絡(luò) 收藏
          在有些應(yīng)用場(chǎng)合下,CPU只需間斷性工作或?qū)ν獠渴录鞒鎏幚?,平時(shí)處于待機(jī)狀態(tài)。有一種節(jié)能方式,睡眠(SLEEP)方式,在這種狀態(tài)中,振蕩驅(qū)動(dòng)器停止工作, I/O口保持執(zhí)行SLEEP指令前的狀態(tài),從而大大降低系統(tǒng)功耗。由于無(wú)中斷功能,要退出睡眠方式,只有兩種方法:


           ?。?)“看門(mén)狗”(WDT)溢出。

            (2)在復(fù)位腳加低電平,而使芯片復(fù)位。
            
            本文采用第二種方法。在圖1給出的例子中,平時(shí)處于睡眠態(tài),當(dāng)任意一鍵按下時(shí),將它從中喚醒,進(jìn)行鍵盤(pán)處理。為便于說(shuō)明,在本例中,SW1按下時(shí),點(diǎn)亮,如下圖所示


          綠燈;當(dāng)SW2按下時(shí),紅燈亮。讀者可按實(shí)際需要編寫(xiě)處理程序,參見(jiàn)圖2。

            在進(jìn)入睡眠態(tài)前,將鍵掃描輸出線SCAN1和SCAN2置為低電平。這樣,當(dāng)進(jìn)入睡眠狀后,無(wú)鍵按下時(shí),電容C充電充分,使PIC16C5X復(fù)位腳保持著高電平。一旦有鍵按下,C通過(guò)電阻R2或R3放電,使C上的電壓快速下降(大約1ms),從而將復(fù)位腳拉為低電平,迫使PIC16C5X退出睡眠態(tài)而進(jìn)入復(fù)位。復(fù)位時(shí),SCAN1和SCAN2自動(dòng)從輸出態(tài)變?yōu)檩斎霊B(tài)(高阻態(tài)),C的放電回路被阻斷,VCC經(jīng)電阻R1需注意的是,RC 值要選擇恰當(dāng),使充放電周期小于

            PIC16C5X的復(fù)位時(shí)間(大約18ms)。更遠(yuǎn)遠(yuǎn)小于鍵按下的最小時(shí)間(大約50--100ms)。復(fù)位結(jié)束后,在程序中,每隔20ms將SCAN1和SCAN2置低電平一次以采樣鍵值。為避免電容放電時(shí)間過(guò)長(zhǎng),將拉低,再次造成復(fù)位,每次掃描即SCAN1或SCAN2 為低電平的時(shí)間大約為10us。當(dāng)鍵處理程序完成后,程序?qū)︽I盤(pán)循環(huán)掃描直至鍵釋放。然后將SCAN1和SCAN2輸出置成低電平,并重新進(jìn)入。 R4-R8主要用于防止C放電而可能對(duì)芯片造成的傷害。工作時(shí)序見(jiàn)圖3所示。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();