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

НЕ могу задать условие для установки и считывания разрядов

Добавлено: Сб янв 15, 2022 22:03:26
Valer5
При использовании аналогового компаратора в зависимости от соотношения на его входах напряжения изменяется состояние бита выхода ACO (Atmega8) с 0 на 1 и обратно. Для определения "1 " пишу в разделе while(1) следующие выражения

Код: Выделить всё

 if ((ACSR & (1<<5))   {k=1}
 if ((ACSR & (1<<5))==1)   {k=1}
 if (ACSR & (1<<5))             {k=1}
if (FCO)    {k=1}                  {k=1}
Ни один из вариантов не работают.
Объясните неграмотному, что я делаю не так? Пытаюсь писать программы на Си и моделирую в Протеусе..

Re: НЕ могу задать условие для установки и считывания разряд

Добавлено: Сб янв 15, 2022 22:26:09
N1X
Ну хорошо, при выполнении условия k станет равным 1. А кто его в ноль сбрасывает? Сам он этого не сделает. Нужно добавить тогда else k=0;
Ну либо как вариант k = (ASCR >> 5) & 1;

Re: НЕ могу задать условие для установки и считывания разряд

Добавлено: Вс янв 16, 2022 13:42:42
Valer5
Т.к. я уверен, что при напряжении на входе AIN0 больше,чем на AIN1, то мне надо убедиться, что работает первое условие. А оно не работает, т.к. при проверке в Протеус во всех этих условиях при FCO = 1 (видно в окне виндовс) к=0 (видно в значении переменных). к ввёл специально для проверки. А Ваш вариант указан среди проверяемых мной.

Re: НЕ могу задать условие для установки и считывания разряд

Добавлено: Пн янв 17, 2022 20:34:32
Valer5
Заметил интересную фишку!
При варианте

Код: Выделить всё

 if (ACSR&1<<5)
    {PORTD|=1<<5; }
   else
   { PORTD&=0xDF; }
При изменении знака разности напряжений на входах компаратора значения регистра 5 порта D в окне Wath windov меняются, а на схеме и на виртуальном осциллографе протеуса остаются в нулевом значении.
чему верить?

Re: НЕ могу задать условие для установки и считывания разряд

Добавлено: Пн янв 17, 2022 23:54:13
mickbell
Только натуральному МК. Протезу верить не стоит.

Re: НЕ могу задать условие для установки и считывания разряд

Добавлено: Чт янв 20, 2022 17:19:48
Valer5
mickbell писал
[uquote="mickbell",url="/forum/viewtopic.php?p=4163294#p4163294"]Только натуральному МК. Протезу верить не стоит.[/uquote]
Опять оказалось дело в моей невнимательности. Порт D был настроен весь на выход.
Всем спасибо. Тему можно закрыть.