部分AVR单片机包含四个定时器,应该可以输出4路pwm。
如果要做7路,只有通过软件方式实现,频率较低的话,实现应该较容易。
采用一个定时器作为系统时钟,软件循环读取定时器计数结果,并进行比较,比较匹配,改变IO输出状态,就可以实现你的PWM。只要IO数量允许,这种方式可以实现任意个pwm输出。
其缺点是当频率较高时,输出pwm的脉冲宽度精度较低。如果采用汇编语言,精确数出指令运行时间并对输出脉冲宽度进行校正补偿,可以提高精度。
我博客上有输出32路固定PWM的例子,欢迎参考。
现在准备编16路PWM,用4*4矩阵键盘来调节,用数码管显示。只是最近太忙,一直还在酝酿中。
你要用电位器调节那就要用AD了,只是用AD是用模拟方式,不如用键盘的数字方式
就用电位器就可以 给个反的型号!
一个定时器可以输出两路频率一样,占空比不一样的PWM信号