完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
相关寄存器: TCCR0:定时器0控制寄存器通过第3,6位可设置为相位修正PWM模式。 tiMSK:中断控制寄存器 OCR0:比较寄存器 TCNT0:计数器 相位修正模式:当计数器的值增加与OCR0相匹配的时候(可设置匹配中断),此时OC0脚电平改变。 当计数器计数到最大值的时候(可设置溢出中断),然后计数器的值又开始从最大值开始减小,当计数器的值与OCR0匹配的时候。OC0脚电平再次改变,这样就可以调节占空比,得到不同的波形。
#include #include typedef unsigned int uint; typedef unsigned char uchar; void timer0_init(void) { TCCR0&=~(1<<3); TCCR0|=(1<<6);//设置相位修正PWM模式 TCCR0|=(1<<5); TCCR0&=~(1<<4);//设置OC0脚的输出方式 TCCR0|=(1<<2); TCCR0&=~(1<<1); TCCR0&=~(1<<0);//设置预分频 OCR0=0x10;//设置比较值(占空比) TCNT0=0x00;//计数器初值 DDRB=0xff;//设置OC0为输出 PORTB=0xff;//初始化为输出高 TIMSK|=(1<<1);//使能中断 SREG|=BIT(7);//使能全局中断 } void main(void) { timer0_init(); while(1); } #pragma interrupt_handler timer0_isr:20 void timer0_isr(void) { ; }
|
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5011 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7667 浏览 0 评论
2949 浏览 2 评论
3043 浏览 1 评论
9932 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-31 00:17 , Processed in 0.633636 second(s), Total 69, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191