英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
一个关于12F629进行睡眠和唤醒的例子
[打印本页]
作者:
kingman
时间:
2009-4-18 18:05
标题:
一个关于12F629进行睡眠和唤醒的例子
醒方式为IO口跳变中断唤醒。 GIE=0; //关总中断,这样如果唤醒后会继续执行,不会跳入中断
/*SET IO CODE*/ //不用的IO做输出,减小SLEEP电流
?? =GPIO; //这一句的作用是读GPIO,如果不读一次可能导致自动唤醒
//可以把GPIO赋给任何过期的变量,只要读它就可以,因为读一次会使数据锁存,IO跳变中断是用读入的值和上一次锁存的值进行比较。
GPIE=1; //使能引脚电平变化中断
IOCB=0X??; //使能引脚电平变化中断
GPIF=0; //确保中断标志为0
SLEEP(); //睡眠..zz..zzz..zzzz
NOP();
NOP();
asm("GOTO 0000H"); //等效于复位,PC-->0X0000
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2