roboforum.ru

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

Странности Proteus 7.4 SP3

Странности Proteus 7.4 SP3

DK10000 » 03 янв 2009, 18:11

Господа электронщики. Помогите. Столкнулся с такой проблемой. Написал программу для ATMega16 для вывода на LCD экран 2 слов с интервалом небольшим. Программу написал в CodeVisionAVR. Она прекрасно работает в VMLAB.
Но стоит собрать и запустить эту схему в Proteus 7.4. Ничего не выходит. На LCD ни одного символа. Причем постоянно в процессе работы вылетают предупреждения:


“Watchdog setup sequence is timed out. Do nothing”
и
“Timer expired – processor will be reset”
Они идут одно за одним. Проверял эту же схему в Proteus 7.2 SP6 все работает нормально. Но в 7.2 не работают прерывания Atmega 16.


Может, кто-то с этой проблемой сталкивался. Заранее спасибо.
Прилагаю к вопросу архив. Там код программы в CodeVisionAVR, VMLAB и проект Proteus 7.4
Вложения
форум.rar
(34.27 КиБ) Скачиваний: 51

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 03 янв 2009, 18:50

Просто отключите эти предупреждения в меню отладки. Наверно в свойствах МК у вас фьзами включен сторожевой таймер - если да, то выключите его.

Re: Странности Proteus 7.4 SP3

DK10000 » 03 янв 2009, 19:03

При написании программы пользовался генератором начального кода. И там сторожевой таймер был отключен.
Сделал, как вы сказали. В протеусе кликнул правой кнопкой по контроллеру, выбрал configure diagnostigs, далее watchdog timer module и выбрал disable.
Это привело к тому, что предупреждения исчезли. Но на экране по-прежнему ничего. Какие то появления и пропадания нулей на порте А видно. Какие то мелькания.

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 03 янв 2009, 19:18

Я добавил в вашу прогу отключение вочдога WDT в ATmega16
WDT - в ATmega32 ATmega16 включается в программе установкой Bit 3 – WDE в регистре WDTCR и может быть отключен программой специальной последовательностью команд (стр. 43 в ДШ ATmega16) в CVAVR вот так:

Код: Выделить всёРазвернуть
#asm("wdr")  /* Сбросить WDT */
/* Вписать "1" в бит_4 WDTOE и бит_3 WDE */
WDTCR |= (1 << 4) | (1 << 3);
WDTCR = 0x00; /* Выключить WDT */


Все заработало. И паузы увеличил чтоб не мелькало на LCD.

Проекты в прицепе - пример ATmega16 LCD 16x2 CVAVR PROTEUS VMLAB
Задача 5 курс по AVR - http://avr123.nm.ru/z5.htm работа с UART и LCD
Вложения
Atmega16 LCD 16x2 CVAVR PROTEUS VMLAB.rar
(73.9 КиБ) Скачиваний: 109
Последний раз редактировалось avr123.nm.ru 05 янв 2009, 20:19, всего редактировалось 1 раз.

Re: Странности Proteus 7.4 SP3

DK10000 » 03 янв 2009, 20:17

Большое спасибо. Все работает. Собственно по вашему учебнику я и изучал LCD. Очень хороший учебник.

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 03 янв 2009, 21:04

DK10000 писал(а):Очень хороший учебник.
Спасибо.

Re: Странности Proteus 7.4 SP3

oleg_harp » 05 янв 2009, 18:37

Уважаемый avr123.nm.ru, все-таки не подскажите почему в свойствах МК в Proteus 7.4 SP3 включение или отключение WDT ни к чему не приводит, и в том и другом случае висит одинокое предупреждение:
PC=0x0026 Watchdog setup seqence is time out. Do nothing.? И включить таймер можно только в коде программы.
Спасибо!

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 05 янв 2009, 18:46

Просто в АТМЕГА16 нет фьюза отключения WDT и включить и отключить его можно только програмно. Таюлица фьюзов в разных АВР есть в низу странички - http://avr123.nm.ru/02.htm

Но сам WDT в ATmega16 не включается при старте. PROTEUS глючит похоже.
Последний раз редактировалось avr123.nm.ru 05 янв 2009, 21:44, всего редактировалось 2 раз(а).

Re: Странности Proteus 7.4 SP3

oleg_harp » 05 янв 2009, 18:54

У меня не AТМЕГА16, а Tyni13. Вы сами попробуйте с любым чипом, у которого есть фьюз WDT.

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 05 янв 2009, 21:43

oleg_harp писал(а):У меня не AТМЕГА16, а Tyni13. Вы сами попробуйте с любым чипом, у которого есть фьюз WDT.

У меня Тини13 работает нормально. Вот проект - попробуйте. http://slil.ru/26509442

Re: Странности Proteus 7.4 SP3

oleg_harp » 05 янв 2009, 22:47

To avr123.nm.ru
Я что-то не понимаю. В Вашем проекте http://slil.ru/26509442 WDT у меня не работает при включении фьюза WDTON. Но и нет больше предупреждения PC=0x0026 Watchdog setup sequence is time out. Do nothing. Но самое интересное, что Ваша Tiny13 выглядит по другому и меню свойств у нее другое. Вы, наверное, старые проекты запускаете под Proteus 7.4 SP3. Я только что проверил: в старых у меня тоже фьюз WDTON работает.

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 05 янв 2009, 23:36

У меня и с новой моделью тини13 работает нормально. Вот в прицепе. http://slil.ru/26509851

Вы лекарство правильное юзаете ?
От Немо версии 1.6.2 я использую.

Re: Странности Proteus 7.4 SP3

oleg_harp » 06 янв 2009, 00:04

Спасибо за внимание! Лекарство такое же. С Вашим последним проектом http://slil.ru/26509851 результат, к сожалению, тот же.

Re: Странности Proteus 7.4 SP3

avr123.nm.ru » 06 янв 2009, 00:13

Но у меня нормально работает, нет фонингов и останавливается на паузах как раз каздые 500 мсек

Re: Странности Proteus 7.4 SP3

oleg_harp » 06 янв 2009, 00:28

Прошу прощение, нужно уточнить. Что Вы имеете ввиду "останавливается на паузах как раз каздые 500 мсек". Вы о WDT? Не подскажете, я в Datasheet не нахожу информацию с каким периодом должен происходить RESET при WDTON Programmed? Я так понимаю - по умолчанию 16 mS?

Хотя я проверил в старом проекте, действительно 0.5S. Но почему не 16 mS. Ведь по умолчанию WDTCR настроен на 16 mS?


Rambler\'s Top100 Mail.ru counter