roboforum.ru

Технический форум по робототехнике.

Работа таймера T0/T2 в Мега 128

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Работа таймера T0/T2 в Мега 128

Сообщение wingnut » 20 фев 2006, 00:31

Всем привет .
Оговорюсь сразу , микроконтроллеры только начал изучать, поэтому за глупые вопросы сильно не бейте  .

Хочу с помощью таймера т2   мк-ра мега128   сгенерировать ШИМ сигнал (в режиме PWM Phase correct ). В CodeVision сгенерировал след-щий код :
Код: Выделить всёРазвернуть
#include <mega128.h>

void main(void)
{  
PORTB=0x00;
DDRB=0x80;

//TIMER2 initialize - prescale:8
// WGM: PWM Phase correct
// desired value: 1KHz
// actual value:  0,980KHz (2,0%)

TCCR2 = 0x00; //stop
TCNT2 = 0x00; //setup
OCR2  = 0xFF;
TCCR2 = 0x62; //start*/

while (1);
   
}

Собственно вопрос : почему на выходе PB7(OC2) ничего не наблюдается?
wingnut
 
Сообщения: 4
Зарегистрирован: 11 фев 2006, 04:43

Сообщение avr123.nm.ru » 20 фев 2006, 11:50

как обычно  - смотри ДШ.

если в симуляторе VMLAB работает а в МК нет - то возможно не правильно установлен фьюз совместимости с mega103
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение wingnut » 21 фев 2006, 04:24

Смысл в том , что  в VMLab тоже ничего невижу .  :(  

Просто я не пойму что делаю неправильно, вроде все настроил как сказано в ДШ.

1)Выставляю 7 разряд порта B на выход.(OC2)
2)Обнулил регистр  настрой таймера (TCCR2)
3)Обнулил счетчик   таймера (TCNT2)
4)Установил верхнюю границу счета  в ff (OCR2)
5)Записал в регистр настройки таймера 0x62
   (01100010)
 режим не инв-ный  ШИМ с точной фазой, коэф деления 8

Как я понял, после этих действий счетчик начинает считать,
при совпадении  счетчика и содержимого регистра OCR2  изменяется состояние вывода OC2 .
wingnut
 
Сообщения: 4
Зарегистрирован: 11 фев 2006, 04:43

Сообщение wolf » 21 фев 2006, 10:47

wingnut писал(а): 1)Выставляю 7 разряд порта B на выход.(OC2)
2)Обнулил регистр  настрой таймера (TCCR2)
3)Обнулил счетчик   таймера (TCNT2)
4)Установил верхнюю границу счета  в ff (OCR2)
5)Записал в регистр настройки таймера 0x62
   (01100010)
 режим не инв-ный  ШИМ с точной фазой, коэф деления 8

Как я понял, после этих действий счетчик начинает считать,
при совпадении  счетчика и содержимого регистра OCR2  изменяется состояние вывода OC2 .


В целом правильно; а что идёт не так, как ожидалось?
wolf
 
Сообщения: 63
Зарегистрирован: 23 июл 2005, 00:39
Откуда: Казань

Сообщение avr123.nm.ru » 21 фев 2006, 12:13

wingnut писал(а):Смысл в том , что  в VMLab тоже ничего невижу .  :(  

Просто я не пойму что делаю неправильно, вроде все настроил как сказано в ДШ.



Ну наверно у вас что-то с ПК или монитором ... не иначе.

ведь ЧТО-ТО должно быть на ноге PB7 в VMLAB - или 0 или 1 или что-то среднее.

=========

причем при ваших данных при запуска симуляции  ОЧЕНЬ ИНТЕРЕСНАЯ осцилограмма наблюдаетя !

И каким сигнал становится в итоге на PB7 ?  
Это какой PWM ?

Ведь в курсе пишу, читайте внимательно ДШ и думайте !

Посмотрите - у вас ВСЕГО 3 регистра ?   не ужели не возникает мысли поменять в них значения и посмотреть  результат симуляции?

МЕТОД ТЫКА не кто не отменял же - тем более что в VMLAB ни чего не спалить - как я и акцентирую в курсе !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение wingnut » 22 фев 2006, 02:08

Да .....
Оказывается нужно было просто почитать умные книжки , попутно не отвлекаясь на просмотр олимпиады :).
Все сделанное осмыслил и понял, вопросов больше нет .
wingnut
 
Сообщения: 4
Зарегистрирован: 11 фев 2006, 04:43

Сообщение avr123.nm.ru » 22 фев 2006, 11:26

5 баллов !

========

А у кого нет времени на книжки почитайте курс - он довольно краткий!
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18