С Новым годом! Надо полагать не все интенсивно "болеют" первого числа:) Вопрос пока такой... Можно ли в ассемблере AVR вышеозначенным командам дать второй параметр, как переменную... Дело в том, что в программе он должен меняться (номер пина порта) по результатам инкриминирования некоего регистра - допустим достигли какого-то числа в этом регистре - меняем пин порта... И еще такой вопрос: если мы задали работу аналогового компаратора в инициализации (допустим внутреннее опорное наряжение, а на инвентирующий вход подаем напняжение с делителя - проверяем напряжение питающей батареи..) Так вот... если в процессе выполнения программы на эти пины (AIN0 и AIN1) контреллером "выбрасываются" нули, то повлияет ли это на работу компаратора? Или вопрос это же по другому: если задали компаратор, то имеет ли значение, что "пихаем" программой в соответствующие пины порта (порт B ATtiny 2313)...
...если мы задали работу аналогового компаратора в инициализации (допустим внутреннее опорное наряжение, а на инвентирующий вход подаем напняжение с делителя - проверяем напряжение питающей батареи..) Так вот... если в процессе выполнения программы на эти пины (AIN0 и AIN1) контреллером "выбрасываются" нули, то повлияет ли это на работу компаратора? Или вопрос это же по другому: если задали компаратор, то имеет ли значение, что "пихаем" программой в соответствующие пины порта (порт B ATtiny 2313)...
Аналоговый компаратор не может влиять на состояние PB0 и PB1, по которым выводятся данные. Если битом ACBG регистра ACSR подключается встроенный опорник, то PB0 вообще отключается от компаратора и не будет влиять на его работу.
Заголовок сообщения: Re: Команды sbi и cbi - второй параметр - переменная?
Добавлено: Ср янв 01, 2014 15:04:52
Опытный кот
Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19 Сообщений: 838 Откуда: с Земли
Рейтинг сообщения:0
Вечно начинающий писал(а):
Вопрос пока такой... Можно ли в ассемблере AVR вышеозначенным командам дать второй параметр, как переменную... Дело в том, что в программе он должен меняться (номер пина порта) по результатам инкриминирования некоего регистра - допустим достигли какого-то числа в этом регистре - меняем пин порта...
Нет инструкции с переменным значением битов. Прийдется сначала считать значения битов (значение порта), потом выполнить модификации (and, or, eor) и снова вывести в порт. Например, так:
Код:
in r16, PORTA and r16, r17 out PORTA, r16
_________________ Все будет только лучше, в крайнем случае - хуже.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: Re: Команды sbi и cbi - второй параметр - переменная?
Добавлено: Пт сен 01, 2017 17:23:02
Встал на лапы
Зарегистрирован: Вт мар 31, 2015 01:12:46 Сообщений: 89
Рейтинг сообщения:0
Добрый день! тоже есть вопрос по команде sbi. Чего хочется: что бы кнопка на PD0 замкнулась и засветились два св-диода на PB6 и PB7. код программы: .include "tn2313def.inc"
;Инициализация портов clr R16 out DDRD,R16 ser R16 out PORTD,R16
out DDRB,R16 clr R16 out PORTB,R16
;Основной цикл MAIN: sbis PIND,PIND0 rjmp left cbi PINB,7 cbi PINB,6 rjmp MAIN
left: sbi PINB,7 sbi PINB,6
rjmp MAIN
Вопрос такой: почему при НАЖАТОЙ кнопке, когда программа проходит тот же цикл во второй раз команда sbi PINB,7 сбрасывает 7-мой разряд в РВВ PORNB?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Команды sbi и cbi - второй параметр - переменная?
Добавлено: Пт сен 01, 2017 20:26:22
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2694 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
dumbass писал(а):
во второй раз команда sbi PINB,7 сбрасывает
Регистр PINx предназначен для считывания физического логического состояния на ножке МК, а не для изменения состояния порта. В относительно новых МК была добавлена функция, при записи 1 в PINx инвертируется состояние соответствующего бита соответствующего PORTx.
Запись 0 в PINx действия не оказывает.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения