Страница 1 из 1

Симуляция работы avr в proteus или как заставить мигать

Добавлено: Сб фев 04, 2012 20:08:23
BigED
здравствуйте, я делаю небольшое устройство, которое просто должно мигать диодами, я успешно прошил его - работает, но не все мигает так, как мной было задумано. Что бы найти ошибку в программе хочу воспользоваться программным продуктом proteus, в котором я собрал схему. Но к моему удивлению во время симуляции вообще ничего не мигает. Прошу вашего совета.
В приложении сишный код, hex и файлы протеуса.
arh.zip
Си+hex+proteus
(15.07 КБ) 336 скачиваний

Re: Симуляция работы avr в proteus или как заставить мигать

Добавлено: Вс фев 05, 2012 01:09:10
Кинг
чтото много всего понаписано если просто мигать 3мя светодиодами одновременно/ подключить их всех к одному порту while(1) {PORTB=1; delay_ms(200); PORTB=0;};

Re: Симуляция работы avr в proteus или как заставить мигать

Добавлено: Вс фев 05, 2012 02:01:03
hybroid
Кинг писал(а):while(1) {PORTB=1; delay_ms(200); PORTB=0;};
Мигать не будет. Если так, то не хватает задержки после 0.

Re: Симуляция работы avr в proteus или как заставить мигать

Добавлено: Вс фев 05, 2012 11:44:03
BigED
Это я привел схему для трех диодов, у меня их 14, а в программе 5 различных вариантов миганий, поэтому так много строчек. Факт в том, что в реальном микроконтроллере мигание происходит, а в протеусе нет

Re: Симуляция работы avr в proteus или как заставить мигать

Добавлено: Вс фев 05, 2012 17:09:40
Soir
BigED писал(а):Факт в том, что в реальном микроконтроллере мигание происходит, а в протеусе нет
А какой у Вас реальный контроллер? Прошивка не для ATMEGA48, или в ней есть ошибки (В Proteus ошибки вываливаются сотнями, у Вас не так или Вы их попросту игнорируете?). Если взять ATMEGA88 и навести элементарный порядок в схеме из 7 деталей, то что-то мигает (в суть миганий не вникал).

Re: Симуляция работы avr в proteus или как заставить мигать

Добавлено: Вс фев 05, 2012 20:51:33
BigED
Спасибо, но я разобрался - причиной такого поведения стало то что протеус просто очень долго обрабатывал задержки - после уменьшения он стал мигать, хоть и не с реальной скоростью, но для отладки достаточной.
P.S. протеус ошибок не выдавал

Re: Симуляция работы avr в proteus или как заставить мигать

Добавлено: Вс фев 05, 2012 22:34:04
Soir
BigED писал(а):Спасибо, но я разобрался - причиной такого поведения стало то что протеус просто очень долго обрабатывал задержки - после уменьшения он стал мигать, хоть и не с реальной скоростью, но для отладки достаточной.
P.S. протеус ошибок не выдавал
И предупреждений не было? Вот они как раз и вываливаются по 100 и более штук в секунду и тормозят процесс вплоть до зависания программы. Когда все ok, то загрузка процессора (у меня) около 7%. Переключение светодиодов с периодом что-то около 3-4 сек. Так что еще раз проверьте правильно ли у Вас (в компиляторе) выбран МК или в прошивке есть кривизна, я не ковырялся.