Страница 1 из 2

ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 10:24:21
Zwanzig
Необходимо регулировать яркость светодиодов, подключены к МК через транзисторный ключ. Вот мой тестовый "код" :))) :

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

RESET:
   ldi temp, 1;
   out DDRB, temp;
   ldi temp, 200;
   out OCR0A, temp;
   ldi temp, 0b10000011;
   out TCCR0A, temp;
   ldi temp, 0b00001101;
   out TCCR0B, temp;

Wait:
   rjmp Wait;
На ножке OC0A я, естественно ожидал ШИМ со скважностью, зависящей от значения регистра OCR0A. А получилось, что от этого регистра зависит частота - чем больше значение, тем больше период мигания. А скважность одна и та же - 50%.
Чё за хрень? Весь даташит про таймер прошёл от и до, всё правильно написано.

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 11:01:04
coredumped
Невнимательно даташит прочитали, неверно режим выбрали.
Занесите 0b00000101 в TCCR0B (WGM02=0) и будет Вам счастье :)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 11:09:52
Zwanzig
Опа, спасибо большое!
Мне почему-то въелось в мозг, что TOP - это то, что таймер использует для сравнения со счётчиком, а не верхняя граница, как на самом деле :lol:

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 11:48:22
BOB51
а программный шим сообразить вломушки?
тем более, для светодиодов на AVR(до 24 каналов)?
:)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 12:26:14
Zwanzig
А зачем? Это почти всё, что она делает. Принимает команды по I2C и задаёт соответствующую яркость.

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 12:50:44
BOB51
тогда те же функции можно и на чем по-проще слепить...
например attiny12, pic12f509, pic12f202 (жаль, что atmel из простых и дешевых малолапых только tiny13aоставила) :cry:

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 12:57:35
coredumped
Человек задал конкретный вопрос. И понеслось г@вно по трубам. Возьмите контроллер попроще. Куда уже проще? И как можно 24 канала шим сделать на 8-ногом МК? Просто слов нет :kill:

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 13:21:37
BOB51
:))) :))) :)))

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 13:23:43
coredumped
BOB51 писал(а)::))) :))) :)))
Я за мир :beer:

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 16:44:38
Zwanzig
attiny12
Тини12, тини13... сейчас вот боюсь, как бы мне уместить программный I2C в 512 слов :?

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вс апр 24, 2011 17:49:04
coredumped
Zwanzig писал(а): Тини12, тини13... сейчас вот боюсь, как бы мне уместить программный I2C в 512 слов :?
Ну, можна на тини25 перепрыгнуть, если что :) По лапам подходит и USI на борту. Если мсье захочет еще извращений, то тини45, ...85 :)))

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Пн апр 25, 2011 13:42:55
GP1
coredumped писал(а): И как можно 24 канала шим сделать на 8-ногом МК? Просто слов нет :kill:
24 не знаю, а вот 20 + кнопки это запросто.
http://radiokot.ru/forum/viewtopic.php?p=284566#p284566

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Пн апр 25, 2011 17:09:08
BOB51
речь шла всего лишь о проверенной возможности управления до 24 автономных ШИМ каналов (каждый меняет значение по своему алгоритму, 256 градаций яркости) при быстродействии микроконтроллера 0,000001s/команда как альтернативе аппаратному ШИМу... :)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Пн апр 25, 2011 17:23:12
BOB51
да, и зачем полный протокол I2C использовать?
можно ведь только байт, соответствующий заданному значению перегнать по простейшему аналогу SPI :shock:
просто посмотреть, как это делается у специализированных драйверов в тех же мобилках к примеру...

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Пн апр 25, 2011 21:11:45
Zwanzig
BOB51 писал(а):речь шла всего лишь о проверенной возможности управления до 24 автономных ШИМ каналов (каждый меняет значение по своему алгоритму, 256 градаций яркости) при быстродействии микроконтроллера 0,000001s/команда как альтернативе аппаратному ШИМу... :)
Ограничено кол-вом регистров?
BOB51 писал(а):зачем полный протокол I2C использовать?
Ну, я не только ему яркость буду передавать. Он мне, в свою очередь, на основной контроллер должен присылать значения АЦП (показания датчиков). +собирался загружать в тини13 "настройки" (ну, типа там выбор опорного напряжения) через I2C. :)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Вт апр 26, 2011 13:43:38
BOB51
ограничение по быстродействию 0,000001s/команда at89c51/2051 при кварце 12мГц
программа обслуживания "дисплея" работает в "фоновом режиме"...
по второй позиции сложнее - если I2C - программа сложнее, зато вроде 2 лапки, SPI - программа проще, но 3 вывода сожрет, а у тиньки их всего-то 5 (если нет высоковольтного программатора reset лучше не трогать!)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Ср апр 27, 2011 07:41:17
coredumped
Обсуждение плавно утекает от темы...
BOB51 писал(а):ограничение по быстродействию 0,000001s/команда at89c51/2051 при кварце 12мГц
Мастер старой школы - сразу видно :) (я в хорошем смысле :beer: ) Я долго под 51 платформу девайсы разрабатывал, потом, лет 5-6 назад, "пересел" на AVR, сейчас, из 8-разрядников - тока AVR. Какой компайлер используете? Я в свое время компили Франклином.

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Ср апр 27, 2011 13:28:24
BOB51
ну во-первых я свободно работаю со всеми тремя семействами MCS51-AVR-PIC(12/16серии) на уровне ассемблера и собственной схемотехники
ассемблер-компилятор для MCS51 рекомендую от АТМЕЛ - самый лояльный и бесплатный
а если по теме - советую обратить внимание на PIC16F688 если есть необходимость в аппаратных ШИМ , usart, АЦП и прочем удовольстви при всего 14 лапках
(к сожалению этот "зверь" у меня пока в стадии изучения на проработке)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Ср апр 27, 2011 21:39:27
coredumped
BOB51 писал(а): а если по теме - советую обратить внимание на PIC16F688 если есть необходимость в аппаратных ШИМ ,
Спасиба, но откажусь. У меня "зверинец" и без того не маленький (ARM, FMC-16, AVR + еще CPLD/FPGA Altera), на PIC нет ни времени, ни сил :)

Re: ШИМ не меняет свою скважность (ATtiny13A)

Добавлено: Чт апр 28, 2011 06:42:59
BOB51
:cry: ... не дочитал... у pic16f688 аппаратного ШИМа нету... досада...
они его в 16f684 воткнули, а тут (16f688) только usart вместо него, да еще аналогия LPM от avrок :beer: