Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Челюскин
Прорезались зубы
Сообщения: 209
Зарегистрирован: Ср ноя 03, 2010 14:46:17

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Челюскин »

Переделал прошивку, проверил в протеусе - все нормально, 100, 75, 50, 25% показывает на осциллографе. Прошил в реале - так же горят постоянно, сейчас сделал с изменяющейся скважностью - тоже самое. Скажите, а фильтр обязательно нужен для ШИМа, а то я диоды напрямую припаял к МК?
Лень - двигатель прогресса!
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ploop »

Фильтр - нет, а резисторы обязательно.
Кстати, глаз воспринимает яркость нелинейно. От 50% до 100% почти не заметите разницы. Проверяйте 5%-10%-20%, где-то в этих пределах.
Реклама
Челюскин
Прорезались зубы
Сообщения: 209
Зарегистрирован: Ср ноя 03, 2010 14:46:17

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Челюскин »

ploop писал(а):резисторы обязательно.
сейчас припаяю, номинал 150 Ом пойдет - или меньше? (ШИМ всё-таки, а не постоянка...)
глаз воспринимает яркость нелинейно. От 50% до 100% почти не заметите разницы.
А вот это ново - на заметку возьму. Спасибо.

з.ы. а какие (если кто знает) все-таки примерные длительности и периоды импульсов для диодов быть должны, чтобы заметно было?
Лень - двигатель прогресса!
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Engineer_Keen »

Челюскин писал(а):сейчас припаяю, номинал 150 Ом пойдет - или меньше? (ШИМ всё-таки, а не постоянка...)
Питание 5В? Тогда пойдет, и не меньше! И не путайте ШИМ и динамическую индикацию, во втором случае ток идет через диод всегда только долю периода, а в случае ШИМ - может быть и постоянно (99% периода).
Челюскин писал(а):з.ы. а какие (если кто знает) все-таки примерные длительности и периоды импульсов для диодов быть должны, чтобы заметно было?
Что заметно?
Последний раз редактировалось Engineer_Keen Ср окт 17, 2012 13:54:42, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ploop »

з.ы. а какие (если кто знает) все-таки примерные длительности и периоды импульсов для диодов быть должны, чтобы заметно было?
эээ... частота ШИМ?
Чтобы незаметно (даже при боковом движении глаз/девайса) надо брать более 500Гц.
Реклама
Челюскин
Прорезались зубы
Сообщения: 209
Зарегистрирован: Ср ноя 03, 2010 14:46:17

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Челюскин »

ploop писал(а): чтобы незаметно... надо брать более 500Гц.
Ясно. Но так понял - без резистора не получиться... ладно - буду работать. Спасибо за советы Engineer_Keen и ploop.
Лень - двигатель прогресса!
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ploop »

Получится, но можно выжечь порт МК. Почитайте про питание светодиодов (не важно от чего)
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение gauss »

Alexeyslav, а можно ли в РОН считать данные только из нужного бита?
Например:

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

in temp,PC0
:idea:
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ploop »

И что должно быть, по вашему, в temp? :)
Можно считать и выделить его (побитовое AND), затем сравнить с нулём.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Arlleex »

Нельзя так.
Можно сначала загрузить данные из всего регистра порта данных, а потом выделить нужный бит.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

ploop писал(а):И что должно быть, по вашему, в temp?
Видимо, 7 старых бит, и один новый :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение gauss »

Допустим, в одном регистре 0b01010101
В другом 0b01100011
Применив and между этими регистрами, мы получим 0b01000001, я правильно понял?
:idea:
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

gauss писал(а):я правильно понял?
А у вас Студия 4-я есть?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение gauss »

Шестая
Я правильно понял оператор and?
:idea:
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

Полагаю, в ней тоже есть симулятор, и вы можете проверить своё предположение на практике, если не знаете законов булевой алгебры.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение gauss »

