关于51单片机定时器的问题?
发布网友
发布时间:2023-11-30 15:15
我来回答
共2个回答
热心网友
时间:2023-12-26 14:54
你确定这句话没有错误吗?if(scale==10)scale=10;应该是if(scale==10)scale=0;
热心网友
时间:2023-12-26 14:55
不是这么理解的。
相当于主函数main中执行while{延时2000后,占空比scale+1(到10不再+)}的同时,
一个定时器中断一直运行,这个定时器是自动重载8位定时器,估计每几-几十us进入一次中断,根据主程序中的占空比输出信号到P2口。当tt达到/scale时,设置为高,到10时恢复为0,注意中断退出时P2会一直保持中断中IO的状态,重新循环开始信号的输出。