|
本帖最后由 正是河豚 于 2019-8-3 09:23 编辑
1、STC15W4K32S4系列MCU进入掉电模式后,外部中断可以唤醒,下面介绍外部中断0如何唤醒掉电模式下的单片机的程序设计。
2、该实验以艾克姆科技进取者STC15开发板为载体,实验连接图如下。
3、外部中断0的程序设计部分代码如下。
- /***********************************************************
- 功能描述:外部中断0初始化
- 入口参数:无
- 返回值:无
- ************************************************************/
- void INT0_Init(void)
- {
- IE0 = 0; //将INT0中断请求标志位清"0"
- EX0 = 1; //使能INT0中断允许位
- IT0 = 1; //选择INT0为下降沿触发方式
- }
- /***********************************************************
- 功能描述:外部中断服务程序
- 入口参数:无
- 返回值:无
- ************************************************************/
- void INT0_Isr (void) interrupt INT0_VECTOR
- {
- ; //无任务
- }
注:外部中断0的中断服务函数里面没有实际执行的代码,只是借助触发外部中断0的事件来唤醒单片机。
4、main文件程序设计部分代码如下。
- #define TRUE 1
-
- /************* 本地变量声明 **************/
- uint16 msecond; //1000ms计数
- uint8 SleepDelay; //睡眠延时用时间变量
- /***************************************************************************
- * 描 述 : 主函数
- * 入 参 : 无
- * 返回值 : 无
- **************************************************************************/
- int main()
- {
- /////////////////////////////////////////////////
- //注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为
- // 高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用
- //相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
- // P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
- /////////////////////////////////////////////////
- P0M1 &= 0x3F; P0M0 &= 0x3F; //设置P0.6、P0.7为准双向口
-
- SleepDelay = 0; //初始清零
- EA = 1; //允许总中断
-
- while(1)
- {
- delay_ms(1); //延时1ms
- if(++msecond >= 1000) //约1秒到
- {
- msecond = 0; //清1000ms计数
- led_on(LED_2); //点亮红色指示灯DS2
- led_off(LED_1); //熄灭蓝色指示灯DS1
-
- if(++SleepDelay >= 5) //约5秒到
- {
- SleepDelay = 0; //清零延时用时间变量
- if(TRUE)
- {
- SleepDelay = 0; //清零延时用时间变量
- led_on(LED_1); //点亮蓝色指示灯DS1
- led_off(LED_2); //熄灭红色指示灯DS2
- INT0_Init(); //外部中断0初始化
- PCON |= 0x02; //单片机进入掉电模式
- _nop_();
- _nop_();
- _nop_();
- }
- }
- }
- }
- }
5、下载程序后的实验现象是:
1)下载程序后,红灯亮蓝灯灭,约5s后红灯灭蓝灯亮,单片机进入掉电模式。
2)按下触摸按键在P32上产生上升沿,单片机依然处于掉电模式,红灯灭蓝灯亮。
3)触摸按键由按下到松开,在P32上产生下降沿,唤醒单片机,程序从设置单片机进入掉电模式的下一条语句开始执行,进主循环,红灯亮蓝灯灭,约5s后红灯灭蓝灯亮,单片机再次进入掉电模式。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|