设晶振频率为12MHz,定时器/计数器0的主程序和中断程序如下:

//主程序
#include<reg51.h>
sbit P10=P1^0 ;
void main()
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
//中断服务程序
void time0(void) interrupt 1
{ P10=!P10;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
}
问:1)定时器/计数器0工作于什么方式?
2)相应的定时时间或计数值是多少?
3)为什么要在中断服务程序中重置定时器/计数器的初值?
4)该程序完成何种功能?

1)定时器/计数器0工作于什么方式?
答:工作于定时器工作方式1
2)相应的定时时间或计数值是多少?
答:定时时间是500us
3)为什么要在中断服务程序中重置定时器/计数器的初值?
答:因为方式1不能自动重装计数初值。
4)该程序完成何种功能?
答:P1.0输出周期为1ms的方波
温馨提示:答案为网友推荐,仅供参考
相似回答