标题:
关于单片机中断问题,为什么灯不闪烁
[打印本页]
作者:
坐在分头调戏鬼
时间:
2019-1-23 10:41
标题:
关于单片机中断问题,为什么灯不闪烁
为什么灯不闪烁
程序:#include<reg52.h>
#define uchar unsigned char
uchar num;
sbit led2=P1^1;
void main()
{
TMOD=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
led2=0;
}
}
void exter0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20)
{
num=0;
led2=~led2;
}
}
作者:
绊脚石13
时间:
2019-1-23 11:19
TMOD=1; 这句代码对了吗?
作者:
xuyaqi
时间:
2019-1-23 11:32
while(1)里的led2=0; 不能要,要屏蔽掉。
作者:
lakeleeson
时间:
2019-1-23 11:46
while(1)里面led2=0; 会一直执行下去。所以,去掉led2=0;或直接 while(1);或者在while(1);前面就设置led2=0;
作者:
坐在分头调戏鬼
时间:
2019-1-23 20:15
中断是否可以打断循环啊
作者:
坐在分头调戏鬼
时间:
2019-1-24 15:07
绊脚石13 发表于 2019-1-23 11:19
TMOD=1; 这句代码对了吗?
对的 和0x01是一个含义
作者:
凌特逸轩
时间:
2019-1-24 16:28
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;//50ms
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
led2=0;
while(1);
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20)
{
num=0;
led2=~led2;
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1