初学单片机,部分程序如下:
void timer0() interrupt 1
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
tt1++;
if(tt1==20)
{
LIGHT=~ LIGHT;
tt1=0;
}
}
void main()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
Measure(); //测量
Key(); //按键
ADout(); //模数转换输出
}
}
存在问题:
1.采用定时中断来控制灯的闪烁,程序实现功能应该是上电后,灯即以1s周期闪烁,但此程序烧写后,上电要延时一段时间才实现闪烁,请教高手,是什么原因?
2.另外,请教,若要实现多个任务独立运行,互不影响,且要保证循环扫描,即都要在while循环中, 程序如何实现,采用定时中断可以解决吗?如何解决?
其中存在子函数中有延时函数,因此顺序执行收到较大影响,初学,还请各位大侠不吝赐教!
此帖出自
小平头技术问答
一周热门 更多>