O
Opel_Corsa
Guest
У мене є код для FSM:
Код:
бібліотека IEEE;
ieee.std_logic_1164.all використання;
ieee.std_logic_arith.all використання;особи ФШМ
порт (
ключ в std_logic_vector (3 downto 0); - перемикачі кнопки
SW: у std_logic_vector (8 downto 0); - перехід слайдів
ledg: з std_logic_vector (7 downto 0) - зелений світлодіод (ви можете використовувати
- Служить для відображення поточного стану)
lcd_rw: з std_logic; - R / W керуючий сигнал для LCD
lcd_en: з std_logic; - Включення сигналу керування для LCD
lcd_rs: з std_logic; - чи ні, ви додаєте інструкції або характер
lcd_on: з std_logic; - використовується для включення РК-дисплея
lcd_blon: з std_logic; - використовується для включення підсвічування
lcd_data: з std_logic_vector (7 downto 0)); - використовується для передачі інструкцій або символів
FSM кінця;архітектури поведінкових з ФШМ
Тип state_type є (M, O, S, T,);
Сигнал Y: state_type;
починати
lcd_blon <= '1 '; - підсвічування завжди
lcd_on <= '1 '; - LCD завжди на
lcd_en <= ключ (0); - підключення годинник lcd_en введення
ledg (0) <= ключ (0); - відправити годинник на зелене світло, щоб допомогти вам налагодження
lcd_rw <= '0 '; - завжди письмовому вигляді LCD[Колір = червоний процесу] (ключ) [/ колір]
починати
якщо (ключ (3) = '0 '), потім - скидання LCD
lcd_rs <= '0 '; - відправити інструкції
lcd_data <= "00111000"; - підготувати LCD
lcd_data <= "00111000";
lcd_data <= "00001100";
lcd_data <= "00000001";
lcd_data <= "00000110";
lcd_data <= "10000000";
ELSIF (ключ (3) = '1 '), то
lcd_rs <= '1 '; - відправити символів
якщо (ключ (0) 'події і ключові (0) = '1'), то
у <= M;
У випадку
при M =>, якщо (SW (0) = '0 '), то
у <= O;
ELSIF (SW (0) = '1 '), то
у <=;
кінець, якщо;
при а =>, якщо (SW (0) = '0 '), то
у <= с;
ELSIF (SW (0) = '1 '), то
у <= M;
кінець, якщо;
, Коли S =>, якщо (SW (0) = '0 '), то
у <= т;
ELSIF (SW (0) = '1 '), то
у <= O;
кінець, якщо;
при Т =>, якщо (SW (0) = '0 '), то
у <=;
ELSIF (SW (0) = '1 '), то
у <= с;
кінець, якщо;
при а =>, якщо (SW (0) = '0 '), то
у <= M;
ELSIF (SW (0) = '1 '), то
у <= т;
кінець, якщо;
кінець справі;
кінець, якщо;
кінець, якщо;
закінчення процесу;с у виберіть
lcd_data <= "01001101", коли M, - відображення M
"01101111", коли про, - висновок про
"01110011", коли з, - дисплей з
"01110100", коли т, - відображення т
"01100001", коли; - дисплейкінець поведінкових;
Код:
бібліотека IEEE;
ieee.std_logic_1164.all використання;
ieee.std_logic_arith.all використання;особи ФШМ
порт (
ключ в std_logic_vector (3 downto 0); - перемикачі кнопки
SW: у std_logic_vector (8 downto 0); - перехід слайдів
ledg: з std_logic_vector (7 downto 0) - зелений світлодіод (ви можете використовувати
- Служить для відображення поточного стану)
lcd_rw: з std_logic; - R / W керуючий сигнал для LCD
lcd_en: з std_logic; - Включення сигналу керування для LCD
lcd_rs: з std_logic; - чи ні, ви додаєте інструкції або характер
lcd_on: з std_logic; - використовується для включення РК-дисплея
lcd_blon: з std_logic; - використовується для включення підсвічування
lcd_data: з std_logic_vector (7 downto 0)); - використовується для передачі інструкцій або символів
FSM кінця;архітектури поведінкових з ФШМ
Тип state_type є (M, O, S, T,);
Сигнал Y: state_type;
починати
lcd_blon <= '1 '; - підсвічування завжди
lcd_on <= '1 '; - LCD завжди на
lcd_en <= ключ (0); - підключення годинник lcd_en введення
ledg (0) <= ключ (0); - відправити годинник на зелене світло, щоб допомогти вам налагодження
lcd_rw <= '0 '; - завжди письмовому вигляді LCD[Колір = червоний процесу] (ключ) [/ колір]
починати
якщо (ключ (3) = '0 '), потім - скидання LCD
lcd_rs <= '0 '; - відправити інструкції
lcd_data <= "00111000"; - підготувати LCD
lcd_data <= "00111000";
lcd_data <= "00001100";
lcd_data <= "00000001";
lcd_data <= "00000110";
lcd_data <= "10000000";
ELSIF (ключ (3) = '1 '), то
lcd_rs <= '1 '; - відправити символів
якщо (ключ (0) 'події і ключові (0) = '1'), то
у <= M;
У випадку
при M =>, якщо (SW (0) = '0 '), то
у <= O;
ELSIF (SW (0) = '1 '), то
у <=;
кінець, якщо;
при а =>, якщо (SW (0) = '0 '), то
у <= с;
ELSIF (SW (0) = '1 '), то
у <= M;
кінець, якщо;
, Коли S =>, якщо (SW (0) = '0 '), то
у <= т;
ELSIF (SW (0) = '1 '), то
у <= O;
кінець, якщо;
при Т =>, якщо (SW (0) = '0 '), то
у <=;
ELSIF (SW (0) = '1 '), то
у <= с;
кінець, якщо;
при а =>, якщо (SW (0) = '0 '), то
у <= M;
ELSIF (SW (0) = '1 '), то
у <= т;
кінець, якщо;
кінець справі;
кінець, якщо;
кінець, якщо;
закінчення процесу;с у виберіть
lcd_data <= "01001101", коли M, - відображення M
"01101111", коли про, - висновок про
"01110011", коли з, - дисплей з
"01110100", коли т, - відображення т
"01100001", коли; - дисплейкінець поведінкових;