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

 
 
> 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
Ответов
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



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

 


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


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