При программировании не забывайте про константу(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 + описание русс + драйвер для ХР (вообще и без него работает, но могут быть нюансы…)

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

Далее будет…

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



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

pic12F629 - 3490, 3430, 3438, 3440



   
Serg7 # 32
 
 
Pic 12F629
Константа 3434


   
zaa-1978 # 33
 
 
даже незнал. очень благодарен будем знать.


   
bidavova # 34
 
 
підкажіть будьласка що неправильно роблю - программатор jdm extra pic v 2.0
pic16f628a, ic-prog 1.06b, настройкі программи робив по інструкціїївсе як книжка пише! при програмуванні процес проходить 100% а при читанні всі 0
ср - виключене, меню вибра када защити як на скріншоті… ненахожу в своїй программі хоч і версії тіж самі по. нашов в інтернеті що для даної мс потрібно pgm посадити на землю… - результат той же sad


   
Nikolai4 # 35
 
 
к каким выводам подключать см. тут


   
Leosis # 36
 
 
я немогу программировать пики! Если можно скиньте пожалуйса самый простой программатор для PIC16F628/PIC16F628A cry


   
zaa-1978 # 37
 
 
есть вот такой http://aes.at.ua/publ/23-1-0-224. тут на сайте их много поищи. а чисто для одного контроллера нету.


   
LDZ-UI # 38
 
 
Не найдено значение установки Осциллятора.
Вы настаиваете на использовании Установок из файла (3FFFh) ? такая надпись при програмировании выскакивает а потом -ошибка програмирования кода по адресу 0000h! это с pic12f629 все три микрухи причём после прочтения все константы 3FFF как ивсё остальное.Програматор icprog105 , перед этим прошил без всяких проблем pic16f628 , термометр сразу зафурычил ,на радостях выписал три 629 и вот бьюсь с ними без успеха . И ещё длина кабеля может повлиять (COM9 ,80 сантиметров),выручайте опыта ещё не нароботал .
javascript://


   
LDZ-UI # 39
 
 
таже проблема и с pic16f876


   
zaa-1978 # 40
 
 
слушай а почему сом9? ведь он только до сом4 токо опредиляет.
да и провод лудше покороче. или используй удлинитель.


   
LDZ-UI # 41
 
 
Дружище в смысле до COM4 ,не знаю как добавить фото так-бы выложил .Вот поднял журнал радио за 2004 там подробно с самых азов програмирование через LPT , завтра собиру и попробую что получится ,отпишусь потом , если есть, что подсказать буду рад. biggrin


   
zaa-1978 # 42
 
 
спроси в чате у Nikolai4. ему скинеш а он сюда добавит!!!


   
Leosis # 43
 
 
Спасибки за ссылку!
Буду пробовать!
А этот прог точно Пик16Ф628 пишет?


   
zaa-1978 # 44
 
 
да точно там есть подключение.вобщем нада читать что расказивать.


   
zaa-1978 # 45
 
 
да вот тут посмотри тут какраз самый простой
http://aes.at.ua/publ/9-4-0-37-0-1269623485?lswRf0


   
mozg # 46
 
 
Ребята собрал ДУ на 3 команды на 150 метров там стоит pic12f675 незнаю как ее прошить. может у кого есть программатор что-бы прошить. Кому интересно есть очень много схем по ДУ от 3х до 12 команд дальностью до 1км. я с города Киеваю


   
Nikolai4 # 47
 
 
в таком случае надо писать в мини чате, там тебя больше людей увидет! и может найдется кто-то из Киева. по поводу проблем то обсуждать надо на ФОРУМЕ!!!!! будешь обсуждать тут забаню.


   
ArturasRam # 48
 
 
спасибо за статью smile smile smile


   
kaut # 49
 
 
Народ, собрал программатор, правда по схеме ДУБРОВЕНКО из журнала Радио. Extra-PIC. Прошил PIC16F628A - нормально. Прошил PIC12F675 - нормально. А PIC16F84A не прошивается. Может есть какой-то секрет?
Pony ваще не шьет ничего, win800 тоже. А IC-PROGом нормально, кроме PIC16F84A. Кто что скажет?


   
jheka # 50
 
 
Подскажите кто может купил PIC16F84A при считывании выдает 3FFF ? Вопрос есть ли у него константа вообще или нет


   
Nikolai4 # 51
 
 
нету


   
jheka # 52
 
 
Еще такой вопросик возник! Начинал прошивать PIC16F84A прошиват выдает ошибку в конце 0000h ?что делать , после того как он прошивает я его начинаю считывать он мне выдает все 3FFF что это может быть или он на самом деле прошивает


   
Nikolai4 # 53
 
 
программатор точно рабочий? все настройки правильные, вообще рыть надо в программаторе


   
jheka # 54
 
 
ДА ВРОДЕПРАВИЛЬНО А ЕСТЬ СХЕМА ПРОГРАММАТОРА НА ПОДОБЕ ЧО НИБУДЬ ПРОСТЕНЬКОЕ (ПРОГРАММАТОР ) ТАК ЧТОБ УБЕДИТСЯ ЧТО ТОТ НЕ ГЛЮЧИТ


   
Nikolai4 # 55
 
 
вот например


   
jheka # 56
 
 
спасибо


   
jheka # 57
 
 
там почему то резисторов на плате нет а на схеме они есть или они smd


   
-=Neo=- # 58
 
 
Как прошить PIC16F73??? аналогично???


   
zaa-1978 # 59
 
 
да! wink


   
uniko # 60
 
 
помогите пожалуйта с пиком, случайно поставил галочку на СР и CPD на PIC12F629. Как я понял бит защиты должен стирется как и вся память, но на практике не получилось. Вроде пик то дешевый просто до Нового года не получится преобрести для эксперементов, а в переди 10 дней каникул. Как выйти из положения спасибо заранее.


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25