CodeVision AVR в вопросах и ответах
- Avarges
- Вымогатель припоя
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Можно МК нагрузить по полной, это значит delay лишние выбросить, на них только теряется процессорное время.
Но программу написать будет сложно, ЦМУ и гирлянды совместить это еще легко, а вот генератор - критичное ко времени устройство добавить сложнее.
Но программу написать будет сложно, ЦМУ и гирлянды совместить это еще легко, а вот генератор - критичное ко времени устройство добавить сложнее.
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Avarges писал(а): а вот генератор - критичное ко времени устройство добавить сложнее.
Да ?! это же всего 1 таймер и 0 процессорного времени во время генерации.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
один порт - переключатель гирлянд ( Кстати, можно ли частоту переключения изменять таймером, т.е. вместо задержки delay во включенном состоянии использовать таймер ???)
Можно. Использовать таймер даже желательно.
2-й порт - ЦМУ с прерыванием,
Для чего прерывание? Тем не менее можно.
3-й - генератор прямоугольных импульсов с изменяемой частотой ????
Всеми мусолимуемый ШИМ.
Можно. Использовать таймер даже желательно.
2-й порт - ЦМУ с прерыванием,
Для чего прерывание? Тем не менее можно.
3-й - генератор прямоугольных импульсов с изменяемой частотой ????
Всеми мусолимуемый ШИМ.
Docendo discimus
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
Нашел возможное решение. !)для гирлянды на таймер подавать сигнал с внешнего генератора. Выбрать требуемое деление на входе таймера постоянным. Изменяя частоту внешнего генератора, изменяем время задержки переключения гирлянды.
2) Управлять регистром счета TCNT. Т.е. настроить при помощи входных делителей работу так, чтобы задержка с помощью таймера соответствовала минимальной частоте переключения гирлянд. А затем менять значения регистра TCNT. (Например, TCNT=50). Т.е. переполнение счетчика будет наступать быстрее...
Прерывание в ЦМУ используется для разгрузки МК. Т.е. выполняется какая-либо программа и параллельно таймер (ЦМУ) считает входные импульсы), как только кличество этих импульсов соответствует заданному, таймер "просит" команду прерывания.
По такому принципу работает мышь и клавиатура в компьютере. Поэтому когда комп зависает, курсор мыши продолжает работать
2) Управлять регистром счета TCNT. Т.е. настроить при помощи входных делителей работу так, чтобы задержка с помощью таймера соответствовала минимальной частоте переключения гирлянд. А затем менять значения регистра TCNT. (Например, TCNT=50). Т.е. переполнение счетчика будет наступать быстрее...
Прерывание в ЦМУ используется для разгрузки МК. Т.е. выполняется какая-либо программа и параллельно таймер (ЦМУ) считает входные импульсы), как только кличество этих импульсов соответствует заданному, таймер "просит" команду прерывания.
По такому принципу работает мышь и клавиатура в компьютере. Поэтому когда комп зависает, курсор мыши продолжает работать
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
Скажите, пожалуйста, МК AT mega 16 имеет 3 входа INT (INT0, INT1, INT2). Сколько максимальных внешних прерываний можно реализовать ??? 2 или 3?
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
BerZerK-ku писал(а):3

- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
А если надо больше, то прилепить контроллер прерываний. Супервизор этакий.
ps. Так, мысли вслух.
ps. Так, мысли вслух.
Docendo discimus
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
pyzh_man писал(а):А если надо больше, то прилепить контроллер прерываний. Супервизор этакий.
ps. Так, мысли вслух.
Т.е. ANO и т.д. ???
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
1) Какими МК чаще пользуйтесь PIC или AVR ???
2) Какие программаторы используйте ??? И если не секрет
, за сколько брали ???
2) Какие программаторы используйте ??? И если не секрет
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
cat-dog-god0 писал(а):Скажите, пожалуйста, МК AT mega 16 имеет 3 входа INT (INT0, INT1, INT2). Сколько максимальных внешних прерываний можно реализовать ??? 2 или 3?
не три, а больше.BerZerK-ku писал(а):3
битва с дураками проиграна, победители торжествуют. слава победителям!
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
Мастер Ломастер писал(а):не три, а больше.
Не могли бы вы объяснить как и почему ??? Слишком многовато параметров для меня, я запутался, да и в литературе конкретных и систематизированных ответов нет.
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
Скажите, если совместить ЦМУ с прерыванием и переключатель гирлянд с функцией delay, Будут ли две эти программы конфликтовать между собой ??? И какими могут быть мин. и макс. значения для delay ????
А как тут реализуется ШИМ для каждого канала, ведь в AT mega 16 только 3 таймера /счетчика ??? :
http://radiokot.ru/circuit/light/run/20/
А как тут реализуется ШИМ для каждого канала, ведь в AT mega 16 только 3 таймера /счетчика ??? :
http://radiokot.ru/circuit/light/run/20/
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
cat-dog-god0 писал(а):е три, а больше.
Заинтересовали , а каким образом внешних прерываний может быть больше, если векторов внешних прерываний три?
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
BerZerK-ku писал(а):cat-dog-god0 писал(а):е три, а больше.
Заинтересовали , а каким образом внешних прерываний может быть больше, если векторов внешних прерываний три?
есть встроенный компаратор, который имеет 2 входных линии, и его можно настроить так, что по сигналу на одной из них может генерироваться прерывание - это +1.
есть таймер с режимом захвата, т.е. вход ICP1 - по событию захвата может генерироваться прерывание - это еще +1.
с некоторой натяжкой, допустимой для немгновенной реакции на сигнал, можно использовать вход USART для генерации прерывания - это +0.5 (все-таки реакция не мгновенная будет)
таким образом, для упомянутого контроллера имеется возможность организовать до 5,5 внешних запросов прерываний
битва с дураками проиграна, победители торжествуют. слава победителям!
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Мда... я то думал. что будет что-то оригинальное, а вы всего лишь о прерываниях периферии.
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
ну придумайте что-то более оригинальноеBerZerK-ku писал(а):Мда... я то думал. что будет что-то оригинальное, а вы всего лишь о прерываниях периферии.
битва с дураками проиграна, победители торжествуют. слава победителям!
-
cat-dog-god0
- Прорезались зубы
- Сообщения: 244
- Зарегистрирован: Вс янв 09, 2011 00:34:11
Re: CodeVision AVR в вопросах и ответах
Уважаемые коты! Не могли бы вы на пальцах объяснить как использовать таймер/счетчик: как объявлять его, как изменять режимы работы, как делать пред установки, как объявляются функции прерывания в зависимости от режима рвботы таймера/счетчика ???????
----------
P.S. Я совсем запутался в регистрах, не понятно какой куда
Вроде с одним разобрался, как оказывается есть еще и еще один...
----------
P.S. Я совсем запутался в регистрах, не понятно какой куда
- levaclaus
- Потрогал лапой паяльник
- Сообщения: 302
- Зарегистрирован: Пн янв 07, 2008 16:56:28
- Откуда: Минск
Re: CodeVision AVR в вопросах и ответах
вопрос,
"мигаю" всем портом D и это работает
PORTB=0x00;
DDRB=0xff;
...
while (1)
{
PORTB=0xff;
delay_ms(500);
PORTB=0x00;
delay_ms(500);
};
Как мигать пином 4 на порте D?
пишу
PORTB=0x00;
DDRB=0x10;//конфиг пин 10000 (4) как выход
...
while (1)
{
PORTB.4=1;
delay_ms(500);
PORTB.4=0;
delay_ms(500);
};
И не работает, что неверно?
Я уже месяц бъюсь над прогой, стал разбиратьсь, а оказалось что по одиночке пин не моргает, обидно\\\
"мигаю" всем портом D и это работает
PORTB=0x00;
DDRB=0xff;
...
while (1)
{
PORTB=0xff;
delay_ms(500);
PORTB=0x00;
delay_ms(500);
};
Как мигать пином 4 на порте D?
пишу
PORTB=0x00;
DDRB=0x10;//конфиг пин 10000 (4) как выход
...
while (1)
{
PORTB.4=1;
delay_ms(500);
PORTB.4=0;
delay_ms(500);
};
И не работает, что неверно?
Я уже месяц бъюсь над прогой, стал разбиратьсь, а оказалось что по одиночке пин не моргает, обидно\\\
Последний раз редактировалось levaclaus Вт ноя 15, 2011 09:27:44, всего редактировалось 1 раз.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
У вас скорее всего мега8. Порт В4 в ней - MISO. В программаторе к этой ножке подключен выход микросхемы. Т.о. после прошивки и выхода мк в рабочий режим имеем два выхода, соединенных вместе. И кто кого передавит дело непонятное. Так что порт моргает, просто отцепите программатор. Ну и вариант второй, мало вероятный: порт паленый.
Docendo discimus