Страница 1 из 1

16F676 после включении компаратора, не читается порт A

Добавлено: Вт мар 15, 2016 03:24:12
Serёга
Ребят, доброго здоровья! Такая проблема, при подключении компаратора не могу считать состояние битов порта A.

Изображение

Пока компаратор отключен, все работает, читается без проблем. В протеусе бит PORTA,0 поднят, но не читается ни через btfss(c) ни через movf PORTA,W после выполнения этой команды в аккумуляторе 0

Изображение

Подскажите пожалуйста, кто сталкивался, как победить?

Re: 16F676 после включении компаратора, не читается порт A

Добавлено: Вт мар 15, 2016 15:20:57
kotpalych
Возможно поэтому :
Note1: When reading the PORTA register, all
pins configured as analog inputs will read
as a ‘0’. Pins configured as digital inputs
will convert an analog input according to
the TTL input specification.
и что это за странная команда на вашей картинке "clrf 0x07f&ANSEL" , никогда такой не встречал .

Re: 16F676 после включении компаратора, не читается порт A

Добавлено: Вт мар 15, 2016 23:33:31
Serёга
kotpalych писал(а):Возможно поэтому :
Note1: When reading the PORTA register, all
pins configured as analog inputs will read
as a ‘0’. Pins configured as digital inputs
will convert an analog input according to
the TTL input specification.
и что это за странная команда на вашей картинке "clrf 0x07f&ANSEL" , никогда такой не встречал .
Так ведь 0 бит PORTA, настроен как цифровой вход.

0x07f&ANSEL - Это тот же старый добрый ANSEL, только с указанием компилятору, на то что это однобайтный регистр, если я все правильно помню. Такая запись исключает появление сообщения 302
Message[302] .........ASM 124 : Register in operand not in bank 0. Ensure that bank bits are correct.

Re: 16F676 после включении компаратора, не читается порт A

Добавлено: Ср мар 16, 2016 15:50:41
Serёга
Ага, понял, не получится использовать RA0, как цифровой вход, так как он регистром настройки компаратора установлен в режим аналогового входа.
kotpalych :beer: спасибо за подсказку, я как-то упустил этот момент при изучении документации. Придется мудрить.