Миграция проектов на ПЛИС новых производителей

16F687 проблемы с портами

Страница 1 из 2
Новичок
 
Регистрация: 28.01.2010
Сообщений: 12
Репутация: 10
 
28.01.2010 19:26 #1
Применял МПЛАБ 8 и симулятор Протеус7,6. Проблема состоит в том что настроил портС на выход - 0 и 1 бит для передачи данных, реализовано программно. Установив 0 бит высокий уровень (bsf) через пару циклов устанавливаю высокий уровень на 1 бите, при этом 0 бит сбрасывается в ноль . Пробовал подтягивать к + резисторам - бестолку. Про фишку чтение-модификация-запись читал, но осциллограф показывает на момент сброса устойчивый высокий уровень. Изначально писал под 12 РИС всё работало и в симул и на реальной схеме. Потом адаптировал под 16Ф676, не хватило памяти перешёл на 687 - даташита на РУС нет млин. ХЕЛП по портам?
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
28.01.2010 20:10 #2
Если порт нагружен на низкоомную нагрузку, так что значительно садится напряжение на выходе, возможны такие глюки. Сам сталкивался , пока не научился обходить.
Попробуй такую конструкцию.
BSF TMP_REG,0 ;устанавливаем или сбрасываем нужный бит
MOVF TMP_REG,W
MOVWF PORTC ; изменить значение порта
Все действия производим с промежуточным регистром а затем всю подготовленную информацию отправляем в порт. При управлении портом это придется делать несколько раз.
Еще попробуйте на выход порта последовательно с нагрузкой включить резистор 0.3-1кОм.
Протеусом не пользуюсь , а на практике помогает.

даташита на РУС есть по среднему семейству на MICROCHIP.RU и точно есть по портам http://www.microchip.ru/lit/?mid=1x0
Оценка
Новичок
 
Регистрация: 28.01.2010
Сообщений: 12
Репутация: 10
 
28.01.2010 20:43 #3
Порт висит, без нагрузки, только осцил, резюком вешал на плюс - всё равно в ноль, прожетучные действия не хотельсь бы надо быстро передать 5 байт но не критично, Промежуточную пересылку беру на заметку. Задействовано АЦП, что интересно в предыдущих пиках регистр ANSEL находится в 1 банке так и в программе я обращался к нему, а в 687 во 2 банке а я к нему с 1 банка и работает АЦП
687 отличен даж от 676 по регистрам общий даташит не катит, мож чё отключить надо да не знаю я?
Оценка
Новичок
 
Регистрация: 28.01.2010
Сообщений: 12
Репутация: 10
 
28.01.2010 22:27 #4
кажись заработало , проблема была с банками, поскольку использовал АЦП и EEPROM
Оценка
Новичок
 
Аватар для BOB51
 
Регистрация: 25.11.2008
Адрес: ДОНЕЦК
Сообщений: 313
Репутация: 58
48 13
0 0
 
29.01.2010 10:48 #5
На то они и PICи!
Следить надо и за банками РОН и за границами страниц памяти программ
Оценка
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
29.01.2010 12:28 #6
Я для себя на каждый прос составляю карту памяти. Могу пример кинуть. Когда все распишешь тогда меньше вероятность ошибок.
Оценка
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
29.01.2010 12:30 #7
Вот файл описания, правда на PIC18F252, но это как пример.
Вложения
Тип файла: txt описание.txt (13.1 Кб, 2 просмотров)
Оценка
Новичок
 
Регистрация: 28.01.2010
Сообщений: 12
Репутация: 10
 
29.01.2010 20:31 #8
Цитата:
Сообщение от smart_pic
Вот файл описания, правда на PIC18F252, но это как пример.
Тобиш регистрам присваиваеш свои имена, не во всё вник, но как бы тож типа того делаю с переменными регистрами, а системные оставляю как есть.
Надо ещё по поводу Протеуса поспрошать, невветка...
Оценка
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
01.02.2010 10:35 #9
Системные регистры расписываешь как в даташит применительно к конкретному процу . Это для того чтобы если задашь левое имя регистра или бита, компиятор дал ошибку.
Свои регистры обозначаешь как удобно. У каждого свои ассоциации с названиями, поэтому такие имена.
Ну еще это дает возможность видетьвсю карту памяти и где чем занято.
Оценка
Новичок
 
Аватар для BOB51
 
Регистрация: 25.11.2008
Адрес: ДОНЕЦК
Сообщений: 313
Репутация: 58
48 13
0 0
 
02.02.2010 17:58 #10
... для стандартных имен существует файл "имя мкроконтроллера".inc
остальное - личное творчество разработчика...
повторять то, что уже есть в "имя мкроконтроллера".inc нет смысла - лишнее загромождение информацией ( если не идет речь о "картах памяти" ), но для меня они выглядят несколько иначе, чем описание.txt....
хоша... как кому удобнее...
Оценка
Ответ
Страница 1 из 2
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 23:03.
Обратная связь РадиоЛоцман Вверх