Страница 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 - это то, что таймер использует для сравнения со счётчиком, а не верхняя граница, как на самом деле

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оставила)

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

Re: ШИМ не меняет свою скважность (ATtiny13A)
Добавлено: Вс апр 24, 2011 13:21:37
BOB51
Re: ШИМ не меняет свою скважность (ATtiny13A)
Добавлено: Вс апр 24, 2011 13:23:43
coredumped
Я за мир

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-ногом МК? Просто слов нет

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

просто посмотреть, как это делается у специализированных драйверов в тех же мобилках к примеру...
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мГц
Мастер старой школы - сразу видно

(я в хорошем смысле

) Я долго под 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

... не дочитал... у pic16f688 аппаратного ШИМа нету... досада...
они его в 16f684 воткнули, а тут (16f688) только usart вместо него, да еще аналогия LPM от avrок
