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

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

Далее будет…

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



   
Nikolai4 # 121
 
 
linomax, читай описание на микроконтроллер, внешний кварц должен быть предусмотрен программистом т.к. настройки делаются при написании программы, какой кварц выбирать внутренний или внешний....
А вообще то вопросы на форуме задаем, ссылка в статье


   
linomax # 122
 
 
Nikolai4,Спасибо за информацию!


   
Hungry fox # 123
 
 
Всем привет! Кто нибудь знает адрес в интернете, где размещён список с подробным указанием, какие микроконтроллеры имеют константу OSCCAL, а у которых её нет в наличии? А то не где немогу найти подобные списки, чтобы лишний раз не опасаться покупая новый микроконтроллер. Продавцы магазина радио-электроники то-же этого не знают..


   
ANTIK7 # 124
 
 
спосибо Nikolai4, очень хорошая статья . сам впервый раз програмировал контролер затер осцилятор,нашел даную статью-зделал как тут расказано но на другом новом контролере pic12f629 и при считывании микросхемы выдает 3fff даже в последней клетке.как это можно понять? програматор заводской ПОНИ ПРО 2000 програма Icprog


   
Nikolai4 # 125
 
 
попробуй несколько раз подряд считать и посмотреть


   
ANTIK7 # 126
 
 
пробывал recourse таже петрушка, немогу понять вчем дело везде пишется что данный програматор их шет belay. а где еще можно посмотреть данное значение осцилятора.


   
vanchellos # 127
 
 
Nikolai4, к тебе обращаюсь за помощью. Прошил контроллер pic16f676, но потом хотел перепрошить и видимо как то прошляпил константу, либо куда то делась. Я знал про нее и записал 3420 на одном контроллере и второй потерпел видимо такое же крушение 3444. Суть в том что контроллеры после этого перестали считыватся и пишет fff во всех ячейках. И я не могу записать константу обратно в контроллер. Программатор Extra Pic - работает нармально, прошивал им pic16f628 - все работает. Программы использовал pony prog 1.06 и WINPIC800, все тоже.


   
Nikolai4 # 128
 
 
vanchellos, сотри контроллер и считай, если ffff попробуй еще раз считать, загрузи прошивку и потом вручную впиши константу и прошивай . если после считывания все ffff то может бит защиты стоит, после можешь попробовать проверить в схеме контроллер да же после ffff


   
vanchellos # 129
 
 
Nikolai4,
щас попробую и отпишусь

Nikolai4, В общем рассказываю: эти все бокопорства производились на работе, там стоит комп очень старенький, и он то видит то не видит контроллер, то читает - то не читает, и там все напоролось с прошивкой этих констант. Сгреб все домой на выходные и все пошло как по маслу, все прошилось с первого раза подставляя ихние константы. Так что это все виноват комп. Спасибо Nikolai4, за помощь


   
virus-error # 130
 
 
помогите , 16F676 , забыл вписать константу прошивал выбил ошибка , после не определялся микрокантролер просто не видел , использовал WinPic и IC Prog . програматор завадской, помогите востоновить микрокантролер

помогите , 16F676 , забыл вписать константу прошивал выбил ошибка , после не определялся микрокантролер просто не видел , использовал WinPic и IC Prog . програматор завадской, помогите востоновить микрокантролер

есть идея поцепить кварц на 2 и 3 вывод с кандерами мне кажется оживет
вот нашол статью http://radio-hobby.org/modules/news/article.php?storyid=934
и если ево применять в програматоре например в EXTRAPIC где проблематично прошивать 16F676


   
Nikolai4 # 131
 
 
virus-error, если он будет использоваться в схемах где стоит внешний кварц то константа не нужна


   
virus-error # 132
 
 
в схеме не будет кварца , это просто попытка воскресить микрокантролер


   
NIK-4444 # 133
 
 
Та же картина с 16F873 при стирании 0-ли, есть ли константа. Программатор G-540.


   
Alexey_st # 134
 
 
У 16F676 константа 3414


   
sergeu25 # 135
 
 
после чтения выдает ошибку не найденно значение установки осцылляторе

