|
Как запрограммировать PIC, Нихрена не получается |
|
|
|
Oct 20 2005, 19:54
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 22-07-05
Пользователь №: 7 023

|
Здравствуйте. У меня проблема. Есть PIC16f877A.Полная его маркировка PIC16F877A-I\PT.То есть по даташиту корпус TQFP.Это одно тоже что и QFP?! (Мне требуется для определения где какие выводы находятся). Есть программка (уже готовая к "прошиванию", т.е. в hex и bin файлах). Также имеется программатор PICPROG.В силу того, что я не могу воткнуть МК в сам программатор напрямую (на программаторе панелька ДИП), мне потребовалась переходная панелька.С этими панельками напряг - дорогие.Потому достать смог только на 44 ножки вместо 40->>>>не подходит к программатору.Зато на самом программаторе есть 7 выводов для внутрисхемного программирования.Решил идти таким путём.При помощи даташита (точнее схемки выводов мк) соединил эти 7 контактов. MCLR,VDD,SCK,SDO,SDI - нашёл и соединил без проблем.Вывод программатора GND соединил с Vss. Правильно сделал!? Вывод OSC...На даташите их 2 отыскал. osc1,osc2 - соединил первый.Тот который OSC1\CLKIN.Правильно поступил?! По инструкции подключил программатор к компу.Установил PicProg for Windows. Нажимаю кнопку "Проверка на чистоту" - устройство не чистое (2,0V). "Чтение" - В редакторе (там где отображается содержимое памяти мк) все нули.Это тоже, вроде, неправильно?! Ладно поехали дальше. Загружаю в буфер файл программы."Программировать"-Чз некоторое время выскакивает окошко "Информацию можно дописть после стирания".Жму "Продолжить". Доооолго, около пары минут, программатор "Прогрраммирует". Потом "Верификация" "Ошибка верификации 5,5V" "Верификация" "Ошибка верификации 2,0V" Читаю мк - опять выдаёт все нули.
Помогите, плс.Я думаю, что либо неправильно соединил программаторские выводы с мк ножками.Либо неправильно настроил PicProg.
Спецы, дело стоит - плата ждёт мк на место. Не дайте им умереть друг без друга.=)
|
|
|
|
|
 |
Ответов
(1 - 8)
|
Oct 21 2005, 06:55
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 12-10-05
Пользователь №: 9 540

|
Мне кажется, у вас что то не так. SDO, SDI - это когда интерфейс SPI. У ПИК-а обычный serial, похожий на I2C. У него должны быт Vdd, GND, Vpp, SCL и SDA. У PIC16F877A - : Vdd - 11,32 GND - 12,31 Vpp - 1 SCL - 39 SDA - 40
|
|
|
|
|
Oct 21 2005, 13:04
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 22-07-05
Пользователь №: 7 023

|
Цитата У данного МК 40 выводов в корпусе PDIP и 44 в остальных корпусах. Где какой вывод посмотрите в описании МК с сайта microchip.com . pic16f87x.pdf - имею только это.На сайте такой же лежит.Маркировка корпуса - PT, что по документации есть TQFP.Правильно ли я смотрю в даташите расположение выводов для QFP!? Цитата Vdd - 11,32 GND - 12,31 Vpp - 1 SCL - 39 SDA - 40 alek_evc, это для дип40 корпуса - читаем внимательней. Но всё же нашёл на своём мк такие выводы.SCL=RB6.SDA=RB7.GND,Vpp.Этих выводов достаточно будет для программирования? Короче.Когда у меня подключены.GND,Vpp,SCL,SDA, а также OSC,Vdd,SDI,то читает.Пытаюсь программировать - пишет только столбец (в редакторе). Цитата PIC16F877A поступает часто с "нулями" . Перед программированием надо стереть.Обращаю внимание PIC16F877 и PIC16F877A программируются разными командами.Если в PICPROG только PIC16F877 , то PIC16F877A не зашьешь. Лучше использовать высоковольтный режим программирования. RB6,RB7 и MCLR. Нули затёр. В PicProg PIC16F877.А моего PIC16F877A нет.Что чделать можно?
|
|
|
|
|
Oct 21 2005, 15:46
|

Участник

Группа: Свой
Сообщений: 73
Регистрация: 13-07-05
Пользователь №: 6 757

|
Цитата pic16f87x.pdf - имею только это.На сайте такой же лежит.Маркировка корпуса - PT, что по документации есть TQFP.Правильно ли я смотрю в даташите расположение выводов для QFP!? PIC16F877A DataSheet: shttp://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf Там будет таблица (что-то вроде PINOUT DESCRIPTION) где описано назначение каждого выода и соотв. ему номер ноги для каждого типа корпуса. Цитата Но всё же нашёл на своём мк такие выводы.SCL=RB6.SDA=RB7.GND,Vpp.Этих выводов достаточно будет для программирования? Короче.Когда у меня подключены.GND,Vpp,SCL,SDA, а также OSC,Vdd,SDI,то читает.Пытаюсь программировать - пишет только столбец (в редакторе). Для программирования по протоколу ICSP необходимо также подключение к напряжения программирования к выводу _MCLR микроконтролера (для младшего подсемейства подавалось около 13В, для этих сколько не помню) , может именно в зтом и есть проблемма? Также меня смущает наличие 3х выводов для данных у программатора: SCL,SDA,SDI вместо 2х - DATA и CLOCK. Проверьте внимательно этот разъем и его предназначение! И вообще, быть может, Вам будет проще не угадывать, а попросту спаять простой прогамматор для Вашего МК (например PonyProg (http://www.lancos.com)) ?
|
|
|
|
|
Oct 21 2005, 20:27
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 22-07-05
Пользователь №: 7 023

|
Всем спасибо.Скачал с сайта телесистем «PICPROG для Windows» Beta 7 (ppw_b7.exe) .Те последнюю версию программы (в которой уже была включена мс 16f877A).Всё работает.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|