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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 18.04.2007, 19:35  
Viktor2004
Прописка
 
Регистрация: 27.06.2005
Адрес: Ленинград
Сообщений: 137
Сказал спасибо: 32
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
Viktor2004 на пути к лучшему
По умолчанию Помогите с PIC16F73

Господа профессионалы. Прошу мне помочь. Никогда не писал программы для микроконтроллеров, но ситуация заставила. Имеется PIC16F73. Написал кусок программы. Пробовал скомпелировать. Получил сообщения об ошибках. «Регистр не соответствует подключенному банку данных». Проверяю по справочнику и убеждаюсь что этот регистр соответствует банку. Однако, когда просмотрел окно «Program Memory», заметил что дизассемблированный текст не соответствует исходнику. В исходнике мной указан один регистр, а дизассемблер почему-то указал что стоит другой регистр, из другого банка данных. Данные регистры присутствуют в моем чипе. Пробовал компелировать не из MPLAB, а непосредственно MPASM. Ситуация та же. Тип микросхемы выбран правильно. Просмотрел файл P16F73.INC, подключенный к программе, там адреса и имена регистров присутствуют и соответствуют справочнику. Понимаю что у меня не самая свежая версия MPLAB. Другой пока нет, а скачать через модем не представляется возможным. Кто-нибудь сталкивался с такой проблемой? Может я упустил какие-нибудь настройки?
Реклама:
Viktor2004 вне форума  
Непрочитано 18.04.2007, 20:03  
zelanez
Вид на жительство
 
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
zelanez на пути к лучшему
По умолчанию

Давай, посмеёмся вместе.
Дело в том, что Мессага даётся для того, чтобы обратить твоё внимание, и только. Эти мессаги легко отключить.
Главное же для тебя сообщение внизу:
"BUILD SUCCEEDED" - значит всё в порядке.
Кстати, в MPLAB легко просмотреть состояние любого регистра, даже ADCON при пошаговой отладке. Для этого совсем не надо смотреть дизассемблер.
Кстати, для выбранного довольно старого МК вобщем-то и нет необходимости ставить самую свежую версию MPLAB. У меня до недавнего времени стояла версия 6.62, вполне устраивала для 84 и 628 Пиков...
А кстати, в чём проблема? Не шьётся МК, неправильно работает код, что собственно смущает?
Юзай Proteus, хорошо помогает в освоении...
zelanez вне форума  
Непрочитано 18.04.2007, 21:39  
an-sver
Прописка
 
Регистрация: 22.08.2006
Сообщений: 168
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 11 сообщении(ях)
an-sver на пути к лучшему
По умолчанию

