- EX8AVR ATmega8A 16位定时器TC1 fast p
- EX10AVR ATmega8A 16位定时器TC1 fast
- EX9AVR ATmega8A 16位定时器TC1 fast p
- EX11AVR ATmega8A 16位定时器TC1 pwm p
- EX13AVR ATmega8A TC2 fast PWM mo
- EX6AVR ATmega8A 16位定时器TC1CTC-模式4
- EX7AVR ATmega8A 16位定时器TC1CTC-模式1
- BEC剑桥英语高级真题4 Test 2-Part 4-Cust
- The fast and the furious 7 FOR P
- Learn To Be Grateful To Parents
//EX8AVR ATmega8A 16位定时器TC1 fast pwm modle-模式5//author:QI小米粥//data:2018.3.16#include#includevoid init(void)
{
DDRB |=0X06;//oca,ocb设置位输出
PORTB &=~0X06;//初始是低电平
TCCR1A |=0XA0;//匹配的时候置位,也就是 non-inverting mode
TCCR1A &=~0X50;
/*
TCCR1A |=BIT(0);//选择工作模式5//top值固定为0XFF
TCCR1A &=~BIT(1);
TCCR1B |=BIT(3);
TCCR1B &=~BIT(4);
*/
/*
TCCR1A |=BIT(1);//选择工作模式6//top值固定为0X1FF
TCCR1A &=~BIT(0);
TCCR1B |=BIT(3);
TCCR1B &=~BIT(4);
*/
TCCR1A |=BIT(0);//选择工作模式7//top值固定为0X3FF
TCCR1A |=BIT(1);
TCCR1B |=BIT(3);
TCCR1B &=~BIT(4);
TCCR1B &=~BIT(2);//tc1频率8M/64=128KHz
TCCR1B |=0x03;
OCR1A=0X0055;
OCR1B=0X00AA;
//TCNT1=0X0000;//在这个模式下是自动循环的不需要对计数器进行写操作,因此不要写否则会出错。
SREG |=BIT(7);//全局中断打开
TIMSK |=BIT(4);//0ca中断打开
TIMSK |=BIT(3);//OCB中断打开
TIMSK |=BIT(2);//溢出中断打开
}
#pragma interrupt_handler oca:7
void oca(void)
{
}
void main(void)
{
init();
}






网友评论