Перейти к содержанию
    

Максимальная температура АЦП

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

PIC 12F675 (пусть Е - до 125градусов)

Из даташита касаемо АЦП: "Температура = 50°С (максимально возможная)"

Выше не стоит и пытаться? Из формул следует, что возрастёт время преобразования. Может и точность пострадать за счёт ускоренной саморазрядки Chold. Нужно работать до 100градусов. Подскажите пож-ста, есть ли тут тонкости?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обязательно надо попробовать!!! Есть мнение, скорее ощущение, что работать будет, но не совсем так как заявлено в даташите :) Как Вы говорите, ускоренный саморазряд, может, характеристики источника опорного напряжения изменятся.

А какая точность измерений нужна? Кстати, часто нужна бывает не абсолютная величина, а отклонение, тогда не сильно важно, что ошибка будет. Главное, чтобы линейность зависимости результата преобразования от температуры осталась хоть немного линейной... в общем, надо пробовать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Особая точность не нужна, два (а может и три) младших бита побоку. Усложняет дело то, что иногда температура будет нормальной, и даже холодной (вплоть до наружной зимой). Только проба :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пож-ста заодно, пока программу рожаю, а то что-то засомневался. В этих 12F629/675 надо прыгать между банками? А то смотрю в picХХХ.inc регистры из первого (не нулевого) банка (RP0=1) уже прописаны с адресами из этого банка (>7Fh).

1) ТО есть например, если я изменяю TRISIO (85h), всё равно надо переключаться на старший банк?

2) А если писать в общие регистры (20h-5Fh младший банк, A0h-DFh старший), тоже прыгать по банкам или необязательно? То есть

MIA_REG equ 33h; адрес в младшем банке
bsf STATUS, RP0; в старший банк
clrf TRISIO; например
clrf MIA_REG; а было FFh

Сработает? По имени MIA_REG можно обращаться из любого банка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пож-ста заодно, пока программу рожаю, а то что-то засомневался. В этих 12F629/675 надо прыгать между банками? А то смотрю в picХХХ.inc регистры из первого (не нулевого) банка (RP0=1) уже прописаны с адресами из этого банка (>7Fh).

 

Да переключение банков необходимо как для SFR , так и для общего назначения.

При обращении к регистру в команде присутствуют 7 бит адреса , старшие биты из регистра статуса. директива ассемблера banksel генерирует команды установки необходимых битов в регистре статуса исходя из полного адреса в памяти.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. А вот скажите пож-ста, пытаюсь заполнить свободные ячейки командами перехода на инициализацию, а оно что-то не того.

FILL (GOTO Init), (__MAXRAM - $)
end

 

А в ответ:

129:Error [113] Symbol not previously defined (__MAXRAM).

 

675.inc подключен, в нём __MAXRAM описан. Как так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...