英锐恩单片机论坛,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