写了个很简单的快速PWM程序,产生频率为1Hz的PWM,晶振16M,256分频,不过软件调试时发现OCR1A和OCR1B里面值都不是程序设定的值(只有低字节的能写入,高字节都写不进去),不知道问题在哪里,程序如下:
#include<avr/io.h>
int main(void)
{
DDRD|=(1<<5)|(1<<4);
TCCR1A|=(0<<COM1A1)|(1<<COM1A0)|(1<<COM1B1)|(1<<COM1B0)|(1<<WGM11)|(1<<WGM10);
TCCR1B|=(1<<WGM13)|(1<<WGM12)|(1<<CS12);
OCR1A=62499;
OCR1B=12500;
} |