Не проходили, увы :(
Только что поковырял вики - понял, что все правильно понял!
:idea:
petrenko
Друг Кота
Сообщения: 5333
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение petrenko »

gauss писал(а):Alexeyslav, а можно ли в РОН считать данные только из нужного бита?
Например:

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

in temp,PC0
В AVR не получится, а вот в разных вариантах мк, производных от семейства intel_MCS-51 получится ! Перебегайте к нам, к предпочитателям MCS-51 , в них ещё и DIVide и MULtiply есть. :wink:
Предпочитатели AVR , извините, пожалуйста, не выдержал, похвалил 51/52-е.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение ploop »

Предпочитатели AVR , извините, пожалуйста, не выдержал, похвалил 51/52-е.
Да ничего страшного, просто про название темы не забывайте :)
Только что поковырял вики - понял, что все правильно понял!
Не совсем. Если поняли, что такое булева алгебра, но нужно еще понять, как её применить. Подсказываю: после операции у вас все биты должны быть равны нулю, а один (нужный) - равен чему равен. Если он тоже будет ноль, то и весь регистр будет ноль, а если он будет в единице, то и регистр будет НЕ ноль. А вот между чем и чем должна быть эта операция предлагаю подумать (или погуглить, ключевое слово "маска")
Аватара пользователя
xkp
Опытный кот
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров
Контактная информация:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение xkp »

xkp на 152 странице писал(а):следующим вопросом станет время, точнее, как можно точнее измерить ширину импульса. можно даже и не в секундах или миллисекундах, а в условных еденицах.
испытания сказали что программный подсчет не подходит, маленькая частота выборки. решено использовать аппаратный режим захвата на MEGA32, работающей на кварце 24 МГц.
но и тут заморочки. что то мне кажется что что-то тут не так... можно же как то проще замерить ширину импульса?
Спойлер

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

.INCLUDE "m32def.inc"
.def tmp		=r16
.def tmp0		=r17

.CSEG
.ORG $2a
reset:
	ldi tmp,low(ramend)
	out spl,tmp
	ldi tmp,high(ramend)
	out sph,tmp
	sei
	ldi tmp,$41
	out tccr1b,tmp
	ldi tmp,$20
	out timsk,tmp

main:
	nop
	rjmp main

TIM1_CAPT:
	in tmp,tccr1b
	sbrc tmp,ices1
	rjmp onn
	clr tmp
	out tcnt1l,tmp
	out tcnt1h,tmp

	in tmp,tccr1b
	ori tmp,(1<<ices1)
	out tccr1b,tmp
	rjmp out_tim
onn:
;	in r18,icr1l
;	in r19,icr1h
	in tmp,tccr1b
	andi tmp,$ff-(1<<ices1)
	out tccr1b,tmp
out_tim:
	reti
.CSEG
.ORG $0
	jmp RESET ; Reset Handler
	reti	;jmp EXT_INT0 ; IRQ0 Handler
	nop
	reti	;jmp EXT_INT1 ; IRQ1 Handler
	nop
	reti	;jmp EXT_INT2 ; IRQ2 Handler
	nop
	reti	;jmp TIM2_COMP ; Timer2 Compare Handler
	nop
	reti	;jmp TIM2_OVF ; Timer2 Overflow Handler
	nop
rjmp TIM1_CAPT ; Timer1 Capture Handler
	nop
	reti	;jmp TIM1_COMPA ; Timer1 CompareA Handler
	nop
	reti	;jmp TIM1_COMPB ; Timer1 CompareB Handler
	nop
	reti	;jmp TIM1_OVF ; Timer1 Overflow Handler
	nop
	reti	;jmp TIM0_COMP ; Timer0 Compare Handler
	nop
reti;rjmp TIM0_OVF ; Timer0 Overflow Handler
	nop
	reti	;jmp SPI_STC ; SPI Transfer Complete Handler
	nop
	reti	;jmp USART_RXC ; USART RX Complete Handler
	nop
	reti	;jmp USART_UDRE ; UDR Empty Handler
	nop
	reti	;jmp USART_TXC ; USART TX Complete Handler
	nop
	reti	;jmp ADC ; ADC Conversion Complete Handler
	nop
	reti	;jmp EE_RDY ; EEPROM Ready Handler
	nop
	reti	;jmp ANA_COMP ; Analog Comparator Handler
	nop
	reti	;jmp TWI ; Two-wire Serial Interface Handler
	nop
	reti	;jmp SPM_RDY ; Store Program Memory Ready Handler
	nop
.exit
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение gauss »

ploop писал(а):Если поняли, что такое булева алгебра, но нужно еще понять, как её применить.
Вчера реализовал с помощью логических сдвигов - неудобно, но работает.
Сегодня буду ковырять...
:idea:
Ответить

Вернуться в «AVR»