Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Странности с Mplab Sim и 16F676

Непрочитано 21.07.2015, 01:19  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Странности с Mplab Sim и 16F676

Не могу заставить в MPLAB SIM изменить состояние портов у 16F676. В конфигурации Мплаба, контроллер выбран правильно.Порты настроены на выход. Если в шапке асм-файла я выбираю другой контроллер, допустим pic16f73 или 874, то этот же код работает как надо.
У меня MpLab версии 8.92 С 16F676 даже ногами подрыгать не получается, а именно он и нужен. На команду bsf ни одна нога тоже не реагирует. Трисы живые, т.е. их состояние изменяется. Могу конечно ICD2 с pic16f877 задействовать, но тогда надо макетку лепить с семисегментным дешифратором под индикацию. В Протеусе пока не пробовал, хочу с мплабом разобраться.
Вот две шапки. В самом тексте программы ничего не меняю. Что происходит?

list p=16F676 ; Не дрыгает ногами

#include ‹p16F676.inc›

ERRORLEVEL -302

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF

__________________________________________________ _______________
list p=16f73 ; Тут все нормально

include "p16f73.inc"

ERRORLEVEL -302

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC
__________________________________________________ _______________
Реклама:
FreeTramp вне форума  
Непрочитано 21.07.2015, 09:06  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Сам себе и отвечу. Это глюк Мплаба версии 8.92 Сейчас на работе, откатился на версию 8.56 и случилось чудо. Все заработало!
Однако рано радоваться. Изменяется только старшие тетрады портов, а младшие так и остаются мертвые.
С другим контроллером, все пучком.

Последний раз редактировалось FreeTramp; 21.07.2015 в 09:26.
FreeTramp вне форума  
Непрочитано 21.07.2015, 09:10  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Попробуй Project -› Clean
NewWriter вне форума  
Непрочитано 21.07.2015, 09:28  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Сообщение от NewWriter Посмотреть сообщение
Попробуй Project -› Clean
Это не помогает. Младшие 4 бита портов ни на что не реагируют.
FreeTramp вне форума  
Непрочитано 21.07.2015, 17:31  
picoman
Прописка
 
Регистрация: 27.08.2006
Адрес: Кривой Рог
Сообщений: 84
Сказал спасибо: 23
Сказали Спасибо 15 раз(а) в 13 сообщении(ях)
picoman на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

С ANSEL все в порядке?
picoman вне форума  
Непрочитано 21.07.2015, 17:59  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Сообщение от picoman Посмотреть сообщение
С ANSEL все в порядке?
+1. Там ещё и компаратор ( CMCON ) имеется, а у "pic16f73 или 874" его нет. Обычная "проблема" при шапочном изучении даташита, MPLAB вообще здесь никаким боком, все глюки в голове. Что-то вроде:
Код:
...
movlw 0x07
movwf CMCON
...
ТС поможет.

Последний раз редактировалось shindax; 21.07.2015 в 18:08.
shindax вне форума  
Непрочитано 21.07.2015, 20:46  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Вообщето, ANSEL и CMCON влияют только на режим входов, а на режим выходов не действуют. Но значения регистров порта в MPLAB-е считываются именно со состояний входов. А вот в режиме аналогового входа MPLAB будет показывать в регистре порта нули на той позиции, где выбран режим аналогового входа.
Поэтому, то что получилось у ТС - это результат особенностей MPLAB-а.
NewWriter вне форума  
Непрочитано 21.07.2015, 22:47  
FreeTramp
Прописка
 
Аватар для FreeTramp
 
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
FreeTramp на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Сообщение от shindax Посмотреть сообщение
+1. Там ещё и компаратор ( CMCON ) имеется, а у "pic16f73 или 874" его нет. Обычная "проблема" при шапочном изучении даташита, MPLAB вообще здесь никаким боком, все глюки в голове.
Да нет, уважаемый. MPLAB как раз-таки боком идет. Попробовал этот же код симулировать в Протеусе из под Мплаба (Debugger/Select Tool/Proteus VSM) Все команды с портами выполняются в лучшем виде. Там где ноги настроены на вход, они и являются входами. Я еще раз повторю, в самой программе я не изменил ни строчки. Все эксперименты делал с одним и тем же кодом. Вот результат для PIC16F676:
MPLAB 8.92 - состояние портов не меняется. Все ноги в низком уровне.
MPLAB 8.56 - состояние портов меняется только у старшей тетрады. Младшие биты = 0.
Симуляция в Протеусе -
Вот картинка:
Миниатюры:
Нажмите на изображение для увеличения
Название: 676.jpg
Просмотров: 23
Размер:	121.8 Кб
ID:	81634  
FreeTramp вне форума  
Непрочитано 22.07.2015, 11:27  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Да, и в железе будет так же, как в Протеусе - ANSEL и CMCON на режим выходов совершенно не влияют. Выход то может быть только цифровым.
Дело именно в симуляторе MPLAB-а. Он передает в регистр состояние входов, а не выходных защелок. А аналоговые входы, повторюсь, дают 0 при чтении.
Но если выбрать симулятор Протеус, тогда регистры портов уже покажут состояние выходных защелок, а не входов.
Аналоговые входы влияют только на результат действий с портом командой bsf (bcf) PORTA (PORTC). При этом все остальные выходы, на которые влияет ANSEL, будут сброшены в 0. А если обновлять порт целиком командой movwf PORTC, то будет все нормально.
NewWriter вне форума  
Непрочитано 07.08.2015, 10:56  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Странности с Mplab Sim и 16F676

Сообщение от NewWriter Посмотреть сообщение
Да, и в железе будет так же, как в Протеусе - ANSEL и CMCON на режим выходов совершенно не влияют. Выход то может быть только цифровым...
Может дадите ссылку в даташите, где об этом сказано? Я вот не уверен, кто именно управляет выводами, пока компаратор включён. Сам я этот момент специально не проверял, но смотрю даташит и вижу таблицу на стр. 41 и там сказано: "There are eight modes of operation for the comparator. The CMCON register, shown in Register 6-1, is used to select the mode. Figure 6-2 shows the eight possible modes. The TRISA register controls the data direction of the comparator pins for each mode." В режимах CM2:CM0 011, 001 и 101 TRISA2 должен настраиваться на выход, как сказано выше. Да, выход цифровой ( а каким ему в этом МК ещё быть ), но управляется он компаратором, а не выходной защёлкой. Чтобы ему стать "просто" цифровым входом/выходом, нужно компаратор отключить: CMCON = 0x07. Надо проверить "в железе". А вот как раз Proteus-у я-бы доверял меньше всего.

Последний раз редактировалось shindax; 07.08.2015 в 11:00.
shindax вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SIM карты при отрицательных температурах firew0rker Делимся опытом 7 30.05.2012 13:33
возможно-ли состыковать PBP и MPLab SIM? an-sver Микроконтроллеры, АЦП, память и т.д 4 24.02.2008 19:26
РАБОТА с MPLAB downkazus Proteus, KiCAD и другие ECAD 10 28.01.2007 13:15
таймер и симуляция в MPLAB Sim lisergin Микроконтроллеры, АЦП, память и т.д 0 16.01.2006 15:35
странности с 16f676 Алекс Микроконтроллеры, АЦП, память и т.д 0 21.09.2005 22:34


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.