| Форум РадиоКот https://radiokot.ru/forum/ |
|
| ШИМ для avr https://radiokot.ru/forum/viewtopic.php?f=57&t=84863 |
Страница 1 из 1 |
| Автор: | ATH [ Сб фев 09, 2013 17:01:41 ] |
| Заголовок сообщения: | ШИМ для avr |
Доброго времени суток. Пробовал сделать плавную регуляцию частоты на МК mega8 таймером T1. Включил режим СТС, но почему-то меняется только длительность сигнала, частота не меняется. Читал Белова, он с помощью записи различных значений в регистр сравнения меняет частоту, также почитал тут http://www.atmega8.ru/wiki/view/doc.24.html там пишут что "Если CTC1=1, то таймер возвращается в состояние 0x0000 по импульсу, следующему после совпадения счётчика и регистра сравнения OCR1A"- следовательно чем меньше значение в OCR1A, тем больше частота, или я что то не так понимаю? #include <mega8.h #include <delay.h> char pwm=0; voi { PORTB=0x30; DDRB=0x2; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; TCCR1A=0x83; TCCR1B=0xC; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; TIMSK=0x00; while (1) { if(PINB.4==0) { while(PINB.4==0){delay_ms(10);} pwm=pwm+1; if(pwm>1000){pwm=1000;}; } if(PINB.5==0) { while(PINB.5==0){delay_ms(10);} pwm=pwm-1; if(pwm<2){pwm=1;}; } OCR1A=pwm; } } |
|
| Автор: | les1982 [ Ср мар 06, 2013 19:41:38 ] |
| Заголовок сообщения: | Re: ШИМ для avr |
Частота ШИМ Фиксированная Меняется только скважность |
|
| Автор: | Engineer_Keen [ Ср мар 06, 2013 20:31:38 ] |
| Заголовок сообщения: | Re: ШИМ для avr |
В CTC как раз частота меняется, но выбран ли этот режим не понятно, т.к. вместо имен битов тут "магические числа", а лезть в даташит за битами регистра влом... |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


