Ассемблер (ASM) для AVR в вопросах и ответах
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Переделал прошивку, проверил в протеусе - все нормально, 100, 75, 50, 25% показывает на осциллографе. Прошил в реале - так же горят постоянно, сейчас сделал с изменяющейся скважностью - тоже самое. Скажите, а фильтр обязательно нужен для ШИМа, а то я диоды напрямую припаял к МК?
Лень - двигатель прогресса!
- Реклама
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Фильтр - нет, а резисторы обязательно.
Кстати, глаз воспринимает яркость нелинейно. От 50% до 100% почти не заметите разницы. Проверяйте 5%-10%-20%, где-то в этих пределах.
Кстати, глаз воспринимает яркость нелинейно. От 50% до 100% почти не заметите разницы. Проверяйте 5%-10%-20%, где-то в этих пределах.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
сейчас припаяю, номинал 150 Ом пойдет - или меньше? (ШИМ всё-таки, а не постоянка...)ploop писал(а):резисторы обязательно.
А вот это ново - на заметку возьму. Спасибо.глаз воспринимает яркость нелинейно. От 50% до 100% почти не заметите разницы.
з.ы. а какие (если кто знает) все-таки примерные длительности и периоды импульсов для диодов быть должны, чтобы заметно было?
Лень - двигатель прогресса!
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Питание 5В? Тогда пойдет, и не меньше! И не путайте ШИМ и динамическую индикацию, во втором случае ток идет через диод всегда только долю периода, а в случае ШИМ - может быть и постоянно (99% периода).Челюскин писал(а):сейчас припаяю, номинал 150 Ом пойдет - или меньше? (ШИМ всё-таки, а не постоянка...)
Что заметно?Челюскин писал(а):з.ы. а какие (если кто знает) все-таки примерные длительности и периоды импульсов для диодов быть должны, чтобы заметно было?
Последний раз редактировалось Engineer_Keen Ср окт 17, 2012 13:54:42, всего редактировалось 1 раз.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
эээ... частота ШИМ?з.ы. а какие (если кто знает) все-таки примерные длительности и периоды импульсов для диодов быть должны, чтобы заметно было?
Чтобы незаметно (даже при боковом движении глаз/девайса) надо брать более 500Гц.
- Реклама
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Ясно. Но так понял - без резистора не получиться... ладно - буду работать. Спасибо за советы Engineer_Keen и ploop.ploop писал(а): чтобы незаметно... надо брать более 500Гц.
Лень - двигатель прогресса!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Получится, но можно выжечь порт МК. Почитайте про питание светодиодов (не важно от чего)
- gauss
- Держит паяльник хвостом
- Сообщения: 920
- Зарегистрирован: Сб янв 16, 2010 15:34:57
- Откуда: Sevsk/Moscow
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Alexeyslav, а можно ли в РОН считать данные только из нужного бита?
Например:
Например:
Код: Выделить всё
in temp,PC0Re: Ассемблер (ASM) для AVR в вопросах и ответах
И что должно быть, по вашему, в temp? 
Можно считать и выделить его (побитовое AND), затем сравнить с нулём.
Можно считать и выделить его (побитовое AND), затем сравнить с нулём.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Нельзя так.
Можно сначала загрузить данные из всего регистра порта данных, а потом выделить нужный бит.
Можно сначала загрузить данные из всего регистра порта данных, а потом выделить нужный бит.
Не умеешь - не берись, но не взявшись не научишься...
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Видимо, 7 старых бит, и один новыйploop писал(а):И что должно быть, по вашему, в temp?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- gauss
- Держит паяльник хвостом
- Сообщения: 920
- Зарегистрирован: Сб янв 16, 2010 15:34:57
- Откуда: Sevsk/Moscow
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Допустим, в одном регистре 0b01010101
В другом 0b01100011
Применив and между этими регистрами, мы получим 0b01000001, я правильно понял?
В другом 0b01100011
Применив and между этими регистрами, мы получим 0b01000001, я правильно понял?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
А у вас Студия 4-я есть?gauss писал(а):я правильно понял?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Полагаю, в ней тоже есть симулятор, и вы можете проверить своё предположение на практике, если не знаете законов булевой алгебры.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- gauss
- Держит паяльник хвостом
- Сообщения: 920
- Зарегистрирован: Сб янв 16, 2010 15:34:57
- Откуда: Sevsk/Moscow
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Не проходили, увы
Только что поковырял вики - понял, что все правильно понял!
Только что поковырял вики - понял, что все правильно понял!
-
petrenko
- Друг Кота
- Сообщения: 5327
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
В AVR не получится, а вот в разных вариантах мк, производных от семейства intel_MCS-51 получится ! Перебегайте к нам, к предпочитателям MCS-51 , в них ещё и DIVide и MULtiply есть.gauss писал(а):Alexeyslav, а можно ли в РОН считать данные только из нужного бита?
Например:Код: Выделить всё
in temp,PC0
Предпочитатели AVR , извините, пожалуйста, не выдержал, похвалил 51/52-е.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Да ничего страшного, просто про название темы не забывайтеПредпочитатели AVR , извините, пожалуйста, не выдержал, похвалил 51/52-е.
Не совсем. Если поняли, что такое булева алгебра, но нужно еще понять, как её применить. Подсказываю: после операции у вас все биты должны быть равны нулю, а один (нужный) - равен чему равен. Если он тоже будет ноль, то и весь регистр будет ноль, а если он будет в единице, то и регистр будет НЕ ноль. А вот между чем и чем должна быть эта операция предлагаю подумать (или погуглить, ключевое слово "маска")Только что поковырял вики - понял, что все правильно понял!
- xkp
- Опытный кот
- Сообщения: 781
- Зарегистрирован: Ср ноя 18, 2009 12:50:31
- Откуда: ковров
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
испытания сказали что программный подсчет не подходит, маленькая частота выборки. решено использовать аппаратный режим захвата на MEGA32, работающей на кварце 24 МГц.xkp на 152 странице писал(а):следующим вопросом станет время, точнее, как можно точнее измерить ширину импульса. можно даже и не в секундах или миллисекундах, а в условных еденицах.
но и тут заморочки. что то мне кажется что что-то тут не так... можно же как то проще замерить ширину импульса?
Спойлер
Код: Выделить всё
.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
Хотелки:
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Хотелки:
Спойлер
Аналоговый осциллограф С1-112, С1-118, другиене/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
- gauss
- Держит паяльник хвостом
- Сообщения: 920
- Зарегистрирован: Сб янв 16, 2010 15:34:57
- Откуда: Sevsk/Moscow
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Вчера реализовал с помощью логических сдвигов - неудобно, но работает.ploop писал(а):Если поняли, что такое булева алгебра, но нужно еще понять, как её применить.
Сегодня буду ковырять...


