关于c51定时器的问题,while(1)的应用

2019-07-16 04:58发布

定时器0工作在2模式下,采用中断计时,计数满100,p0口0位改变电位。
示波器显示周期为51.2ms,为什么去掉while(1){ },周期变为512us,求解释。
还有就是定时器在工作的时候,能不能对TH0,TL0进行赋值。
#include<reg52.h>
sbit p00=P0^0;
static unsigned int i;
void main()
{
EA=1;
ET0=1;
TMOD=0x02;
TR0=1;
TH0=0;TL0=0;
while(1){ }
}
void T0_int () interrupt 1
{i++;
if(i>=100){i=0;p00=!p00;}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
SNXWW
1楼-- · 2019-07-16 08:20
 精彩回答 2  元偷偷看……
hgl21
2楼-- · 2019-07-16 12:29
正在学习
godiszc
3楼-- · 2019-07-16 16:35
支持下
oyl
4楼-- · 2019-07-16 22:24
可以赋值啊,也可以在中断里面赋值
相思和星辰
5楼-- · 2019-07-16 22:55
在void main()
{
   
}中可以对TH0   和TL0进行赋值,但在中断函数中可以不用赋值,因为方式2 可以自动重载
lstcspring
6楼-- · 2019-07-17 04:22
 精彩回答 2  元偷偷看……

一周热门 更多>