微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请问mega16掉电唤醒后程序重什么地方运行?

请问mega16掉电唤醒后程序重什么地方运行?

时间:10-02 整理:3721RD 点击:
#include <iom16v.h>
#include <macros.h>
uchar i;
void main()
{
DDRC=0XFF;//C口输出
PORTC=0X00;//点亮LED

DDRD&=0<<PD3;//外中断1口,PD3输入
PORTD|=1<<PD3;//有上拉电阻,
while(1)
{
   i++
   if(i==100) //延时后进入休眠模式
    {
     SEI();// 开全局中断
     GICR=0X80;//外部中断1使能
     MCUCR=(1<<SE)|(1<<SM1);//开启掉电模式1
     asm("sleep");//进入掉电模式
         
     PORTC=0XFF; //唤醒后熄LED
     while(1);//程序最后停在此处
   }
  }
}
程序能够进入掉电,但是按中断1唤醒后,又重头开始了(就象复位一样),程序的最后两行没有被执行?

复位电路没做好   熔丝位设置好了没有   //PWM输出程序 //在端口PD4,PD5(led5,led6)输出PWM脉冲,可用示波器测量,或者外加一LED灯,可以看到LED由于脉宽的变化引起的灯的亮度不同

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top