KEEN SIDE успешно заменяет аналогичные продукты таких известных брендов, как Phoenix Contact, Weidmueller, Degson, Winstar, Hsuan Mao, KLS, G-NOR, Mean Well и др.

Код Си, подтягивающий резистор мк

Новичок
 
Регистрация: 24.09.2013
Сообщений: 37
Репутация: 11
1 17
0 0
 
06.10.2013 21:38 #1
Здравствуйте
Помогите разобраться с кодом

#include <avr/io.h>

int main(void)
{
DDRA =0b00000000;
DDRB =0b11111111;
PORTA =0b11111111;
while(1)
{
if (PINA ==0b11111111)
{PORTB =0b11111111;
}
else
{PORTB =0b00000000;
}

}
}
я понимаю это так

Порты А настроены на вход,
Порты Б на выход,
Порты А включены (как я понял при такой комбинации вкл. подтягивающие резисторы ),

если пины порта А все под внешнем напряжением +5 ,
то выполнять действие подать на все ножки порта Б +5 ,если нет
не подавать на ножки порта +5

но в протеусе он мне показывает другое посмотрите кому не лень в чем я ошибаюсь
Изображения
Тип файла: png результат.PNG (22.4 Кб, 0 просмотров)
Оценка
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей.
Новичок
 
Регистрация: 27.08.2011
Адрес: Екатеринбург
Сообщений: 18
Репутация: 12
2 0
0 0
 
06.10.2013 22:02 #2
Коротить надо на землю, ибо пин подтянут на +5, а кнопка опять на +5 замыкает.
квадратик красненький слева от кнопки как бэ намекает.
Если консультация по этому делу нужна заходи на сайт (в подписи) и в форме обратной связи укажи контакт. Договоримся.
Удачи.
__________________
Разработка ПО под ваши задачи.
Микроконтроллеры, микропроцессоры.
Трассировка печатных плат.
Разработка схемотехники.
Консультации в этих областях.

Приходите на наш сайт http://pcb-admin.ru
Наши разработки http://www.pcb-admin.ru/nashy-razrabotky
Оценка
Новичок
 
Регистрация: 24.09.2013
Сообщений: 37
Репутация: 11
1 17
0 0
 
07.10.2013 17:29 #3
т.е. когда подключаем подтягивающий резистор мы не можем на эти ножки подовать +5В (из вне) что ли?
Оценка
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
07.10.2013 21:06 #4
Подавать то можно, но на ножке, если включен внутренний подтягивающий резистор, будет постоянно высокий уровень. Поэтому, при такой конфигурации, мы можем определять лог. 0 или изменение логического уровня (0->1, 1->0) на ножках мк Почитайте информацию, в вашем конкретном случае по микроконтроллерам AVR и в частности глава "порты вввода/вывода"...
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Оценка
Новичок
 
Регистрация: 24.09.2013
Сообщений: 37
Репутация: 11
1 17
0 0
 
08.10.2013 09:59 #5
Цитата:
Сообщение от Vadzz
Поэтому, при такой конфигурации, мы можем определять лог. 0 или изменение логического уровня (0->1, 1->0) на ножках мк
1->0 понятно через кнопку на землю можно,
а как понять 0->1 если там изначально 1 находится, и ножка под U ?
Оценка
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
08.10.2013 12:10 #6
Ножка лишь подтянута к + питания... (делается это для того, чтобы она не "висела" в воздухе, т.к. логическое состояние на таком входе без подтягивающего резистора будет неопределенным и нестабильным)

Я имел ввиду, что если в исходном состоянии на ножке лог. 0 (к примеру кнопка замкнута на землю или кнопка нормально замкнутая), то мы при размыкании контактов кнопки, мы можем определить изменение уровня 0->1
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Оценка
Новичок
 
Регистрация: 24.09.2013
Сообщений: 37
Репутация: 11
1 17
0 0
 
08.10.2013 18:57 #7
если включен подтягивающий резистор, смысла нет туда подавать из вне +5В так получается??
Мы только можем замыкать на землю и менять пин порта на 0
Я все правильно понял?)
Оценка
Знаток
 
Регистрация: 06.12.2009
Адрес: Днепропетровск
Сообщений: 813
Репутация: 114
105 141
4 0
 
08.10.2013 20:06 #8
У вас мега16 настроена портА - на вход, порт В - выход. Следовательно вы порт А привязали в +5В подтяг резисторами, порт В - к земле. Таким образом после ининциализации порт А должен быть в лог 1, порт В - в лог 0. Логическая единица - это когда напряжение на порте стремится к напряжению питания, логический ноль - напряжение стремится к 0. Грубо говоря когда напряжение на МК 5В - лог 1, 0В - лог 0. Далее программа например будет опрашивать состояние скажем порта РА0, скажем при установке на нем лог 0 выполняется какоето дуйствие, ну скажем загорается светодиод. Но без подтягивающих резисторов порт контроллера будет находится в необределенном состоянии (Z состоянии) и тогда понять в каком лог состоянии он находится невозможно. Также состояние неопределенности может возникнуть если напрячжение на порте ввода (РА0) будет примерно 1/2Uпит. Грубо говоря нарпряжение выше 2.5В - 1, ниже - 0.
так вот, при включении подтягивающих резисторов на вход, порт контроллера будет в лог 1, следовательно для если дальнейшее выполнение команды происходит по очистке бита (в ассемблере это ком.sbic) порта РА0, то нужно подавать на вход лог 0. Тоесть кнопку на землю. В реальных же устройствах, бывает, что необходимо на порт устанавливать дополнительные резисторы, так как из-за наводок порт сомовольно начинает устанавливать состояние.
Оценка
Ответ
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 13:41.
Обратная связь РадиоЛоцман Вверх