выдает ошибку ненайденно значение установки осцыллятора


   
Nikolai4 # 136
 
 
1) опробуй еще раз считать, повторно т.е. два раза подряд
2) попробуй другую программу
3) …раз потерял то читай статью


   
kov0404 # 137
 
 
Подскажите ,пожалуйста, есть программатор PONYProg2000 . смогу ли я им прошить PIC16F74 или не стоит и пробовать?


   
sergeu876 # 138
 
 
cкажите Я новичёк прошиваю 12f629 програмой IC-Prog выдоет сообщение
1 вы хотите загрузить по байтно что нужно отвечать
2 не найденно значение установки осцыллятора вы настаиваете на использование установки файла 3490
3 ошибка програмирования по адресу 0000
да кстати после прошивки когда контроллер сую в устройство неработает и напряжение резко падает от 5 до 1 новерное я сполил уже 3 пощету
програматор у меня EXTPA-PI C02


   
qwert615 # 139
 
 
Подскажите пожалуйста, из каких соображений выбирается параметр в окошке осциллятора? Я понимаю, что он отвечает за тактовый генератор, и как то зашивается в программу при ее написании. Но когда я хочу повторить какое то устройство и беру готовую программу, как мне узнать, что именно выбрать из раскрывающегося списка? Пробовал с разными параметрами - устройство не запускается, если этот параметр выбран не правильно.


   
Nikolai4 # 140
 
 
qwert615, ничего выбирать не надо, просто открываешь прошивку и прошиваешь.


   
qwert615 # 141
 
 
Nikolai4,
Большое спасибо за совет. Буду пробовать.
Правда хотел бы уточнить. Это как то зависит от программы? В недавнем прошлом я делал генератор импульсов на pic16f628a, прошивал с помощью icprog105 - это был мой самый первый опыт работы с микроконтроллерами. Так он не заработал, когда я оставил там тот параметр, который стоял по умолчанию. И лишь после того, как разработчик мне посоветовал указать там HS устройство начало работать.
Вот я теперь и думаю, как бы снова на грабли не наступить.
Еще раз спасибо!!!


   
Nikolai4 # 142
 
 
qwert615, все настройки делает программист когда пишет программу, значит он не все сделал.


   
qwert615 # 143
 
 
Nikolai4,
Теперь ясно. Еще раз спасибо!
Уже делаю плату для таймера. Скоро будет торжественный запуск.


   
denis-80 # 144
 
 
pic 12f629 341C


   
vital357 # 145
 
 
программатор EXTRA PIC программа для программирования PICPgm Programmer пик опознаётся автоматом, никакую константу не стирает и пишет всё за первый раз если конечно рабочая паршивка и пик (12f629,16f628a,16f676,16f690,16f876a,18f2520) есть небольшая доработка екстра пика для прошивки авров и атмег. всякие вин пики 800 айсипроги (все версии )полная бредятина кто хоть раз попробует данный программер поверит и убедится в моих словах (все биты конфигурации для пик написаны в прошивке)


   
Александр1970 # 146
 
 
<span class="masha_index masha_index125" rel="125"></span><span class="masha_index masha_index125" rel="125"></span>Сообщение


   
принц # 147
 
 
PIC12F629 константа 3440.Ребята прошиваю PIC12F629 с битом CPD ,у меня вылазит ошибка по адресу 0000H, а как только убираю галочку и прошиваю без CPD то все ОК.Вопрос обязательно ли нужен ,этот бит защиты при программировании?


   
wanya00 # 148
 
 
pic16f676 думаю что утеряна константа помогите восстановить, sliijb739@gmail.com для связи

также winpic пишет вот так:
Инициализация PIC программатора: Успешно.
Тестирование: задержка(500ms) заняла 0.50 секунд, timer_freq=1600.0200 МГц … ok
Чтение 0x000000 - 0x0003FF …
Чтение 0x002100 - 0x00217F …
Чтение 0x002000 - 0x002007 …
Слово калибровки генератора выглядит плохо (0x00FFFF) !
Чтение PIC не удалось (или он пустой).

а ic prog выдает ошибку чтения 0000h при прошивке


   
balbes # 149
 
 
Купил 4шт PIC16F676. Все считал не в одной небыло константы.Считывал MiniPro Programmer


   
tsg0158 # 150
 
 
Помогите! Есть прошитая PIC16F877A-I/P,нужно сделать копию.
Как это лучше сделать? Мой mail: tsg0158@mail.ru


Обновления

Сообщения ФорумаОтветов
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