首先:楼主的思路有问题,既然是控制LED,那就只要在0-5秒内均匀地从100%降到0就行了.不必管它每次降多少.<br />所以:120HZ * 5 S = 600次 ,每次降1/ 600就行了.<br /> 定时器每1/(120*600)秒=13.88uS中断一次并计数,并从0计数.<br /> 计数到600,重新开始输出脉宽(IO高),计数到脉宽比较值,结束输出脉冲(IO低),比较值每脉宽输出一次减一.<br />注意点:单片机机器周期越小越小,如STC的单CLK的片子,或PHILIPS的900 ,<br /> 430的等等.晶振频率在允许情况下越高越好.<br /> 另外,定时器中断定在最高优先级.其它中断定在次优先级.<br />本人曾经做过七彩背光.呵呵 用430做的 PWM控制效果很不错.<br />
|