• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16C5X單片機睡眠狀態的退出方法

    PIC16C5X單片機睡眠狀態的退出方法

    作者: 時間:2013-03-21 來源:網絡 收藏
    在有些應用場合下,CPU只需間斷性工作或對外部事件作出處理,平時處于待機狀態。有一種節能方式,睡眠(SLEEP)方式,在這種狀態中,振蕩驅動器停止工作, I/O口保持執行SLEEP指令前的狀態,從而大大降低系統功耗。由于無中斷功能,要退出睡眠方式,只有兩種方法:


      (1)“看門狗”(WDT)溢出。

      (2)在復位腳加低電平,而使芯片復位。
      
      本文采用第二種方法。在圖1給出的例子中,平時處于睡眠態,當任意一鍵按下時,將它從中喚醒,進行鍵盤處理。為便于說明,在本例中,SW1按下時,點亮,如下圖所示


    綠燈;當SW2按下時,紅燈亮。讀者可按實際需要編寫處理程序,參見圖2。

      在進入睡眠態前,將鍵掃描輸出線SCAN1和SCAN2置為低電平。這樣,當進入睡眠狀后,無鍵按下時,電容C充電充分,使PIC16C5X復位腳保持著高電平。一旦有鍵按下,C通過電阻R2或R3放電,使C上的電壓快速下降(大約1ms),從而將復位腳拉為低電平,迫使PIC16C5X退出睡眠態而進入復位。復位時,SCAN1和SCAN2自動從輸出態變為輸入態(高阻態),C的放電回路被阻斷,VCC經電阻R1需注意的是,RC 值要選擇恰當,使充放電周期小于

      PIC16C5X的復位時間(大約18ms)。更遠遠小于鍵按下的最小時間(大約50--100ms)。復位結束后,在程序中,每隔20ms將SCAN1和SCAN2置低電平一次以采樣鍵值。為避免電容放電時間過長,將拉低,再次造成復位,每次掃描即SCAN1或SCAN2 為低電平的時間大約為10us。當鍵處理程序完成后,程序對鍵盤循環掃描直至鍵釋放。然后將SCAN1和SCAN2輸出置成低電平,并重新進入。 R4-R8主要用于防止C放電而可能對芯片造成的傷害。工作時序見圖3所示。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 明水县| 宜宾县| 宜丰县| 孙吴县| 四川省| 安福县| 康马县| 鄢陵县| 兴安县| 金溪县| 南澳县| 瑞金市| 溆浦县| 南召县| 资溪县| 图们市| 瑞安市| 车险| 平度市| 大化| 仁寿县| 巴林左旗| 赤壁市| 怀安县| 永新县| 濮阳县| 汉阴县| 唐河县| 上饶市| 逊克县| 三明市| 宝清县| 多伦县| 潮州市| 融水| 汪清县| 泽普县| 沂南县| 澄城县| 炎陵县| 淅川县|