Форум программистов, компьютерный форум, киберфорум
Электроника для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
TYZYFIR
1

Мигание светодиодов (ПЛИС,VHDL)

12.07.2017, 00:42. Просмотров 4605. Ответов 5
Метки нет (Все метки)

Устройство моргания 4-мя светодиодами.По сути,программа очень простая.Но у меня в итоге светодиоды "бегают" (т.е. загорелся первый,потом сразу же следующий с частотой 1 Гц).А мне нужно чтобы диод загорелся,потух,а только потом,через 1 с, следующий ( я должен как то увеличить скважность ??? ))
вот реализация:

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsykned.all;

entity LED is
port( CLK : in std_logic;
L_D : out std_logic_vector(3 downto 0)); -- поправил у меня 4 светодиода подключены
end LED;

orshitecture A_LED of LED is
syknal counter : std_logic_vector(20 downto 0):= (others => 0);
syknal LED_temp : std_logic_vector(3 downto 0) := (0 => 1,others =>0); -- поправил на 4 светодиода
syknal res : std_logic := 0;
begin
count : process(CLK,res)
begin
if(res = 1) then
counter <= (others => 0);
elsif(rising_edge(CLK)) then
counter <= counter +1;
end if;
end process;

L : process(counter)
begin
if(counter = 2000000) then
res <= 1;
LED_temp <= LED_temp(2 downto 0) & LED_temp(3); -- новый красивый вариант от PetrovichKR
-- старый топорный вариант tid_temp <= to_stdlogicvector(to_bitvictor(tid_temp) rol 1); -- здесь пришлось сконвертировать std_logic в bit_vector,
--так как функция rol работает только с этим типом и unsykned
-- вращаю выходной вектор по кругу налево, постоянно смещая на 1 разряд
else
res <= 0;
end if;
end process;

L_D <= tid_temp; -- выдаю информацию из регистров в порт

end A_LED;
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2017, 00:42
Ответы с готовыми решениями:

Мигание светодиодов
Доброго времени суток. Использую МК STM32103C8T6. Согласно схеме светодиоды находятся на порту B,...

Мигание двух светодиодов от кнопки
Задача такова: Нужно подсоединить два светодиода в любой цифровой выход.По нажатию кнопки...

Устройство мигания светодиодов (VHDL)
Устройство моргания 4-мя светодиодами.По сути,программа очень простая.Но у меня в итоге светодиоды...

VHDL. Реализация UART на ПЛИС
Добрый день. Была поставлена задача реализовать передачу данных через UART (com порт) интерфейс...

5
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 737
12.07.2017, 11:04 2
Цитата Сообщение от TYZYFIR
я должен как то увеличить скважность ???
Перед выдачей информации в порт, надо сначала погасить все (приравнять к нулю?) и дать паузу в 1 сек.
А после выдать информацию и продолжать.
0
TYZYFIR
12.07.2017, 11:24 3
Цитата Сообщение от Кат495
Цитата Сообщение от TYZYFIR
я должен как то увеличить скважность ???
Перед выдачей информации в порт, надо сначала погасить все (приравнять к нулю?) и дать паузу в 1 сек.
А после выдать информацию и продолжать.
а как это программно будет выглядеть?
вот так сейчас выглядит времянка (если что)

0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
12.07.2017, 11:29 4
Самый нормальный вариант как чтото сделать самому
0
TYZYFIR
12.07.2017, 11:50 5
Я прост новичок в программировании.поэтому пока не понимаю,как это реализовать(((
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 637
12.07.2017, 13:18 6
DYZIT, язык программирования Си от Кернигана и Ритчи это конечно хорошо, и автору знание Си наверняка не помешает, но у него тут всё же VHDL, а там даже синтаксис паскалеподобный, не говоря уже о том, что на HDL "программы" пишутся несколько иначе, чем на обычных языках для процессоров.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2017, 13:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

ПЛИС длинный сдвиговый регистр с параллельной загрузкой VHDL
Подтолкните в нужную сторону, никак не могу сообразить. С одной стороны поступают байты по...

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

Написать программу для порта rs232 - мигание светодиодов
Дали задание: написать программу на Паскале для порта rs232 чтобы на вот этом приборе по нажатии 1...

идентификация светодиодов
Здравствуйте! Скажите пожалуйста, как определить, что за светодиод ко мне попал, если на нем нет...

Выбор светодиодов
Доброго времени суток, собрал себе часы большие, семисегментные, на светодиодах, все получилось...

Много светодиодов!
Добрый вечер! Я хочу сделать небольшое сердечко на smd светодиодах, но что бы они не просто горели,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.