其实这个你一加分析自己就得到答案了,单片机的休眠,不管是掉电还是空闲,其CPU的时钟都是被关闭的了.
而要进入中断,是CPU的行为,只有CPU醒了才能进入中断,然后执行中断服务程序.
如果你怕是干扰误惊醒单片机,那就在外中断的引脚上加个电容就行了.
问题1,EXTI0~EXTI15每个对应于一组(PA,PB,PC,PD..)1,在用外部中断的时候如用EXTI4(外部中断4)需要配置PA4还是PB4...这几组io口的第四个管脚作为输入,只能选择一个。 问题2,void EXTI_Configuration(void) 中断初始化函数 EXTI_InitTypeD...
你是不是想问51单片机休眠及唤醒程序是什么?是通过单片机掉电和触发中断方式唤醒的程序。根据51单片机说明书介绍,当单片机进入掉电模式时,外部晶振停振、CPU、定时器、串行口全部停止工作,只有外部中断继续工作,称为休眠程序。执行掉电模式后一条指令再执行中断程序称为唤醒模式。
51单片机是对兼容英特尔8051指令系统的单片机的统称。
单片机进入空闲模式的方法:PCON |= (1<<0)
单片机进入掉电模式的方法:
PCON |= (1<<1)
单片机允许外部中断0的程序:
EX0 = 1
IT0 = 1//----IT0 = 0也可以,前者是下降沿触发,后者是低电平触发,随便你.
EA = 1
如果你允许了外部断0中断,那么,即使单片机进入空闲模式,一旺有中断,单片机就可以被唤醒继续执行.
如果你的单片机进入了掉电模式,则单片机不会响应外部中断的,或者说单片机就等于是彻底关机了.
,所以,即使你有外部中断,单片机也醒不了.
因为空闲模式,其实是让单片机的CPU睡着了,而掉电模式,则是让整个单片机睡觉,而外部中断属于单片机的一部分,因此,掉电模式使得整个单片机睡着了,那么外部中断0自然也睡着了,既然睡着了,就不会响应中断.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)