Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 09.03.2012, 00:10   #131
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

млин я ошибся я кадод на + кинул, вот и запарился
Я извиняюсь что морочил голову, Ошибся я сори
Реклама:
SAHA_T вне форума  
Непрочитано 09.03.2012, 00:15   #132
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: И снова ШИМ

Бывает...
omercury вне форума  
Непрочитано 09.03.2012, 00:31   #133
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
Я извиняюсь что морочил голову, Ошибся я сори
Ошибки надо смывать... кровью (с)

Долго я не хотел мешать. Ладно, вставлю свой пятак.
Подобную задачу я решал немного иначе. Счетчик тиков запускаем в обратном счете. Тогда легче организовать соответствие кода канала и яркости.
Адаптируя под уже написанное, получится примерно так:

1. Все выводы портов = 0 (светодиоды погашены)
2. начальное значение Tic=127
3. Дальше - перебор всех каналов. Но проверка производится только на равенство:
// Канал 1
if (Tic == Ch_0) sbi(PORTA,0);
// Канал 1
if (Tic == Ch_1) sbi(PORTA,1);
// Канал 2
if (Tic == Ch_2) sbi(PORTA,2);
// Канал 3
if (Tic == Ch_3) sbi(PORTA,3);
............................................
// Канал 15
if (Tic == Ch_15) sbi(PORTC,7);


Tic--; //уменьшаем счетчик тиков
if(Tic==0 {
Tic=127; //начинаем все сначала


Таким образом, код яркости может принимать любое значение, от нуля до 127. При нуле светодиод вообще не засветится. При 127 светодиод погаснет лишь на мгновение, намного меньше длительности тика, и будет максимальная яркость.

Может что-то незначительное и пропустил, я тороплюсь.
Alex9797 вне форума  
Сказали "Спасибо" Alex9797
leartis (09.03.2012)
Непрочитано 09.03.2012, 00:57   #134
leartis
Частый гость
 
Регистрация: 04.10.2007
Адрес: Запорожье
Сообщений: 43
Сказал спасибо: 8
Сказали Спасибо 14 раз(а) в 13 сообщении(ях)
leartis на пути к лучшему
По умолчанию Re: И снова ШИМ

Ну то есть, все получилось?
Тогда на закуску:
Буква
Что можно сделать из простой Mеги128..
leartis вне форума  
Непрочитано 09.03.2012, 01:46   #135
whoim
Почётный гражданин KAZUS.RU
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: И снова ШИМ

Мне скоро придется столкнутся с этой задачей для 512 светодиодов. Покам продумываю так..
1) Массив data[x][y] (byte) 0..255 -яркость
2) x = строки, у - столбцы
3) цикл по х - строка, за один проход таймера - одна строка, с инкрементом переменной х
4) формирование массива байт для сдвиговых регистров. Если переменная яркости меньше значения массива для этой позиции - зажигаем светодиод.
5) по достижении х максимума сбрасываем его в 0 и инкрементим переменную ярксти

в общем, у нас цикл от 0 до 255 как раз для организации яркости. Светодиод горит, если значение его яркости меньше или равно текущему шагу цикла. В итоге он горит как раз на свое значение.
whoim вне форума  
Непрочитано 09.03.2012, 02:11   #136
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

leartis АГА все работает leartis это твое изобретение буква ? Вообще очень кульно
Завтра попробую изменить код и сделать как написал Alex9797. А пока что сделал плату. Также у меня есть задумка сделать рандом чисел, что бы не повторялись, т.е слово из 15 букв и каждая буква появляется в случайном порядке но не повторяется и так пока не появится полностью слово из 15 букв. Сперва хотелось сделать просто рандом, но потом захотел усложнить задачу. Может у кого есть какие либо наброски, хотя лучше без набросков, так как на готовом многому не научишься, поэтому постараюсь сделать сам. От Вас бы я хотел услышать как лучше сделать этот рандом.
У меня есть такой вариант массив с рандомом и потом условием просто проверять есть ли на выходе этого пина 1 если есть тогда пропуск иначе делаем 1
SAHA_T вне форума  
Непрочитано 09.03.2012, 02:16   #137
SAHA_T
Прописка
 
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
SAHA_T на пути к лучшему
По умолчанию Re: И снова ШИМ

Мне стало очень интересно как можно подключить микру БИОСА от матери к МК и как использовать его память.
SAHA_T вне форума  
Непрочитано 09.03.2012, 04:01   #138
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от SAHA_T Посмотреть сообщение
Мне стало очень интересно как можно подключить микру БИОСА
Не отвлекайтесь на посторонние вещи, думайте про рандом!

Самое простое - написать простой random-генератор на Дельфях, составить таблицу байт на 500 и запостить эту таблицу во флешь-память микропроцессора. Потом просто пользовать таблицу по кругу: всё равно никто не запомнит последовательность включения букв и будет полный рандом!
Yurkin2007 вне форума  
Непрочитано 09.03.2012, 09:06   #139
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от Alex9797 Посмотреть сообщение
При нуле светодиод вообще не засветится.
Да ну?
Сообщение от Alex9797 Посмотреть сообщение
if (Tic == Ch_0) sbi(PORTA,0);
Что будет, если и Tic и Ch_0 равны 0 ? Или просто равны... В любом случае хоть на чуть-чуть, но мигнёт.
Лучше так
Цитата:
Tic--; //уменьшаем счетчик тиков
if(Tic==1 {
Tic=127; //начинаем все сначала
...или так
Цитата:
Tic--; //уменьшаем счетчик тиков
if(Tic==0 {
Tic=126; //начинаем все сначала
в зависимости от логики работы.

Сообщение от Yurkin2007 Посмотреть сообщение
Не отвлекайтесь на посторонние вещи, думайте про рандом!
Угу - сроки.
уЛУТшайзер будете делать потом.
omercury вне форума  
Непрочитано 09.03.2012, 10:36   #140
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: И снова ШИМ

Сообщение от omercury Посмотреть сообщение
Сообщение от Alex9797
При нуле светодиод вообще не засветится.
Да ну?
А какие у него шансы засветиться? В начале отработки ШИМа все светодиоды погашены. Начальное значение счетчика тиков - максимальное. В процессе отработки счетчик декрементируется. И, как только его значение становится равным нулю - тут же ему снова присваивается максимальное значение. Таким образом, при сравнении значений счетчика и параметра яркости, ни разу не произойдет совпадения, и светодиоду не будет повода включиться.

Поэтому
Сообщение от omercury Посмотреть сообщение
if (Tic == Ch_0) sbi(PORTA,0);
Что будет, если и Tic и Ch_0 равны 0 ? Или просто равны... В любом случае хоть на чуть-чуть, но мигнёт.
этого просто не будет.

И остальные ухищрения тоже излишни, и только уменьшают диапазон ШИМ
Alex9797 вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова о коллекционировании. Roshens Делимся опытом 0 13.12.2010 19:43
СНОВА ЖКИ Gladkih Микроконтроллеры, АЦП, память и т.д 0 27.12.2009 23:48
И снова блютуз! Haulpak Ремонт оргтехники 0 10.03.2009 05:06
Снова DNA1001 R666 Информация по радиокомпонентам 0 25.01.2008 16:39
И снова температура ua_gruzin Поиск схем. Делимся схемами 0 14.02.2007 01:18


Часовой пояс GMT +4, время: 14:15.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot