реклама на сайте
подробности

 
 
> Proteus и atMega16, Не симулирует простой код
KisaLove
сообщение May 15 2006, 09:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



День добрый всем!
Имеется Proteus 6.7 SP3 (и 6.5 был) и ATMEGA16.
Подсовываю код
Код
    .equ PORTC=0x15
    .equ PORTD=0x12
    .equ DDRC=0x14
    .equ DDRD=0x11
    ser r26
    out DDRC, r26
    out DDRD, r26
    andi r26, 0b00000001
    out PORTD, r26  
    out PORTC, r26  
_0x4:
   in r26, PORTD
   rol r26
   out PORTC, r26
   out PORTD, r26
   JMP  _0x4

Не работает выходы PD6 и PD7. То есть при инициализации (out DDRD, r26) загораются все порты синеньким, а PD6 и PD7 так и остаются серым. При занесении в них единички (при наступлении сего события), они становятся синими, а не красными. Если подсунуть модель ATMEGA8 - все работает. С остальными портами вопросов нет - отрабатывают. Если сделать перебор по всем портам вообще (PORTA-PORTD) - то после занесения данных в PORTB на выходе PD6 и PD7 появляется отклик (непонятный, но уже голова расскалывается выяснять логику появления) от записи в PB6 и PB7.

Разбор полетов начался с того, что не заработала программа по работе с LCD. Ну и начал копать sad.gif
Просто очень понравилась программа, а вот нарвался на такие грабли sad.gif Помогите пожалуйста...
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
otrog
сообщение May 15 2006, 11:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Интересно - В AVR Studio 4 работает glare.gif .
А если закомментировать "
Код
   in r26, PORTD
"?


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
KisaLove
сообщение May 15 2006, 11:55
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



Цитата(otrog @ May 15 2006, 15:35) *
Интересно - В AVR Studio 4 работает glare.gif .
А если закомментировать "
Код
   in r26, PORTD
"?


Да и закоментаренной тоже самое (это осталось с тех времен, когда я еще перемешивал с Си и функция delay_us портила r26). Необычности даже начинаются с команды out DDRD, r26 (на скриншоте видны серые квадратики напротив этих двух пинов). Можно было бы плюнуть на все и мега8 для души хватило бы сполна, но LCD припаян именно к меге16 и нестандартно (часть ног на PORTD часть на PORTC - конструктор et-kit-mega16) Пришлось стандартный lcd.h из CVAVR переписать, и в VMLAB нормально пашет, и в живую тоже. А вот в протеус даже такой мелкий код глючит sad.gif обидно sad.gif VMLAB хорош конечно, но схему рисовать мне нравится в proteus.
Пользуясь случаем говорю пасипа [BANNED]! очень помог smile.gif

Сообщение отредактировал IgorKossak - Nov 17 2008, 20:07
Go to the top of the page
 
+Quote Post
otrog
сообщение May 15 2006, 12:29
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Так дело в PC6 PC7? Если так - то скорее всего включилось тактирование от внешнего низкочастотного кварца
Цитата
When the AS2 bit in ASSR is set (one) to enable asynchronous
clocking of Timer/Counter2


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
KisaLove
сообщение May 15 2006, 13:15
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



Цитата(otrog @ May 15 2006, 16:29) *
Так дело в PC6 PC7? Если так - то скорее всего включилось тактирование от внешнего низкочастотного кварца
Цитата
When the AS2 bit in ASSR is set (one) to enable asynchronous
clocking of Timer/Counter2



