Чего там мудрить? Опору от питания и все...ARV писал(а):...либо придется еще что-то мудрить, а вы не говорите, что именно
Мини-задача о attiny13, ШИМ и кнопках
- Goodefine
- Держит паяльник хвостом
- Сообщения: 906
- Зарегистрирован: Ср апр 16, 2008 13:22:54
- Откуда: Приднестровье, Тирасполь
Последний раз редактировалось Goodefine Чт сен 03, 2009 14:10:43, всего редактировалось 1 раз.
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
- Реклама
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
проще в качестве опорного и питания кнопок использовать Vcc. тогда напряжения будут меняться синхронно и ни каких ошибок, и опять же можно использовать 4, 5, 6 старших разряда АЦП и получим 16, 32, 64 кнопки соответственно и погрешность не будет волновать.OBIVAN писал(а):А там все просто включаем внутрений опорник кажется он там 1.1в и делаем опорник для кнопок помойму подойдет любой диод.
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
Спасибо, разобрался.ARV писал(а):каким? да уж явно не тем, который телят куда-то гонял
вы попробуйте нарисовать схемку и к ней табличку... сами все пойметеиз трех (или скольки угодно) портов оставляем любые 2 (остальные в Z - и мешать не будут) - и получаем то, о чем только что говорили.
Вот только работа сего девайса для 5и выводов,т.к. 1 вывод "убили" на АЦП будет описываться 3х мерной матрицей 5х20х3, а тинька13 это вам не "Эльбрус-3"
а ведь изначально в условии была tiny13
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18647
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
тем не менее направление решения задачи хоть и наметилось, но ушло в сторону теоретизирования. практических кодов нет ни для 3-х, ни для 30 светодиодов
так что пока задача не решена в принципе. а по теории все верно. 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Pooher
- Мучитель микросхем
- Сообщения: 491
- Зарегистрирован: Вс янв 07, 2007 01:45:48
- Откуда: Российская Федерация, будь она неладна...
Забрёл тут на сайт ARV, случайно
, и увидел интересную задумкуhttp://arv.radioliga.com/content/view/164/44/
Решил сделать себе такую, ради нитереса, только на DS1820. Если интересно, то выложу кривой, написаный "по быстрому" код
Решил сделать себе такую, ради нитереса, только на DS1820. Если интересно, то выложу кривой, написаный "по быстрому" код
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
- Pooher
- Мучитель микросхем
- Сообщения: 491
- Зарегистрирован: Вс янв 07, 2007 01:45:48
- Откуда: Российская Федерация, будь она неладна...
В приложении код. Всё делается в главном цикле (опрос DS, ШИМ). ШИМ конечно лучше в прерывание запихать, но мне лень было
, делал то так, побаловаться.
Значения ШИМ меняются по таблице. После получения температуры она прнобразуется в три числа LEDR, LEDG, и LEDB.
Принцип ШИМ:
Ну, про опрос датчика писять не буду, только в некоторых местах вставил вызов pwm (опрос-то в главном цикле
, мерцает однако)
В приложении текст программы (АСМ ессно
). Схему не выкладываю, и так всё ясно.
А, чуть не забыл, вот видео работы:
http://smotri.com/video/view/?id=u12873717707
На звуки не обращайте внимания, ет жена ребёнка писать заставляет
Значения ШИМ меняются по таблице. После получения температуры она прнобразуется в три числа LEDR, LEDG, и LEDB.
Код: Выделить всё
CompTemp:
clc
ldi Zl, LOW(datas*2)
ldi ZH, HIGH(datas*2)
mov tmp, temper
add temper, tmp
add temper, tmp
add ZL, temper
in tmp, SREG
sbrc tmp, 0
inc ZH
lpm LEDb, Z+
lpm LEDg, Z+
lpm LEDr, Z
ret
datas:
.db 200,250,0, 150,250,0, 100,250,0, 50,250,0
.db 0,250,0, 0,250,100, 0,250,150, 0,250,200
.db 0,250,250, 0,250,255, 0,150,250, 0,100,250
.db 0,50,250, 20,50,250, 40,50,250, 50,0,255
Код: Выделить всё
pwm:
mov tmp, ledr ; tmp<<LEDR
sbi ledport, 0 ; Включаем диод
rcall DelDel ; Задержка
cbi ledport, 0 ; Выключаем диод
com tmp ; Вычисляем обратный код
rcall DelDel ; Задержка с новыми параметрами tmp
mov tmp, ledg ; И так для всех светодиодов
sbi ledport, 1
rcall DelDel
cbi ledport, 1
com tmp
rcall DelDel
mov tmp, ledb
sbi ledport, 2
rcall DelDel
cbi ledport, 2
com tmp
rcall DelDel
ret
DelDel:
push tmp
inc tmp
dd:
dec tmp
cpi tmp, 0
brne dd
pop tmp
ret
В приложении текст программы (АСМ ессно
А, чуть не забыл, вот видео работы:
http://smotri.com/video/view/?id=u12873717707
На звуки не обращайте внимания, ет жена ребёнка писать заставляет
- Вложения
-
- 13.asm
- (4.31 КБ) 429 скачиваний
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
я программный шим немного по другому делал, это как раз кусок от задания ARV, 6 каналов - 6 байтовых переменных с1-с6
В - это порт В, чтобы меньше букв писать.
Код: Выделить всё
next:
cp c1,n
brne _c2
sbi B,0
_c2:
cp c2,n
brne _c3
sbi B,1
_c3:
cp c3,n
brne _c4
sbi B,2
_c4:
cp c4,n
brne _c5
sbi B,3
_c5:
cp c5,n
brne _c6
sbi B,4
_c6:
cp c6,n
brne _next
sbi B,5
_next:
inc n
brne next ; если не 0 переход на след цикл
clr tmp
out B,tmp ; включить все разряды
rjmp next- Neekeetos
- Держит паяльник хвостом
- Сообщения: 993
- Зарегистрирован: Пн сен 18, 2006 11:16:05
- Откуда: Тула
- Контактная информация:
Re: Мини-задача о attiny13, ШИМ и кнопках
Все зависит от требуемой скважности(если исключить проблемы с потреблением тока), например не получится сделать более 5 полноценных шимов с макс скважностью 100% на тини13, тк выходов только 5, если делать хрень вроде чарлиплексинга то на эти 5 теоретически можно залепить 16 светодиодов (которые все будут еле светить).Кнопок можно сделать независимых 9 или до тыщи если не ожидаются одновременные нажатия, используя только один вход ацп на лапке сброса. В чем смысл задачи то?ARV писал(а): предложите решение, как на 6 ног (вместе с ресетом) повесить 6 светодиодов и 6 кнопока улыбаться из-за угла каждый может
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
Re: Мини-задача о attiny13, ШИМ и кнопках
а я то не знал, 6 каналов сделалNeekeetos писал(а): например не получится сделать более 5 полноценных шимов с макс скважностью 100% на тини13
- Neekeetos
- Держит паяльник хвостом
- Сообщения: 993
- Зарегистрирован: Пн сен 18, 2006 11:16:05
- Откуда: Тула
- Контактная информация:
Re: Мини-задача о attiny13, ШИМ и кнопках
Иногда лучше жевать чем говорить, я в своем посте указал что один вывод используется чисто под кнопки, у тебя очевидно кнопок не было. Что по делу имеешь сказать?GP1 писал(а): а я то не знал, 6 каналов сделал(см.выше на два поста
)
ЗЫ: http://attiny.com/kitt.htm, будем считать что это почти максимум который можно подключить к мк. формула там N*(N+1), где N это количество пинов задействованных на вывод. Для 6 максимум будет 30 светодиодов , для 5 более скромно - 20.
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
Re: Мини-задача о attiny13, ШИМ и кнопках
Эта формула как раз подходит для кнопок (только "пины там задействуются на ввод") - их действительно можно запихнуть 30 штук, а вот светодиоды так подключить, не нарушив условий задачи, не удастся, так как это включение возможно только при поочередном зажигании светодиодов, что исключит требуемую реализацию ШИМ.Neekeetos писал(а):Иногда лучше жевать чем говорить, ...
- я в своем посте указал что один вывод используется чисто под кнопки, ...
- формула там N*(N+1), где N это количество пинов задействованных на вывод.
Зато, первое твое утверждение - абсолютно верно!!!

- Neekeetos
- Держит паяльник хвостом
- Сообщения: 993
- Зарегистрирован: Пн сен 18, 2006 11:16:05
- Откуда: Тула
- Контактная информация:
Re: Мини-задача о attiny13, ШИМ и кнопках
Тут вообще хоть кто-то читал условия то? Вообще то чарлиплексинг не противоречит условиям и полностью подходит. Я свое первое сообщение написал именно потому что задача сама по себе довольно странная, тк делается без проблем 30 светодиодов но светить они будут тухло если не использовать внешних ключей, зачем такое может понадобится?Yellow Tiger писал(а):Эта формула как раз подходит для кнопок (только "пины там задействуются на ввод") - их действительно можно запихнуть 30 штук, а вот светодиоды так подключить, не нарушив условий задачи, не удастся, так как это включение возможно только при поочередном зажигании светодиодов, что исключит требуемую реализацию ШИМ.
Да конечно, лучшеб ты молчал со своими кнопкамиYellow Tiger писал(а):Зато, первое твое утверждение - абсолютно верно!!!



