реклама на сайте
подробности

 
 
> Как запрограммировать PIC, Нихрена не получается
msgm
сообщение Oct 20 2005, 19:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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.

Спецы, дело стоит - плата ждёт мк на место. Не дайте им умереть друг без друга.=)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
vm1
сообщение Oct 20 2005, 20:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 978



Почему SCK,SDO,SDI ?
Что через RB6,RB7 уже не шьют?
Go to the top of the page
 
+Quote Post
_Alfred_
сообщение Oct 21 2005, 00:02
Сообщение #3


Участник
*

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



Проверьте правильность подключения МК к программатору - для внутрисхемного программирования среднего подсемейства по ротоколу ICSP, для 40 выводных МК схема подключения выглядит так:

Вывод программатора - Вывод МК:
Vpp - _MCLR
Vdd - Vdd
Gnd - Vss
DATA - RB7
CLOCK - RB6

У данного МК 40 выводов в корпусе PDIP и 44 в остальных корпусах. Где какой вывод посмотрите в описании МК с сайта microchip.com .

Также Вы можете пойти другим путем, и не использовать внутрисхемное программирование, а попросту сделать переходник с 40PDIP на Ваш тип корпуса, который будете подключать к программатору.

Еще раз повторюсь: обязательно проверьте расположение выводов для Вашего тапа корпуса (конкретно для Вашего МК не знаю, на бывают случаи что выводы не совпадают!).
Go to the top of the page
 
+Quote Post
upc2
сообщение Oct 21 2005, 05:31
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



PIC16F877A поступает часто с "нулями" . Перед программированием надо
стереть.Обращаю внимание PIC16F877 и PIC16F877A программируются
разными командами.Если в PICPROG только PIC16F877 , то PIC16F877A не
зашьешь. Лучше использовать высоковольтный режим программирования.
RB6,RB7 и MCLR.
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 21 2005, 06:10
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Для программирования PIC, мне приходилось использовать программу IC-Prog105C и программатор Solo GWR.
Иногда программирование не удавалось по причине недостаточной величины задержки (I/O Delay) COM порта. Возможно и у Вас причина именно в этом, т.к. 'симптомы' очень схожи.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
alek_evc
сообщение Oct 21 2005, 06:55
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 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
Go to the top of the page
 
+Quote Post
msgm
сообщение Oct 21 2005, 13:04
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 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 нет.Что чделать можно?
Go to the top of the page
 
+Quote Post
_Alfred_
сообщение Oct 21 2005, 15:46
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 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)) ?
Go to the top of the page
 
+Quote Post
msgm
сообщение Oct 21 2005, 20:27
Сообщение #9


Участник
*

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



Всем спасибо.Скачал с сайта телесистем «PICPROG для Windows» Beta 7 (ppw_b7.exe) .Те последнюю версию программы (в которой уже была включена мс 16f877A).Всё работает.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01406 секунд с 7
ELECTRONIX ©2004-2016