马老师 avr 定时器T1输出PWM 频率怎么不对呀
对50Hz的交流量一个周期采集128个点,8兆的晶振,无预分频。应用相频修正PWM模式8 根据公式 代数应该是50*128=8000000/(2*1*TOP)TOP=625 ,用proteus仿真 一个周期只有16个PWM波。悲催呀,哪的错呀?希望老师帮忙分析一下,谢谢
void init_timer1(void)
{
TCCR1A=0xB0;//A通道比较输出模式 11 升序计数时比较匹配是置位OC1A,降序反之 【54】b通道 【10】wgm11 wgm10 A通道升序清零,B通道升序置位
TCCR1B=0x11;//【4】wgm13 wgm12时钟选择 无分频 【6】输入捕捉触发沿的选择 0下降沿 【7】输入捕捉噪声抑制
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x02; //TOP 625
ICR1L=0x71;
TIMSK=0x04;//t/c1溢出中断使能 【0】t/c0溢出中断使能
OCR1AH=0x02;
OCR1AL=0x71;
OCR1BH=0x02;
OCR1BL=0x71;
}
把图贴在这儿了 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5030113&bbs_page_no=1&bbs_id=1030 终于找到问题所在了,在proteus里的时钟虽然按的是8兆的,但还得设一下
页:
[1]