“不要提使用定时器实现PWM功能的方案,太耗资源而且不好用。”——你错了,如果不用定时器而用软件模拟,那才是真正的消耗资源。“最好能通过什么方式设置直接让两路PWM信号反相。”——STC系列中能产生PWM的单片机中有这个功能吗?我没看到过。倒是AVR单片机有这个功能,比如Atmega8单片机的定时器T1,配置成PWM方式后可以用OC1A和OC1B引脚输出两路PWM,而且任意的占空比可设置(只设置寄存器即可),并且能设置成两路信号反相,完全符合你的要求。