Форум myROBOT.ru » Шаг за шагом » С чего начать? » Светодиод.Как поменять частоту мигания?

Страниц (1): [1]
 

1. Valentin A. - 14 Июля, 2009 - 13:41:25 - перейти к сообщению
Привет!
Собрал хелловорд на Mega8 . Светодиод мигает.Ура! Решил попробовать поменять время задержки _delay_ms ради эксперимента и понимания. Пробовал и 500, и 1000, и 1500 - визуально частота мигания светодиода не меняется.Подскажите , что я делаю не так и должна ли в принципе изменяться частота мигания при изменении _delay_ms ?
Заранее благ.
2. бот_м_16 - 14 Июля, 2009 - 16:19:38 - перейти к сообщению
задержка не ответ...
Применяй таймер...
3. Valentin A. - 14 Июля, 2009 - 17:55:15 - перейти к сообщению
бот_м_16 пишет:
задержка не ответ...
Применяй таймер...

А для чего нужнО тогда _delay_ms() ?
4. бот_м_16 - 14 Июля, 2009 - 20:14:17 - перейти к сообщению
что бы делать не спортивные задержки
5. Белый Волк - 15 Июля, 2009 - 08:58:26 - перейти к сообщению
Valentin A.
Представьте, пожалуйста, Ваш код.
6. Valentin A. - 15 Июля, 2009 - 09:45:08 - перейти к сообщению
Белый Волк пишет:
Valentin A.
Представьте, пожалуйста, Ваш код.

Использую CodeVisionAVR

CODE:
#include <mega8.h>
#include <delay.h>

void main(void)
{
PORTD=0x00;
DDRD=0xFF;

while(1)
{
PORTD.0=1;
delay_ms(100);
PORTD.0=0;
delay_ms(100);
};
}

Всё. Если ставлю delay_ms(10000) то светодиод не моргает.По крайней мере я на него минут пять внимательно смотрел , может и пропустил чего Замешательство
(Добавление)
бот_м_16 пишет:
что бы делать не спортивные задержки

Сорри , это шутка юмора или действительно такое есть ? Тащусь
З.Ы.Гугл не помог. Улыбка
7. бот_м_16 - 15 Июля, 2009 - 12:46:04 - перейти к сообщению
Да там используется nop
8. Белый Волк - 15 Июля, 2009 - 18:59:18 - перейти к сообщению
Valentin A.
Какие сообщения выдаёт среда разработки при компиляции?
9. Valentin A. - 16 Июля, 2009 - 09:32:13 - перейти к сообщению
Белый Волк пишет:
Valentin A.
Какие сообщения выдаёт среда разработки при компиляции?

Everything is OK. Что Вы имеете в виду ? Когда я изменяю delay_ms какие сообщения или что?
10. Dimsan - 16 Июля, 2009 - 12:05:31 - перейти к сообщению
Если я не ошибаюсь, то значение delay_ms() максимум 2000.
Valentin A., если у Вас задержка была 100, а потом Вы поставите 500, то результат обязательно будет виден.
11. Valentin A. - 20 Июля, 2009 - 18:06:46 - перейти к сообщению
Белый Волк пишет:
Valentin A.
Какие сообщения выдаёт среда разработки при компиляции?

Уважаемый Белый Волк !
Сорри за борзость , но Вы были правы , при компиляции внимательно посмотрел на сообщения и увидел Chip : ATtiny10 , хотя у меня ATMEGA8 . Можно еще вопросик ? У меня чип ATMega8-16PU , в прогах можно выбирать mega8 и mega8L .Я выбтраю mega8 .Правильно? Сейчас работаю над мил.мигалкой.Частота мигания светодиода изменяется , но два светодиода моргают одновременно , я полагаю должны по очереди. Схема и код завтра , можно ?
12. Белый Волк - 20 Июля, 2009 - 19:29:10 - перейти к сообщению
Valentin A.
Микроконтроллеры ATmega8 и ATmega8L отличаются только питающим напряжением и максимальной тактовой частотой. Вы сделали правильный выбор, но не думаю, что выбор ATmega8L может на что-то повлиять в данном случае.

Код для мигалки из двух светодиодов:


#include <mega8.h>
#include <delay.h>

void main(void)
{
PORTD=0x00;
DDRD=0xFF;

while(1)
{
PORTD.0 = 1;
PORTD.1 = 0;
delay_ms(200);
PORTD.0 = 0;
PORTD.1 = 1;
delay_ms(200);
}
}


Светодиоды подключить к PD0 и PD1.