51单片机,想输出25KHZ ,PWM波,定时器用哪个,初值怎么算?

晶振是11059200
频率=1/周期
25KHZ=1/T
T=0.00004
定时器初值0.00004秒对不对啊??
初值是FFDB,对不对啊??

产生25K,周期是40us,可以用定时器0和1,晶振最好用12M,11.0592的话有误差。
如果是12M的话,初始化如下:
TMOD=0x02;
TH1=256-20; 11.0592为256-18
TL1=256-20;
TR0=1;
ET0=1;
EA=1;
这样中断服务程序里面只对IO口取反就可以了。追问

40us,那不应该是256-40吗?为什么是256-20?

追答

你是产生周期为40us的波形,两次中断才能形成一个完成的周期。所以是20

温馨提示:答案为网友推荐,仅供参考