Главная Мой профиль Регистрация Выход Вход
Приветствую Вас Гость | RSS
Вторник
19.02.2019
19:16
Мы перееxали : www.bezkz.su
Меню сайта
Главная » Статьи » Программаторы » PIC microchip

Прошивка PIC

При программировании не забывайте про константу(osccal), которая записана в последней ячейке данных пика.

Оsccal - представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ...

При покупке микроконтроллера (МК) считайте с него данные и запишите константу на листочек или на микроконтроллер!

Это очень важно т.к. если удалите константу при следующем программировании, pic работать не будет либо будет, но не так как должен.

В МК старшего семейства константы нету, так, что не удивляйтесь.

На рисунке ниже показано место расположения этой константы:


Константа может не пригодится когда используется внешний кварц.

В процессе прошивки (когда нажали уже на кнопку "прошить") может (а может и не спросить) вылезти следущее сообщение (см. рис.ниже ), надо нажимать НЕТ. При использовании Icprog 1.06C (я ее использую) всегда спрашивает, заменить либо нет.

Когда вы загружаете прошивку в программу то в последней ячейке памяти выставляется "3FFF" т.к. в прошивке значение вашей константы не указано (она у каждого МК своя)!

Вот программа и спрашивает будете использовать константу "3FFF" или "3424".

Видео - как прошить PIC от начала до конца!

В микроконтроллерах PIC16F628, PIC16F628A, PIC16F630 константы нету, проверено на практике.

В PIC16F676 константа есть!

Видео о прошивке PIC16F676. В видео продемонстрирован бит защиты, прошивка с ним и без него.


При использовании внешнего кварца (или RC) константа ненужна, можно в таких схемах использовать pic в которых была утеряна константа!

Биты конфигурации:


WDT - сторожевой таймер
PWRT - задержка для стабилизации генератора при вкючении питания
MCLR - использовать вход внешнего сброса микроконтроллера (reset)
BODEN - задейств-ть сброс при снижении напр. питания
CP - защитить код программы от считывания
CPD - защитить содержимое EEPROM от считывания


  При написании программы для МК, программист, прежде всего, выставляет бит защиты, далее программа (исходник) компилируется (обычно в расширение .HEX) и зашивается в МК, следовательно в отличии от AVR, выставлять биты конфигурации при прошивке pic-ов НЕ НАДО!

В PIC предусмотрен бит защиты:

При прошивке микроконтроллера, если установить (включить) бит защиты , то при считывании данных (после прошивке) выдаст программа ошибку! В этом и заключается смысл бита защиты - невозможно передрать прошивку с микроконтроллера. Эта функция очень удобна для программистов. Добустим Вы написали прошивку и решили другим продавать ее, но если Вы продатите просто прошивку HEX то на следующий день она облетит весь интернет и Ваши авторские права будут нарушены, но а если Вы зашьете в ПИК прошивку и поставите бит защиты, то больше никто не сможет скопировать прошивку!  

На рисунке ниже показан бит защиты и ошибка которая выскакивает после прошивки: 

Если после прошивки, с использованием бита защиты, считать данные с МК то вот, что получится:

 

Код Защиты

Особенности для модификаций с буквой "А" pic16F84A (статья дописывается)

 


Если утеряна константа, что делать?

Способ первый: пробывать поставить от другого МК константу или наугад :) , мы знаем, что все константы начинаются на 34 далее две цифры xx которые надо угадать.

Способ второй: порадует владельцев программатора  PICKit 2, появилось приложение для восстановления калибровочной константы для PIC16F630/676, читать тут.

Способ третий: Восстановление OSSCAL для 12F629 & 12F675 (проверенный и простой )

С целью оказания помощи тем, кто потерял константу и хочет ее восстановить, оставляйте в комментариях тип МК и константу.



Для прошивки можно использовать бесплатную программу, наверное самая популярная - icprog, версия последняя 1,6В.

