![]() |
|
|
Продукция MICROCHIP Технические вопросы по всей продукции Microchip |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 | |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]()
Доброго времени суток!
Может кто подскажет в чем проблема с 12F508? Ситуация следующая: Не все контроллеры программируются, если точнее,.. из 15-и работают более менее только два, а остальные на первых циклах программы виснут... При проверке заметил, что у многих отсутствовала калибровочная константа, так что пришлось востанавливать, но и это не помогло, - всеравно виснут... Схема имеет внешний кварц, так что не знаю каким местом эта константа влияет на работу контроллера. Я перепробовал практически все что знал или на шел в сети, но без результатно... Программу разрабатывал в MPLAB 8 И еще одна примечательная деталь, два работающих процессора начинают работать только тогда, когда у одного включены подтягивающие резисторы, а у другого нет... Так что, помогите! Заранее, спасибо! Цитата:
|
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 14.05.2009
Сообщений: 199
Вес репутации: 242/36 ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Регистрация: 11.12.2007
Сообщений: 37
Вес репутации: 124/39 ![]() ![]() |
![]()
Для теста попробуйте запустить контроллер от внутреннего генератора. Если при пайке применяете флюс, как моете?
|
![]() |
![]() |
![]() |
#5 |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#6 |
Member
Регистрация: 11.12.2007
Сообщений: 37
Вес репутации: 124/39 ![]() ![]() |
![]()
Чудес не бывает. В таких не понятных случаях главное действовать системно. Проверить питание, уровень, помехи, конденсаторы. Далее, цепь сброса. Подтянута ли, нет ли помех, утечки? Далее, делаете простейшую програмулину. Только инициализация и в цикле мигание светодиодом. Кстати, чем програмируете? Проверяете что записалось в контроллер?
|
![]() |
![]() |
![]() |
#7 | |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Регистрация: 16.02.2010
Адрес: Грузия, Тбилиси
Возраст: 33
Сообщений: 2,233
Вес репутации: 2337/75 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Думаю если зависает и при этом всё хорошо - то может подделка? P.S. Со стёртой калибровочной тоже работают. А какая подтяжка на MCLR ? Попробуй на всякий его на питание прямо соеденить. |
|
![]() |
![]() |
![]() |
#9 | |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() Цитата:
Поэтому я начал пошагово все перепроверять. Плату запитал от цифрового блока питания Agilent Перепроверил цепь сброса Основную программу выбросил, а написал тестовую для цикличного мигания светодиодов, - она вставленна в сообщение Результат: Два контроллера работают, остальные висят... Для программирования использую MPLAB ICD2 |
|
![]() |
![]() |
![]() |
#10 |
Member
Регистрация: 11.12.2007
Сообщений: 37
Вес репутации: 124/39 ![]() ![]() |
![]()
Перегрев при пайке? Попробуйте прочитать память нерабочегое контроллера и сравнить с исходной прошивкой. Если совпадает, рыть железо. Нет, контрафакт, неисправный програматор, перегрев и т.д.
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Регистрация: 28.06.2013
Возраст: 46
Сообщений: 675
Вес репутации: 1432/38 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Где в Вашей программе настройка системы прерываний (регистр INTCON)? Где настройка периферийных модулей? В этом и кроется Ваша проблема, а не в пайке. Нужно пройтись по всему даташиту, по описанию всех модулей, и настроить все модули - ненужное выключить, нужное - настроить. И ещё: первая команда после "org 0x00" - явно ни к селу, ни к городу, тем более при использовании внешнего кварца. Зачем калибровать генератор, который не используется? Первой командой хорошо бы поставить запрет прерываний, а уж опосляяяя..... ))))
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Регистрация: 16.02.2010
Адрес: Грузия, Тбилиси
Возраст: 33
Сообщений: 2,233
Вес репутации: 2337/75 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 358
Вес репутации: 992/47 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Если в первом сообщении приведена вся "тестовая" программа, то на мой взгляд проблема в подпрограмме delay2. Там сравнивается состояние TMR0 с переменной time, но сама переменная time нигде не инициализируется, т.е. там может быть что угодно. Одно это делает длительность выполнения delay2 неопределенным. Но есть еще более важный фактор, который может приводить к зависанию - примененный метод выхода из подпрограммы по флагу "Z", т.е. по равенству значений. При указанных в листинге настройках регистра option таймер TMR0 инкрементируется каждые 4 командных цикла, а длительность цикла проверки в подпрограмме delay2 - 5 командных циклов. Т.е. "равенство" значений TMR0 и time вполне можно "проскочить". Вывод - выход их цикла нужно производить по флагу "C", т.е. по превышению значения в таймере контрольного значения.
Есть и другие замечания к "тестовой программе", но в первую очередь исправьте вышесказанное. |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Регистрация: 25.01.2010
Сообщений: 113
Вес репутации: 257/34 ![]() ![]() ![]() |
![]() Цитата:
только это не объясняет почему из 15 два работают и вопрос к wanderer_v как определили что "а остальные на первых циклах программы виснут..." как определили что первые циклы выполняются также хотел обратить внимание что данный микропроцессор стартует при сбросе не с нулевой ячейки а с ячейки 0x1FF в которой записана калибровочная констанат в формате команды MOVLW .xx после выполнения который счетчик команд переполняется и начинается выполнение программы с нулевого адреса, так что хорошо если калибровка затерта на 0xFFF это по мойму XORLW вроде не чего страшного не должно произойти а вот если там будет код GOTO или что то из этой области то результат будет как раз выше приведенный. а из практики по 12f508 на тысячу обычно брак не более 2-3 шт.присутствовал |
|
![]() |
![]() |
![]() |
#15 | |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() Цитата:
переменная time определенна delay2 clrf TMR0 movlw .39 movwf time loopa movf TMR0,W subwf time,W btfss STATUS,2 goto loopa retlw 0 |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Регистрация: 04.02.2012
Адрес: Хабаровск
Сообщений: 638
Вес репутации: 1005/39 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF & _XT_OSC
count equ 07H count2 equ 08H count3 equ 03H time equ 08H time2 equ 08H status equ 3 zerobit equ 2 Последний раз редактировалось БОЦМАН; 02.05.2014 в 04:25. |
![]() |
![]() |
![]() |
#17 | |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() Цитата:
Если игнорировать данное сообщение, то контроллер вообще не запускается, в связи с чем я вручную добавляю произвольное значение этой константы 0х3420 При таком расскладе система предупреждает, что не правильная константа 0х00 будет заменена на 0х3420 О результате я уже писал... Аналогичная ситуация происходит и в отладчике, где так же необходимо указать величину константы. На этом злополучия не заканчиваются... При попытке отладить программу выясняется, что не возможно установить точки остановки. Система предупреждает, что данный параметр невозможен. Поэтому я не могу точно посмотреть состояние микроконтроллера, а только опосредованно догадываться на каком этапе он встал... |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Регистрация: 04.02.2012
Адрес: Хабаровск
Сообщений: 638
Вес репутации: 1005/39 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Пора рассвирепеть...
У "вменяемых" более новых pic12 та же цоколевка. |
![]() |
![]() |
![]() |
#19 |
Senior Member
Регистрация: 16.02.2010
Адрес: Грузия, Тбилиси
Возраст: 33
Сообщений: 2,233
Вес репутации: 2337/75 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#20 |
Junior Member
Регистрация: 30.04.2014
Сообщений: 18
Вес репутации: 100/16 ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#21 |
Senior Member
Регистрация: 16.02.2010
Адрес: Грузия, Тбилиси
Возраст: 33
Сообщений: 2,233
Вес репутации: 2337/75 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#22 |
Senior Member
Регистрация: 18.08.2007
Адрес: M.O.
Возраст: 58
Сообщений: 2,190
Вес репутации: 2921/89 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#23 | |
Senior Member
Регистрация: 18.08.2007
Адрес: M.O.
Возраст: 58
Сообщений: 2,190
Вес репутации: 2921/89 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Этот специальный хедер имеет специальную микросхему со специальным обозначением -ICD со специально увеличенным числом ног. ![]() Без этой приблуды стоимостью примерно 25...30 долларов никакой отладки в железе не будет. |
|
![]() |
![]() |
![]() |
#24 |
Super Moderator
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,698
Вес репутации: 5252/159 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#25 |
Senior Member
Регистрация: 25.01.2010
Сообщений: 113
Вес репутации: 257/34 ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с прерыванием от UART на ds pic 30f2011 | Zlodei | Продукция MICROCHIP | 2 | 14.08.2011 01:33 |
Проблема с отправкой SMS | Asdn2009 | Общетехнические вопросы | 1 | 07.07.2009 04:56 |
Проблема с запуском PIC18F45J10 | teasn0 | Продукция MICROCHIP | 5 | 11.02.2009 15:53 |
проблема с обновлением pickit2 | ctef | Продукция MICROCHIP | 13 | 25.08.2008 18:16 |
Проблема с PIC18F452 | MaxPIC | Продукция MICROCHIP | 4 | 09.02.2008 21:47 |