Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите начинаеющему
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Neytrino
Хочу собрать 2 линейных индикатора из 16 светодиодов в каждом, как реализовать? Хотел на дешифраторе ид3, но тогда получается точка бегающая, а мне нужен именно столбик, как быть? Помогите кто чем может smile.gif Если можно, то со схемой подключения
Tanya
Цитата(Neytrino @ Jun 22 2009, 18:08) *
Хочу собрать 2 линейных индикатора из 16 светодиодов в каждом, как реализовать? Хотел на дешифраторе ид3, но тогда получается точка бегающая, а мне нужен именно столбик, как быть? Помогите кто чем может smile.gif Если можно, то со схемой подключения


Заставьте точку бегать, так, чтобы глаз не заметил... Обманите себя.
А вот других вводить в заблуждение не нужно. Вы нарушили правила названия тем.
DpInRock
А грамоте начинающий обучен? Что, влом набрать в гуле фразу "линейный индикатор на светодиодах" и получить кучу схем? А потом уже задавать вопросы?
alexashko
такое бывает, особенно у начинающих smile.gif
тут дай бог в терминах разобраться и ввести в поисковик, не то что схему сочинить ;-)
zksystem
Цитата(Neytrino @ Jun 22 2009, 18:08) *
Хочу собрать 2 линейных индикатора из 16 светодиодов в каждом, как реализовать? Хотел на дешифраторе ид3, но тогда получается точка бегающая, а мне нужен именно столбик, как быть? Помогите кто чем может smile.gif Если можно, то со схемой подключения

посмотрите в сторону микросхем TPIC6B595 и MBI5026

Цитата(alexashko @ Jun 29 2009, 12:26) *
такое бывает, особенно у начинающих smile.gif
тут дай бог в терминах разобраться и ввести в поисковик, не то что схему сочинить ;-)

Раздел для начинающих для того и создан, чтобы люди могли задать подобные вопросы.
Neytrino
Спасибо за понимание. Решил попробовать свои силы в микросхемах кр1533ир8 но пока туговато, может кто поможет, не могу заставить вывестись информацию
adc
посмотрите эти: LB1412,LM3914,SL322,A277D, UAA180,UL1890N.
16- разрядных среди них вроде нет.. но может пригодится.
А так, на микроконтроллере можно запросто.

Цитата(zksystem @ Jul 6 2009, 18:44) *
посмотрите в сторону микросхем TPIC6B595 и MBI5026

Для этих нужен контроллер или чудесная схема управления. rolleyes.gif
Neytrino
Цитата(adc @ Jul 6 2009, 21:44) *
А так, на микроконтроллере можно запросто.

А подробнее?


А вообще может кто подсказать на счет регистров?
adc
Берем микроконтроллер с АЦП. Два порта на выход на светодиоды. Пишем программку оцифровки сигнала и выводим в порты или, к примеру, в ту же MBI5026).
Если с микроконтроллерами не "на ты", тогда сложнее.
Что подсказать на счет регистров?
Neytrino
Цитата(adc @ Jul 7 2009, 16:25) *
Берем микроконтроллер с АЦП. Два порта на выход на светодиоды. Пишем программку оцифровки сигнала и выводим в порты или, к примеру, в ту же MBI5026).
Если с микроконтроллерами не "на ты", тогда сложнее.
Что подсказать на счет регистров?


вот у меня получилось зажигать светодиоды в линейке. Но хотелось бы понять, как управлять каждым отдельным светодиодом. вот мой код

#define CLOCK_LN PB4 //линия тактирования
#define RES_LN PB3 //линия сброса
#define DATA_LN PB2 //линия данных
#define REG_PORT PORTB //порт выхода
#define REG_DDR DDRB // направлене порта



void line_clk_set(int clk_set)
{
if(clk_set)
{
REG_DDR |= (1<<CLOCK_LN); //на выход
REG_PORT |= (1<<CLOCK_LN); //установить 1
}
else
{
REG_DDR |= (1<<CLOCK_LN); //на выход
REG_PORT &= ~(1<<CLOCK_LN); //установить 0
}
delay_ns(2);
}

void line_res_set(int res_set)
{
if(res_set)
{
REG_DDR |= (1<<RES_LN); //на выход
REG_PORT |= (1<<RES_LN); //установить 1
}
else
{
REG_DDR |= (1<<RES_LN); //на выход
REG_PORT &= ~(1<<RES_LN); //установить 0
}
delay_ns(2);

}

void line_data_set (int data_set)
{
if(data_set)
{
REG_DDR |= (1<<DATA_LN); //на выход
REG_PORT |= (1<<DATA_LN); //установить 1
}
else
{
REG_DDR |= (1<<DATA_LN); //на выход
REG_PORT &= ~(1<<DATA_LN); //установить 0
}
delay_ns(2);

}

void line_init() // инициализируем линию для регистров
{

line_clk_set(1);
line_res_set(0);
line_data_set(1);
delay_ns(8);
}

void line_full(int br) //
{

line_res_set(1);
line_data_set(1);
for (int i=0; i < br; i++)// чему br равно столько светодиодов и светится
{

line_clk_set(1);
delay_us(50); // со временем надо разобраться
line_clk_set(0);
}
line_init();
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.