Скачать icprog106B + описание русс + драйвер для ХР (вообще и без него работает, но могут быть нюансы...)

Настраивается программа индивидуально к каждому программатору в отдельности!

Далее будет...

Обсуждения на ФОРУМЕ

Категория: PIC microchip | Добавил: Nikolai4 (20.10.2009)
Просмотров: 58290 | Теги: как прошить pic, прошивка с помощью ic-prog, как прошить микроконтроллер, прошивка pic | Рейтинг: 4.9/9
Всего комментариев: 951 2 3 ... 6 7 »
1 Nikolai4  
pic12F675 - 3438 или 3440

pic12F629 - 3488 или 343C


27 megavolt85  
Nikolai4 респект и уважуха +1000000. Шил впервые микроконтролёр и естественно затёр OSCAL. pic12f675 ,значение 3438 решило мою проблему smile smile smile

31 nescaf  
Ещё OSCСAL:
pic12F675 - 3444, 343с

pic12F629 - 3490, 3430, 3438, 3440


2 Дрич  
а я купил мк а там все нули,это чего его в магазине уже прошили?

3 Nikolai4  
если вы купили новый МК, НОВЫЙ ! то при считывании данных все значения будут 3FFF (кроме последней ячейки с константой) см. первый рис.

4 Intenso  
у меня и последний 3FFF Мк PIC16F628A наугад теперь ставить а то выдаёт ошибку при программировании "Ошибка программирования Кода по адресу 000h"

5 Nikolai4  
по поводу ошибки выше в статье есть, во общем пробуйте его в схеме, должен заработать, пробуйте и отпишите

6 Дрич  
я купил новый , нажимаю читать всё и у меня вылезают все 0 или все 3fff константы нигде не видно. пробовал pic 16f628 и pic 16F84a. прогромматор самодельный, не факт что правильно работает,наверное это из за прогромматора, да? wacko

программатор нерабочий


7 Nikolai4  
если все 0 при первом (новый-чистый) считывании то программатор не рабочий или неправильно настроен.
при первом считывании должны все быть 3FFF
в 16f628 константы нету, про 16F84a не знаю.

8 Дрич  
спасибо, а то я уже 2 программатора собрал и разворотил из за константы в 628-мом

9 Дрич  
А что такое ОШИБКА ПРОГРАММИРОВАНИЯ КОДА по адресу 0000h ?

10 Nikolai4  
ошибка программирования - не сталкивался
ошибка проверки - после прошивки программа проверяет как она прошила микроконтроллер...результат выдает,иногда даже после этой ошибки все работает

80 Sp@mmerset64bit  
Это получается нормальное дело?Тогда может я уже давно прошил свой МК...

11 Дрич  
А на что влияет задержка ввода вывода?

12 Nikolai4  
на качественное программирование МК...

13 Rodjer  
Сами проги расчитаны даже на самые "тормозные компы"... а задержка ввода - это грубо говоря подгон под Ваш комп. Сначало ставите МАКС. Если МК пишеться с ошибками понемногу уменьшаете... пока не будет нормально записываться.

"ОШИБКА ПРОГРАММИРОВАНИЯ КОДА по адресу 0000h ?" - причины такого сообщения:
-программатор не видит программу
-контроллер не может "связаться" программатором
-каюк контроллеру(сам с таким встречался,особенно с "простыми программаторами").

Я сам пользуюсь программой icprog, а программатор EXTRA-PIC. Кому надо могу выслать документацию.


14 Rodjer  
кстати...без "драйвера для ХР" - не сказать, что будет всё работать... покрайней мере большинство контроллеров пишуться с ошибками. Хотя программатор этого не "видит" при проверке кода... Win98(например) и ХР - используют разные библиотеки управления портами. В общем в работе разница незаметна, но иногда сказывается.... cry

1-10 11-20 21-30 ... 51-60 61-65
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Важное:
Статистика
Всё для вебмастера




 При копировании материалов сайта ссылка на сайт обязательна
Хостинг от uCoz