Работа Pic16F876 и Pic16F876А
|
|
xvovanx |
Дата: Ср, 13.11.2013, 22:57 | Сообщение # 1 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
332
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Вопрос про 16F876 и 16F876А. Проги отлично работают на 876, эти же проги скомпилированные и запрограмированные под 876А (фьюзы, конфигурация) наотрез не хотят запускаться на 876А в железе (в Протеусе всё гуд). Сколько ни бился ни на 873А ни на 876А не могу запустить. Так во все свои поделки и ставлю пики без буквы А. И в програматоре и в компиляторе конечно выбираю соответствующий пик, прошивка прописывается и считывается без ошибок. Компараторы (в А) не использую, по умолчанию они отключены, но и отключал принудительно. Пик (А) молчит. Что не учёл?
P.S. Даташиты уже "выучил наизусть"
|
|
|
|
anatol |
Дата: Ср, 13.11.2013, 23:39 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
К даташитам только это http://ww1.microchip.com/downloads/en/DeviceDoc/39591a.pdf Цитата 1. Изменена спецификация на программирование, поэтому программатор должен поддерживать контроллеры PIC16F87xA. 2. В PIC16F87xA добавлены два компаратора с программируемым источником опорного напряжения. Это новшество не требует программных изменений, так как по включению питания или сбросу контроллера компараторы отключены и не влияют на работу контроллера. P.S. Однако рекомендую ВСЕГДА проводить начальную инициализацию рабочих регистров. 3. В PIC16F87xA изменен принцип записи в память программ. Если раньше в контроллерах семейства PIC16F87x можно было записать отдельное слово, то в PIC16F87xА запись производится блоками по 4 слова. Таким образом, для изменения одного слова в памяти программ нужно сначала считать 4 слова, изменить одно из них, а затем записать целый блок. 4.Изменено назначение битов конфигурации, а именно а) отвечающих за защиту кода от внешнего считывания; б) разрешающих запись в программную память (самопрограммирование). Вместо двух бит блочной защиты памяти программ в контроллерах PIC16F87xA используется один бит на всю программную память. Вместо одного бита разрешения записи в память программ для PIC16F87x (режим самопрограммирования) в контроллерах PIC16F87xA используются два бита, определяющие разрешенную для модификации область программной памяти.
Сообщение отредактировал
anatol - Ср, 13.11.2013, 23:40
|
|
|
|
MiXaS |
Дата: Чт, 14.11.2013, 09:28 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Цитата anatol ( ) 1. Изменена спецификация на программирование, поэтому программатор должен поддерживать контроллеры PIC16F87xA.
Если Вы используете JMD-программатор, то лучше перейти на pickit2_lite. Тоже устаревший, но работает в разы лучше. Стоимость самодельного USB программатора от микрочип смешная. Работает со всеми приложениями от microchip.
|
|
|
|
xvovanx |
Дата: Чт, 14.11.2013, 10:34 | Сообщение # 4 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
332
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Спасибо за подсказки, но... Даташит перехода на "А" был "выучен наизусть" уже как полгода назад, отключение компараторов принудительно (CMCON=7) не помогает и в программаторе больше чем уверен (уже не первый лично созданный и собранный гибрид JDM+PonyProg для корректных уровней 0/5V -RS232) - читает и записывает без ошибок все вплоть до 18пиков. Какой то заколдованный круг. Может ещё какие идеи? Я вот подумал, а нет ли связи с тем, что у меня (с соседней ветке писал) некорректная частота работы пика (F в 4 раза выше, т.е у меня при 4МГц pause4000=1сек, вместо pause1000=1сек) и МК(А) как бы на этих 16Мгц не запускается. Надо будет и в проге и на плате поставить кварц на 1 МГц, уж на "некорректных" 1x4=4 мегах должен заработать полюбому.
Сообщение отредактировал
xvovanx - Чт, 14.11.2013, 11:04
|
|
|
|
MiXaS |
Дата: Чт, 14.11.2013, 13:57 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Вполне возможно, что Ваш компилятор совсем негодный..
Да это хороший программатор оссобенно совместно с прогой winpicpgm_1.2.2.0, но уже устарел! Сильно!
Когда Вы будуте писать код под 18f...и заливать его с помощью JMD, то через время скажете: "Че так долго?!"
PicKit2 работает быстрее и поддерживает низковольтное программирование + у него ещё целая куча бонусов... его можно еще использовать как UART to USB конвертер...
Сообщение отредактировал
MiXaS - Чт, 14.11.2013, 13:59
|
|
|
|
xvovanx |
Дата: Чт, 14.11.2013, 19:00 | Сообщение # 6 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
332
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Да я в курсе, что это старье. Чуть похожий программатор лет 10-15 назад ещё собирал для программирования Сателитных карточек
Сообщение отредактировал
xvovanx - Чт, 14.11.2013, 19:01
|
|
|
|
AndrF |
Дата: Чт, 14.11.2013, 19:41 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Нет там никаких сложностей - только с 876A и работаю. Программатор - Pickit2.
P.S Сейчас пришел заказанный через ebay Pickit3 за 1441 руб, но его еще не пробовал...
|
|
|
|
mikhail09p |
Дата: Чт, 14.11.2013, 23:10 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
И я с 876A работал. И с 874а тоже без проблем. Сейчас перешёл на 886.
|
|
|
|
xvovanx |
Дата: Пн, 19.05.2014, 17:11 | Сообщение # 9 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
332
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Да, все дело оказалось в пограмматоре . JDM прописывает и считывает все без ошибок, но возможно что-то не так у него с конфигурацией при прошивке МК с буквой А. На PicKit2 все "в лёт" заработало в железе, так что буду скупать в магазинах процессоры с буквой А (дешевле)
|
|
|
|