PIC16f676 Intenall Oscilator проблема.

D

Dani

Guest
Привет всем,

Я написал код для получения 50 Гц флип-флоп импульсов через PIC16F676.Я использовал внутренние oscilator за это.Полученные результаты не придет правильный с точки зрения сроков пульс (ширина).Кажется, что некоторые рис после программирования хорошо работать и на другом его doesn't.Является ли это из-за внутренних oscilator или я делаю некоторые вещи неправильно, когда некоторые.PLZ Справка.Привет
Дани

 
Внутренний генератор калибруется и калибровки записаны.
Хороший программист читать стоимость до перепрограммирования и его reestablishes
Если у вас есть завод программист что так оно и будет.
Если вы используете другую программист может не записать калибровочный байт и изменить его частоту.
Существует также УСКАН зарегистрироваться настраивать генератор
Кроме того, существует способ чтения УСКАН
Register (0x90) перед началом progarm, и поэтому не обязательно всегда использовать одну и ту же частоту.

Но внимание, что осциллятор, если память мне право, составляет / - 1% точным.

В подпрограмму читать калибровочный байт до разрушения

кал:

АНМ: BSF STATUS, RP0
АНМ: вызов 0x3ff
АНМ: movwf OSCCAL
АНМ: BCF STATUS, RP0
Возврат

Примечание: 1/All, которые можно найти в технических спецификациях
2 / Вы должны быть уверены, шляпа ваша программа делает следовать одному и тому же пути все время, если вы не использовать прерывания для генерации сигнала
Удачи

 
gebepic писал:

Внутренний генератор калибруется и калибровки записаны.

Хороший программист читать стоимость до перепрограммирования и его reestablishes

Если у вас есть завод программист что так оно и будет.
 
Дани писал:gebepic писал:

Внутренний генератор калибруется и калибровки записаны.

Хороший программист читать стоимость до перепрограммирования и его reestablishes

Если у вас есть завод программист что так оно и будет.
 
Я думаю, ваши программисты pufff!!!получить?

 
Что делает фирма pufff?
Было бы приятно получить это проверить ...

Выдержки из данных по 676 листов

9.2.5 ВНУТРЕННИЕ 4 MHZ Осциллятор
Когда откалибровано, внутренний генератор обеспечивает фиксированную
4 МГц (номинальная) системными часами.См. Электротехническое
Характеристики, секция 12,0, для информации о
вариаций более напряжения и температуры.
Два варианта на данный Осциллятор режиме
которые позволяют RA4, которые будут использоваться в качестве общего назначения I / O
или на выходных FOSC / 4.
9.2.5.1 Калибровка внутреннего Осциллятор
Калибровочный инструкции запрограммированы в последние
Расположение программы памяти.Настоящая инструкция является
RETLW ХХ, где буквально является калибровка стоимости.
В буквальном помещается в OSCCAL зарегистрироваться для установки
калибровки внутреннего осциллятора.Пример 9-1
демонстрирует, как для калибровки внутреннего осциллятора.
Для лучшего функционирования, отделить (с емкостным) VDD
VSS и как можно ближе к устройству, насколько это возможно.
Пример 9-1: КАЛИБРОВКИ
ВНУТРЕННЯЯ Осциллятор
Примечание: Удаление устройства также удалить предварительно
внутренняя ценность для калибровки
внутренний генератор.Калибровочная стоимости
должна быть сохранена до стирания части как
указанный в PIC16F630/676 Программирование
Спецификация.Микрочип развития
Средства поддерживать все биты для калибровки
заводских параметров.

BSF STATUS, RP0; Банк 1
вызов 3FFh; Получить CAL стоимости
movwf OSCCAL; калибровка
BCF STATUS, RP0; Банк 0

Заключительное замечание::: если стоимость была стерта ...???!!!???pufff!!!

<img src="images/smiles/icon_cry.gif" alt="Плачущий или очень расстроенный" border="0" />CQF D.

<img src="images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" />Дата изменения

Я выкопал несколько дополнительных допинг на Pic середине диапазона внутренних осциллятора в

PIcmicro среднего радиуса MCU Familly Справочник (имеется в угадать, где?)

Существуют 4 страницы читать о ней.

gebe

 
Sory для Вас снова, сэр, но я все еще не в состоянии выяснить решения.
Если письменное 0x34 разрушает завод стоимостью, что написать потом.Если идти до программирования чипа Затем она дает 34 Thats, почему я пишу 34.

Если я получаю свежие чипом без кода, и я прочел calibiration то, что я должен получить, и я должен написать, что стоимость каждого времени или это значение будет новый каждый раз в зависимости от конфигурации fuese.

 
Дани писал:

Sory для Вас снова, сэр, но я все еще не в состоянии выяснить решения.

Если письменное 0x34 разрушает завод стоимостью, что написать потом.
Если идти до программирования чипа Затем она дает 34 Thats, почему я пишу 34.Если я получаю свежие чипом без кода, и я прочел calibiration то, что я должен получить, и я должен написать, что стоимость каждого времени или это значение будет новый каждый раз в зависимости от конфигурации fuese.
 
