完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 相关寄存器:TCCR0:位3和位6用来设置模式。普通模式相位修正PWM,CTC,快速PWM模式。配置成CTC模式。位4和位5用来设置OC0脚(PB3)输出电平的模式。 tiMSK:中断屏蔽寄存器。0位定时器0溢出中断使能位。1定时器输出比较中断。 OCR0:输出比较寄存器,当设置为非普通模式后,此寄存器就会始终与TCNT0(定时器计数器)相互比较。 说明:CTC模式,可以设置输出一个1/2占空比的波形。可通过示波器观察OC0引脚输出电平情况。 #includetypedef unsigned int uint; void CTC_Init(void) { TCCR0|=(1<<3); TCCR0&=~(1<<6);//3,6位01设置为CTC模式非PWM模式 TCCR0|=(1<<4); TCCR0&=~(1<<5);//4,5位设置当TCNT0与OCR0相等时,OC0脚输出取反 TCCR0|=(1<<2); TCCR0&=~(1<<1); TCCR0&=~(1<<0);//0,1,2设置定时器的分频 TCNT0=0x00; OCR0=0xfc;//设置输出比较寄存器的值 TIMSK|=(1<<1);//使能输出比较匹配中断 SREG|=(1<<7);//设置全局中断 DDRB=0xff; PORTB=0xff;//OC0脚对应PB口的PB3脚,设置B口为输出方向 } void main(void) { CTC_Init();//定时器初始化 while(1); } #pragma interrupt_handler CTC_isr:20 //比较匹配中断不做任何操作 void CTC_isr(void) { ; } |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5125 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7769 浏览 0 评论
3027 浏览 2 评论
3103 浏览 1 评论
10055 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 11:34 , Processed in 0.513278 second(s), Total 64, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号