ADC в PIC

Привет, All!

Работал с АЦП в PIC16f876, пытался реализовать все 10 разрядов, но как ни крутил, в регистрах ADRESL и ADRESH одно и тоже (старшие 8 бит). Пробовал выравнивать влево и вправо, в итоге тоже самое. Отдельного регистра, указывающего на разрядность не нашел. Подскажите пожалуйста в чем может быть дело?

Dmitry Olshansky

Reply to
Dmitry Olshansky
Loading thread data ...

Hello, Dmitry Olshansky !

Может регистры в хидере неправильно описаны?

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hi Dmitry, hope you are having a nice day!

09 Фев 04, Dmitry Olshansky wrote to All:

DO> Работал с АЦП в PIC16f876, пытался реализовать все 10 разрядов, но как DO> ни крутил, в регистрах ADRESL и ADRESH одно и тоже (старшие 8 бит). DO> Пробовал выравнивать влево и вправо, в итоге тоже самое. Отдельного DO> регистра, указывающего на разрядность не нашел. Подскажите пожалуйста DO> в чем может быть дело?

Похоже ты (или компилятор) забываешь переключить банки памяти, т.к., если я не ошибаюсь, ADRESL и ADRESH находятся по одному и тому же адресу, но в разных банках.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Reply to
Alexey V Bugrov

Пpивет, Dmitry!

*** 09 Feb 04 22:15, Dmitry Olshansky wrote to All:

DO> Работал с АЦП в PIC16f876, пытался реализовать все 10 разрядов, но как DO> ни крутил, в регистрах ADRESL и ADRESH одно и тоже (старшие 8 бит).

Как так ? Hу не может быть в ADRESL 8 старших, как не крути. Похоже, ты с переключением страниц запутался (это привет от совместимости со старыми кристаллами)...

с уважением Владислав

Reply to
Vladislav Baliasov

Привет, Alexey!

А именно <10 Feb 04><00:07>

DO>> тоже самое. Отдельного регистра, указывающего на разрядность не DO>> нашел. Подскажите пожалуйста в чем может быть дело?

AB> Похоже ты (или компилятор) забываешь переключить банки памяти, т.к., AB> если я не ошибаюсь, ADRESL и ADRESH находятся по одному и тому же AB> адресу, но в разных банках.

Скорее всего так и есть. Будем пробовать. Спасибо.

Dmitry Olshansky

Reply to
Dmitry Olshansky

Hi Dmitry !

Совсем недавно 09 Feb 04 22:15, Dmitry Olshansky писал к All:

DO> Работал с АЦП в PIC16f876, пытался реализовать все 10 разрядов, но как DO> ни крутил, в регистрах ADRESL и ADRESH одно и тоже (старшие 8 бит). Кусок исходника, плиз. И инициализации АЦП, и запуска, и вычитки значения.

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

  1. Ты не переключаешь страницы RAM и дважды читаешь ту же ячейку.
  2. Ты вообще не из тех адресов читаешь.

Вариантов неработы устройства- всегда масса :)

WBRgrds Ruslan

Reply to
Ruslan Mohniuc

Привет, Ruslan!

А именно <24 Feb 04><14:18>

DO>> но как ни крутил, в регистрах ADRESL и ADRESH одно и тоже DO>> (старшие 8 бит). RM> Кусок исходника, плиз. И инициализации АЦП, и запуска, и вычитки RM> значения.

Чет ты поздно :) А вообще решилось принудительной установкой прескалера в 1/32 (по умолчанию стоит 1/2) на обработку АЦП.

Dmitry Olshansky

Reply to
Dmitry Olshansky

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.