Здравствуйте, сладкий запах.Надеюсь, что вы делаете хорошо.

Я не могу открыть документ, у вас здесь.Просьба указать ссылку или можно
м. мне снова.

 
BSF STATUS, RP0; Банк 1
вызов 3FFh; Получить CAL стоимости
movwf OSCCAL; калибровка
BCF STATUS, RP0; Банк 0

Вы можете проверить нового поколения 14/18 булавки, что будет делать трюк
Я использую в данный момент около 12 F683 (8 шпильки, не достаточно для вас)
Они работают с внутренней OSC до 8 мегабайт, а также не требуется установка калибровки ценности (нет ни одного!)
Просто положить OSCTUNE по нулевой

Последние проверки, 16 F 684 следует делать,
те же булавки NB как 676, более мощный
Цена может быть даже дешевле ...?

 
Я не говорю то, что решение в конечном итоге я получил, потому что это еще предстоит проверить в первую очередь.

Thnak Спасибо вам и благодарность многим gebepic,.Я работаю по этому вопросу и в скором времени я сообщу на форуме.

Я также хочу поблагодарить Fragrence за его удивительную и intelegent вклада решить мою проблему.Он действительно очень умный и поймать меня там, где я застрял, и сказал мне решение.

Любой, как она реально улучшить мои knowldege, относящиеся к этой проблеме perticular

Привет
Дани

 
Уважаемый Dany,

Я скачал "научить" из форума о программиста
Это для программирования чипа, он не обеспечивает постоянную частоту для внутреннего осциллятора !!!!!!!

Даже если вы иметь действительный КАЛИБРОВКА сидел в ВАС CHIP

IF YOU DO NOT USE IT по следующим телефонам:
(что вы должны включить в свою программу)как подпрограмма ....... CODED в C
Ниже в АНМ (Я не могу код в вашу C)

то вроде этого
CalibSub недействительными ()
(
/ / В C Langage)

CalibSub: BSF STATUS, RP0; набор банковских 1
Звоните 0x3FF; получите калибровку стоимости
,
А W Реестр содержит автоматически на возвращение
; Оттуда
movwf OSCCAL; ввести его в ЗАРЕГИСТРИРОВАТЬСЯ
BCD STATUS, RP0; в банке 0
вернуться

Или, если хотите, то вы можете его ИНЛАЙН (NO CALL)

предыдущих каждый соответствии с АНМ: (Если Ваш C позволяет ей)
например:

АНМ: BSF STATUS, RP0; набор банковских 1
АНМ: Call 0x3FF; получите калибровку стоимости
АНМ:; В W Реестр содержит автоматически на возвращение
АНМ:; оттуда
АНМ: movwf OSCCAL; ввести его в ЗАРЕГИСТРИРОВАТЬСЯ
АНМ: BCF STATUS, RP0; в банке 0В противном случае OSCCAL на каждой перезагрузке может содержать случайные значения, которые будут
сделать сроков RANDOM между различными ценностями, принятые OSCCAL!!!!
Она, как и все непосвященные переменных C. .... Unpredictable

Удачи

 
Здравствуйте все

После столько головой треск.Я пробовал следующее решение, и оно Веркс.Данная проблема является проблемой для новичков и может быть решена, если следующие моменты наблюдаются.

1 - Во-первых, все 16f676 поставляются с завода калибровки и она хранится на 0x3ff.Он отличается для каждой рис.Например pic1 имеет значения калибровки, как 10, рис 2 28.И будет ровно 4MHz на заводские установки.Если у вас более-запись этого, предположим, pic1 с новой стоимости 20.Ваши часы будут превышать 4MHz.Если ты пишешь 05, часы будут меньше, чем 4MHz.

2 - Если вы стереть эту величину, то удачи.Вам потребуется и осциллограф и хитов и попробуйте сравнения значений получить обратно стоимость калибровки.

3 - Это 0x3ff местоположение будет выглядеть как что-н 34XX (XX время калибровки значения).34 означает RETLW инструкции, не меняйте его как это код операции.Вы можете изменить XX достижения других частотах, если вы хотите, как объяснялось в Шаг 1.

4 - Если вы хотите работать именно в 4MHz, прочитайте OSCCAL стоимости с использованием инструкций Datasheet за АНМ.Или с использованием ПМКД как мне поставить "OSCCAL = _READ_OSCCAL_DATA ();" в главном ();

<img src="images/smiles/icon_smile.gif" alt="Улыбка" border="0" />

.Он будет получать и стоимости работ на 4MHz точно.Заметим, что программа нуждается в этом OSCCAL ценность в качестве переменной работать точно, если ваша программа является частота ответчика.

4.1, просто намекнуть, ПМКД генерирует предупреждение выше OSCCAL код строки.открыть pic16630.h и заменить # определить _READ_OSCCAL_DATA () (* (беззнаковое символ (*)()) 0x3FF) () с # определить _READ_OSCCAL_DATA () (* (беззнаковое символ (*) (недействительными)) 0x3FF) ().

H

 

Welcome to EDABoard.com

Sponsor

Back
Top