Нужна помощь в прошивке pic 12f675, таймер для моторчика

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение КРАМ »

В PIC12F675 сам встроенный генератор НЕ ОТКАЛИБРОВАН. Ну то есть совсем. Конкретно в этом МК (и его близнеце PIC16F676) используется калибровочная константа, которую еще надо записать в OSCCAL.
Вариантов тут ДВА.
Либо у Вас константа испорчена, либо в настройках компилятора отключена вставка пересылки константы в оный регистр.
Аватара пользователя
Deals
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср май 05, 2010 19:03:14
Откуда: Украина

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение Deals »

А вот здесь абсолютно не согласен. Открываем даташит с сайта мелкочипа:
Изображение Изображение
Т.е. он с завода откалиброван и находится в пределах ±1 % в рамках бита OSCCAL 100000 = Center frequency
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение Albert_V »

Deals писал(а):Открываем даташит с сайта мелкочипа:...
Не тот файл открываете.
Откройте Memory Programming Specification и прочитайте про OSCCAL.
Затирание константы - достаточно частое "явление".
P.S.
Но и в том документе, про который вы сказали, недочитали до раздела Calibrating the Internal Oscillator.
Изображение
Возможно, по недосмотру за переключениями банков, регистр OSCCAL затирается из программы при желании записать значение в T1CON
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение КРАМ »

[uquote="Deals",url="/forum/viewtopic.php?p=3570530#p3570530"]А вот здесь абсолютно не согласен.[/uquote]
добавлю. Это Ваши домыслы. Произвольная интерпретация шапки даташита. Микрочип гарантирует обозначенную точность ПРИ УСЛОВИИ перезаписи константы в OSCCAL. Это кривое решение было временным и в следующих моделях обеспечивалось аппаратно без константы.
Аватара пользователя
Deals
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср май 05, 2010 19:03:14
Откуда: Украина

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение Deals »

Спасибо. Ну т.е. в принципе при стирании один фиг слетит OSСCAL... как я понял лучше юзать кварц для данных чипов. Спасибо за разъяснение!

Добавлено after 1 minute 38 seconds:
[uquote="Albert_V",url="/forum/viewtopic.php?p=3570539#p3570539"]Возможно, по недосмотру за переключениями банков, регистр OSCCAL затирается из программы при желании записать значение в T1CON[/uquote]
Нет, у меня в этом чипе исключена перезапись OSCCAL, хоть я и писал на асме свои прошивки - я на 100% уверен что следил за банками.
Скорей всего он действительно не калиброван или калибровка слетела при стирании.
Последний раз редактировалось Deals Пт фев 15, 2019 13:42:31, всего редактировалось 1 раз.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение Albert_V »

Если есть частотомер - можете сами подобрать константу. Там дел то минут на 5 - 10...
Аватара пользователя
Deals
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср май 05, 2010 19:03:14
Откуда: Украина

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение Deals »

Да вот только что сел откалибровал его на 50 секундах на глазок с секундомером :roll:
Получил OSCCAL = 0x34;
И самое интересное что при перезаписи без установки OSCCAL значение сохраняется.
Т.е. КРАМ прав, чип просто не калиброван с завода, т.к. при стирании и перезаписи без указания калибровочных бытов - значение сохраняется.
В данном случае автору рекомендую использовать кварц.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение BOB51 »

Насчет байта калибровки - это для работы с 8-выводными ПИКами есть аксиома.
В том числе и по вопросу грамотного сохранения при "общем стирании" (зависит и от софт-оболочки/типа программатора).
Дроугое дело как использовать константу...
Под ассемблером если грамотно заголовочные файлы применять (в соответствующих каталогах мплаба под каждый кристалл имеются как для абсолютной так и для относительной адресации) проблем не возникает.
А для поделки... Ежли б не ценовой вопрос, то удобнее таки PIC12F629/Pic12F508 - там с АЦП заморочек не будет.
8)
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение otest »

BANKSEL ANSEL
CLRF ANSEL
Эта заморочка с АЦП ?
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение Albert_V »

Не вижу никакой "заморочки".
Описание регистра ANSEL есть в документации.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение КРАМ »

[uquote="BOB51",url="/forum/viewtopic.php?p=3570606#p3570606"]Насчет байта калибровки - это для работы с 8-выводными ПИКами есть аксиома.[/uquote]
8 выводов тут не причем. Речь идет только о 12F675/629 и 16F676/630. В последующих моделях никаких констант нет. Например в 12F683/16F684 ее нет. Там просто калиброван сам осциллятор.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Нужна помощь в прошивке pic 12f675, таймер для моторчика

Сообщение BOB51 »

То же более поздние.
В простых приложениях чаще 675й да 629й (да и 508й попадался).
Сейчас большинство с автозагрузкой калибровки...
8)
Ответить

Вернуться в «PIC»