Если смущает MPLAB, можно пользоваться сторонними дизассемблерами например встроенными в PIC SIMULATOR IDE, они не грузят нформационными исообщениями, и сами подставляют имена битов. Но я например нарывался не раз, когда после дизассемблирования hex файлов, может нарочно, может по ошибке программиста не правильно выбирались банки регистров (подставлялись не те регистры и биты, и как раз сообщения MPLAB помогали быстро найти ошибку... в вашем коде банк 1 выбирается в строке 0001 командой BSF Status, 5 и соответственно выбирается регистр. Об этом и говорит компилер...
an-sver вне форума  
Непрочитано 19.04.2007, 00:18  
Viktor2004
Прописка
 
Регистрация: 27.06.2005
Адрес: Ленинград
Сообщений: 137
Сказал спасибо: 32
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
Viktor2004 на пути к лучшему
По умолчанию

Блин. Только сейчас врубился. Стал вручную дизассемблировать HEX-файл и понял что по коду команды нельзя отличить регистр ADCON0 от ADCON1, TRISA от PORTA, и т д. Они имеют одинаковые коды и различие возникает в зависимости от того, какой блок данных подключен. Вот дизассемблер и ставит везде регистры нулевого блока.
В процессор-то программируется нормально, просто хотелось быть уверенным, что заливается то, что я хочу. Думал компелятор работает неверно, в настройках что-то напутано. Это ведь не вся программа, только начало и проверить в железе пока не могу.
Proteus это что такое? Мне сказали что можно обойтись одним MPLABом. Или не так? Просто наша фирма накупила зарядных устройств для автомобильных аккуиуляторов, и там стали гореть микросхемы PIC16C710. Почему горят я понял, схему исправил, а вот уже сгоревшие чипы надо восстанавливать. Пробовал скопировать, а она защищена. Шеф сказал: "Ты электрик, ты и программируй" Вот и приходится учить. Почитал книжку и для отладки выбрал флэш-вариант.
Спасибо большое за помощь. Если еще буду спрашивать, вы уж не откажите.
Viktor2004 вне форума  
Непрочитано 19.04.2007, 14:23  
Viktor2004
Прописка
 
Регистрация: 27.06.2005
Адрес: Ленинград
Сообщений: 137
Сказал спасибо: 32
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
Viktor2004 на пути к лучшему
По умолчанию

Извините, еще вопросик назрел.
А как в дебуггере симулировать аналоговый вход? А вроде установил для визуализации все интересующие меня входы и выходы, но мне нужно задать изменение уровня сигнала на аналоговом входе. Как это сделать? Может какой-нибудь файл нужно создать табличный, или функцию изменения по времени написать?
Viktor2004 вне форума  
Непрочитано 19.04.2007, 14:31  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

А вот здесь - уже все... Нужен протеус. Или останавливать в нужных местах отладку и вручную вводить значения в регистры. Не есть удобно.
urry вне форума  
Непрочитано 19.04.2007, 20:00  
zelanez
Вид на жительство
 
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
zelanez на пути к лучшему
По умолчанию

Цитата:
Proteus это что такое? Мне сказали что можно обойтись одним MPLABом. Или не так?
Половина тем на этом форуме посвящена Proteus, а ты спрашиваешь, что такое. Открой глаза, прояви здоровое любопытство...
В двух словах - это симулятор электронных схем, содержащих МК.
MPLAB - поможет отладить код МК. А вот проверить работу всего устройства - это удобнее в Proteus. Там ничего симулировать не надо, посто подключаешь виртуальный генератор нужной функции...
И даже плату разведёт...
zelanez вне форума  
Непрочитано 20.04.2007, 00:18  
Viktor2004
Прописка
 
Регистрация: 27.06.2005
Адрес: Ленинград
Сообщений: 137
Сказал спасибо: 32
Сказали Спасибо 10 раз(а) в 5 сообщении(ях)
Viktor2004 на пути к лучшему
По умолчанию

Да я бы с радостью проявлял любопытство, да вот работы невпроворот и интернет модемный доступен несколько минут в сутки. Вот допишу, подключусь, отправлю и отключусь. Мне фирма десятичасовую карточку на месяц покупает.
Протеус это круто. Для разработчиков аппаратуры наверное необходимо. Мне всего два раза приходилось платы разводить, на рынке мне посоветовали Пикад 2001. Вроде тоже очень удобно, да и хелп понятный. А сейчас передо мной просто стоит локальная задача восстановить шесть зарядников. Завтра возможно отюойный молоток в руки дадут. Всегда приходится изучать лишь необходимый и достаточный обьем информации. В данный момент смиулировать электросхему необходимости нет.
Большое спасибо за помощь. Все же интернет великая вещь.
Viktor2004 вне форума  
Непрочитано 02.05.2007, 16:48  
WattsON
Временная регистрация
 
Регистрация: 29.08.2006
Сообщений: 54
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
WattsON на пути к лучшему
По умолчанию

Прошу помощи!! Вообщем дела такое есть НЕХ для PIC16F877. Пытался получить АSM разными прогами, то что получал обратно в НЕХ выдавало ошибки. Вот сообственно вопрос как это сделать MPlab?? И если кто разбирается в дизассемблировании, попробуйте сделать файл, и потом проверить. Прилепил НЕХ.
Заранее, благодарен.

Прикрепленный файл: 6885163.zip
WattsON вне форума  
Непрочитано 02.05.2007, 18:04  
an-sver
Прописка
 
Регистрация: 22.08.2006
Сообщений: 168
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 11 сообщении(ях)
an-sver на пути к лучшему
По умолчанию

К сожалению, я сам не раз сталкивался этой проблемой. Дело в том, что в hex файл записывается слово конфигурации или не записывается, а выставляется в программаторе (по желанию разработчика). Обычно ошибка здесь и кроется.. Вытаскиваете из микроконтроллера файл, програмируете - не работает. А попробуйте тоже самое только еще вытащить слово конфигурации.... И введите его в программатор непосредственно....Попробуйте...
an-sver вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация программы - бортовой компьютер на PIC16F73 Hellka Микроконтроллеры, АЦП, память и т.д 6 06.09.2010 17:04
Проблемы с кварцем на pic16f73 LSergM Микроконтроллеры, АЦП, память и т.д 3 29.07.2007 14:55
Режим ведущего в шине I2C в PIC16F73 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 8 24.05.2007 09:34
Pic16f73 + Ibutton Hellka Микроконтроллеры, АЦП, память и т.д 0 12.12.2006 22:38


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


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