Может быть sad.gif (я поначалу даже обрадовался, что усе так открылось), но просмотр регистра ASSR во впремя работы дал нолики во всех разрядах sad.gif пробовал в свойства кристала (в proteus) в поле "TOSC Frequency" и значение по умолчанию забивать (32768Hz) и пустым оставлять (тогда ставится "<default>"). И в коде принудительно еще раз нулями регистр заполнять...
Все равно эффект тот-же. Эх, как бы побороть то sad.gif((
Go to the top of the page
 
+Quote Post
KisaLove
сообщение May 15 2006, 14:12
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



не, наверное это с TOSC не связано, хотя ОООЧЕНЬ похоже. Вообщем попробовал с mega8 с PORTB (там где на PB6-7 висят TOSC1-2) - эффекта такого нет. Все в порядке. На mega16 состояние выходов PC6-7 полностью зависит от состояния PB6-7. Пробовал сейчас логику уяснить - не поддается описанию. Это надо видеть ?(
Go to the top of the page
 
+Quote Post
bodja74
сообщение May 15 2006, 16:49
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Не терзайте себя сомнениями smile.gifsmile.gifsmile.gif
Это один из клюков модели меги16.
По жизни у нее действительно один из портов C работает на вход,это лечится отключением фуза JTAGEN
(отладка через JTAG)
Go to the top of the page
 
+Quote Post
KisaLove
сообщение May 16 2006, 06:59
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



Цитата(bodja74 @ May 15 2006, 20:49) *
Не терзайте себя сомнениями smile.gifsmile.gifsmile.gif
Это один из клюков модели меги16.
По жизни у нее действительно один из портов C работает на вход,это лечится отключением фуза JTAGEN
(отладка через JTAG)

О! Спасибо!
А есть возможность отключить этот глюк в proteus? а то на макетной плате похоже он уже сразу был отключен, так как LCD подключенный к этим "выходам" работал замечательно.
ЗЫ Хм, поглядел на распальцовку чипа - для JTAG другие порты задействованы и с ними нет проблем sad.gif
Так что вопрос остался sad.gif Но ведь кто-то же использует mega16 в протеусе sad.gif
Оффтопик - а может есть что-то еще похожее на proteus по удобству?
Go to the top of the page
 
+Quote Post
KisaLove
сообщение May 16 2006, 08:58
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



Цитата([banned] @ May 16 2006, 12:16) *
Цитата("KisaLove")

Пробовал сейчас логику уяснить - не поддается описанию. Это надо видеть ?(

дак приложи архив с файлами .dsn и .hex или .asm - подивимся.

Воть smile.gif Посмотрите пожалуйста....
Прикрепленные файлы
Прикрепленный файл  ProblemM16.zip ( 30.64 килобайт ) Кол-во скачиваний: 62
 
Go to the top of the page
 
+Quote Post
bodja74
сообщение May 16 2006, 11:11
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата
у ней всего ОДИН порт С. и 4 вывода в нем отведены под включенный по умолчанию JTAG.

чтобы его выключить нужно сдлеать JTAGEN "1" - "установить".


Спасибо за уточнение.

Цитата
О! Спасибо!
А есть возможность отключить этот глюк в proteus?

Я перепробовал уже разные варианты,эффект нулевой.
Делал немного по хитрому.Подключал другие порты в протеусе,в проге присваивал имена портам,а уже для железа переименовывал.
У модели мега16 есть еще такиме глюки,
1 нет прерывания от SPI.
2 экспрессом проезжает sleep
3 с прерыванием от USART сильнейшие тормоза.
Go to the top of the page
 
+Quote Post
KisaLove
сообщение May 16 2006, 11:36
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



Цитата(bodja74 @ May 16 2006, 15:11) *
Цитата

О! Спасибо!
А есть возможность отключить этот глюк в proteus?

Я перепробовал уже разные варианты,эффект нулевой.
Делал немного по хитрому.Подключал другие порты в протеусе,в проге присваивал имена портам,а уже для железа переименовывал.

Да. похоже и меня это ждет smile.gif благо так много вводов/выводов мене не надоть smile.gif а под LCD всего два нужны (эти глючные, которые нигде не буду использовать кроме как в драйвере LCD - повешу как ты рекомендовал). Пасипа!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.0143 секунд с 7
ELECTRONIX ©2004-2016