51单片机C语言问题
我写了一下代码,单片机不能进入睡眠模式,外部中断也没有起作用,请大家帮忙看看程序哪里错了!#include<reg51.h>#include<intrins.h>sbit...
我写了一下代码,单片机不能进入睡眠模式,外部中断也没有起作用,请大家帮忙看看程序哪里错了!
#include<reg51.h>
#include<intrins.h>
sbit led=P1^0;
unsigned int num;
void int0() interrupt 0
{
PCON=0X00;
num=0;
}
void timer() interrupt 1
{
TH0=0X3C;
TL0=0XB0;
num++;
if(num%20==0)
{
led=~led;
}
}
void main()
{
num=0;
TMOD=0X01;
TH0=0X3C;
TL0=0XB0;
IT0=1;
ET0=1;
EX0=1;
EA=1;
TR0=1;
while(1)
{
if(num==100)
{
num=0;
PCON=0X01;
}
}
} 展开
#include<reg51.h>
#include<intrins.h>
sbit led=P1^0;
unsigned int num;
void int0() interrupt 0
{
PCON=0X00;
num=0;
}
void timer() interrupt 1
{
TH0=0X3C;
TL0=0XB0;
num++;
if(num%20==0)
{
led=~led;
}
}
void main()
{
num=0;
TMOD=0X01;
TH0=0X3C;
TL0=0XB0;
IT0=1;
ET0=1;
EX0=1;
EA=1;
TR0=1;
while(1)
{
if(num==100)
{
num=0;
PCON=0X01;
}
}
} 展开
3个回答
展开全部
PCON=0X01; // STC系列单片机为 空闲模式 这时 定时器 还会工作
PCON=0X02; // STC系列单片机为 睡眠模式 这时 定时器 不会工作
PCON=0X02; // STC系列单片机为 睡眠模式 这时 定时器 不会工作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定时中断会唤醒 休眠模式。
可以把定时器中断时间加长...
可以把定时器中断时间加长...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询