共2条
1/1 1 跳转至页

问
用Atmega8L(4MHz)编写pwm,
void pwm_on(void)
{
TCCR1B=0x00; //关闭PWM
TCCR1A=0xB0; //OC1A向上计数匹配清零,向下计数匹配置位;OC1B相反
TCCR1B=0x10; //PWM方式8
ICR1H=0x00; //设置TOP值(39)
ICR1L=0x27;
OCR1AH=0x00;
OCR1AL=0x0F; //占空比2/5
OCR1BH=0x00;
OCR1BL=0x17; //占空比2/5
TCCR1B|=0x04; //启动PWM256分频
}
由公式计算得频率:4M/256/2/39=200Hz,然实测频率为50Hz,为何? 答 1: 应该是没有设置熔丝位。使用了内部1M的RC振荡,所以正好除以4,等于50HZ。 答 2: D 使用的是外部晶振4MHz,没有设置熔丝位,请问具体该怎样设置? 答 3: 在AVRStudio里设置在AVRStudio里设置
TOOL--->STK500...--->STK500...
选择即可 答 4: 熔丝设置:不知你用什么方法写芯片。一般都用下载线吧,ponyprog界面。如下:
将CKSEL3..0全部清空,然后设置即可。 答 5: Thanks 用的是ISPro,设置熔丝后都搞定了,非常感谢!!!!
void pwm_on(void)
{
TCCR1B=0x00; //关闭PWM
TCCR1A=0xB0; //OC1A向上计数匹配清零,向下计数匹配置位;OC1B相反
TCCR1B=0x10; //PWM方式8
ICR1H=0x00; //设置TOP值(39)
ICR1L=0x27;
OCR1AH=0x00;
OCR1AL=0x0F; //占空比2/5
OCR1BH=0x00;
OCR1BL=0x17; //占空比2/5
TCCR1B|=0x04; //启动PWM256分频
}
由公式计算得频率:4M/256/2/39=200Hz,然实测频率为50Hz,为何? 答 1: 应该是没有设置熔丝位。使用了内部1M的RC振荡,所以正好除以4,等于50HZ。 答 2: D 使用的是外部晶振4MHz,没有设置熔丝位,请问具体该怎样设置? 答 3: 在AVRStudio里设置在AVRStudio里设置
TOOL--->STK500...--->STK500...
选择即可 答 4: 熔丝设置:不知你用什么方法写芯片。一般都用下载线吧,ponyprog界面。如下:
将CKSEL3..0全部清空,然后设置即可。 答 5: Thanks 用的是ISPro,设置熔丝后都搞定了,非常感谢!!!!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |