Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 22.09.2006, 07:07  
4224707
Прохожий
 
Регистрация: 27.08.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
4224707 на пути к лучшему
По умолчанию Вопрос про PROTEUS

Как в PROTEUSе подключить память данных EEPROM.
Реклама:
4224707 вне форума  
Непрочитано 22.09.2006, 09:44  
EagleB3
Вид на жительство
 
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
EagleB3 на пути к лучшему
По умолчанию Re: Вопрос про PROTEUS

Ты сформулируй поконкретнее свой вопрос; а то ведь я, например, могу порассказать о том, как я организовывал и моделировал в Proteus работу по шине I2C контроллера AT90S8535 с внешней EEPROM AT24C512 ...

Оно тебе надо?
EagleB3 вне форума  
Непрочитано 22.09.2006, 10:16  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

есть спец топик
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 22.09.2006, 14:37  
4224707
Прохожий
 
Регистрация: 27.08.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
4224707 на пути к лучшему
По умолчанию

Да!! Маленько чё попало написал. Дело вот в чем. Для АТМеги16 написал программу, откомпилировал, загрузил в Proteuse в АТМегу16. Все работает нормально. Но сама программа работает с этой самой EEPROM, то-есть считывает и записывает в нее данные. Так как эти данные подключить к этой Атмеге непонятно. Вместо того что надо при чтении данных из памяти выдает че попало. Вот в чем проблема.
4224707 вне форума  
Непрочитано 22.09.2006, 16:09  
EagleB3
Вид на жительство
 
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
EagleB3 на пути к лучшему
По умолчанию

Сорри, но не забыл ли ты сказать компилятору, что твоя переменная лежит в EEPROM?
И если она изменяется/считывается разными участками программы (да еще и не является глобальной), то объявил ли ты ее как volatile?

При наличии ровного софта и аккуратности все работает. У меня CVAVR 1.24.7d и Proteus 6.9SP5. Если забацать текст на Си:
//=======================================
eeprom volatile int MyCounter=0;

void main(void)
{
volatile int FCounter;
volatile char i=0;

printf("Program started...\r\n");
for (i=32;i‹49;i++)
{
printf("I=%1x, ",i);
MyCounter=i-16;
printf("IMyCounter=%1x, ",MyCounter);
FCounter=MyCounter-16;
printf("FCounter=%1x\r\n",FCounter);
};
}
//=======================================
и залить в Proteus в виде COF - скриншот смотри ниже.

Как говорится, легко видеть, что при текущем i=0x22 переменная MyCounter получила значение 0x12(=0x22-0d16). То, что MyCounter получила значение 0x12 на только что выполненном шаге трассировки, подчеркнуто выделением в окне EEPROM.
Считывание MyCounter из EEPROM тоже проходит корректно, иначе бы мы не получили в прошлом цикле FCounter=0х01(=0x11-0d16).

На всякий случай прицепляю архив с проектом. Если ты вдруг пишешь на АСМ, - там есть и asm-файл.
Строка "eeprom volatile int MyCounter=0;"
при трансляции выливается в ассемблерный текст
.ESEG
_MyCounter:
.DW 0x0

P.S. "volatile" для "FCounter" и "i" проставлены исключительно для наглядности; чтобы эти переменные лежали не в стеке, а в памяти и потому цеплялись бы Proteus'ным окном Variables без дополнительных шаманств.
‹center›
-- Прилагается рисунок: --
‹IFRAME src = "nuke/users_images/22092006/2409435.png" frameborder="0" name="fr2812310" scrolling="yes" width="470" height="818" align="bottom"›[img]nuke/users_images/22092006/2409435.png[/img]
‹font color=red›Рисунок не умещается на странице и поэтому сжат!‹/font›
Для того, чтобы просмотреть его полностью, щелкните здесь.

‹/IFRAME›
‹/center›

Прикрепленный файл: 3418208.zip
EagleB3 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про термопару uk8amk Измерительное оборудование 22 12.05.2009 10:18
Вопрос про подсветку lineyka2 Источники питания и свет 4 17.03.2009 12:30
Вопрос про реле. ANDAND Автоматика и аппаратура связи 2 09.02.2009 12:49
Вопрос про МК ? malyshevsergey Цифровые сигнальные процессоры 3 07.01.2007 10:36


Часовой пояс GMT +4, время: 19:47.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot