應廣微控制器休眠和按鍵喚醒

2021-10-04 11:38:30 字數 1978 閱讀 1350

對應電池供電的產品,在不使用的時候,微控制器和外設都應該進入休眠狀態,用於減少對電池電量消耗.在使用的時候又能夠通過按鍵,或是其他訊號喚醒系統,然後進入正常工作狀態.在電壓v3.3v的情況下,應廣微控制器的休眠電流幾乎在2ua以下,經常測到都是一點幾ua.非常不錯|那麼應廣微控制器的低功耗和按鍵喚醒是怎麼實現的呢?不多說上**.除了外部喚醒,還有一種機制是內部定時器定時喚醒,請聽下回分解!

#include    "extern.h"

#define     high    1

#define  low    0

#define disable 0

#define enable 1

#define empty 0

#define full 1

#define on 1

#define off 0

#define low_pow_timing_tmr  5000

/*燈*/

bit     led_r           :        pa.0;

/*按鍵*/

bit     key_pow           :        pa.3;

#define key_debounce_cnt  20

#define key_long_press_timer 1200

#define led_r_on   led_r=1

#define led_r_off  led_r=0

/*定時時間是否到了cinit*/

bit     flag_nms;

/*計數值cinit*/

byte    count;

/*定時器初始化cinit*/

word    t16counter;

eword uelowpowalttm;

byte uckeypowhigtcnt;

byte uckeypowlowcnt;

byte uckeypowst;

byte uckeypowbak;

word uskeypowloprecnt;

//word uskeypowloprecntset;

bit uckeypowprest;

void updateledst(void);

/***************************************/

void    time16_init(void)

}/*ilrc->ihrc ,

b7:5@001=ihrc/8,

b4@1=ihrc

b3@1=模式1

b2@ 1=ilrc啟動

b1@ 1=看門狗開啟

b0@ 0=pa5;

模式口1;開看門狗*/

clkmd=0b001_1_1110;

uelowpowalttm=low_pow_timing_tmr;

//$ padier 0b111_1_1001;}}

/*10ms任務函式*/

void updatekeytmr(void)

/*當前狀態為0*/

else

/*keypow高電平計數值*/

if(uckeypowhigtcnt)

}/*keypow低電平計數值*/

if(uckeypowlowcnt)

}/*狀態切換*/

void getkeyst(void)

}uckeypowhigtcnt=key_debounce_cnt;

uckeypowlowcnt=key_debounce_cnt;

uskeypowloprecnt=0;

uckeypowprest=0;

}void    fppa0 (void)

lowpow();

}/*取得按鍵狀態*/

getkeyst();}}

void    interrupt ( void )

else

popaf;

}

應廣微控制器adc 應廣微控制器adc和pwm例程

應廣微控制器otp單核系列主要有以下幾個系列,15x系列為純io,13x系列為帶12bit的adc,17x系列為帶8bit的adc,現在我用pms132b寫個adc pwm例程,方便大家快速上手.不多說,上 include extern.h adc word usadcsum word usadcs...

應廣微控制器adc 應廣微控制器選型表 2014

series 系列型號 fppa 核心數otp rom k word ram byte adc bit ch i olcd bit ch pwmint special functions package re.pms150 s08 sop8 2501c,12c509 pmc150 s08 sop8 ...

應廣微控制器應用之 呼吸燈

在很多的微控制器方案應用中,很多都會用到到指示燈,比如流水燈,rgb七彩燈,對了還有呼吸燈.現在用pms150c做個demo,稍作修改就可以用在pms152,pms132b燈應廣其他系列的微控制器中.不多說,上 一切盡在 中.include extern.h 定時時間是否到了cinit bit fl...