我现在要做一个类似于用PWM控制8路LED渐亮或者渐暗的程序(实际应用中并不是LED),8路输出对应有8路输入,类似于开关,使用ATMEGA16单片机,现在只有一组定时/计数器T2可用。要求每动作一个开关后,其对应的输出I/O引脚会输出一组占空比逐渐下降的方波,频率为1KHz,持续时间为500ms。 刚开始做的时候还觉得挺容易实现的,但现在犯难了,我使用了T/C2的PWM功能,当其中一组正在输出过程中时,另外一组输入又动作,这样如果同用一个定时器就会影响输出总时间(500ms);加多个计数值,分别赋给OCR2,则必然只会有一组输出;按普通的定时方式,使用8个计数值,因为要改变占空比,则定时时间小到了几个微秒,这样单片机没法做其他事了,哎! 实恨自已功力太浅,望各位赐教! |