![FPGA Cyclone IV DueProLogic - Botão e LED: 5 etapas FPGA Cyclone IV DueProLogic - Botão e LED: 5 etapas](https://i.howwhatproduce.com/images/001/image-1648-12-j.webp)
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
![FPGA Cyclone IV DueProLogic - Botão e LED FPGA Cyclone IV DueProLogic - Botão e LED](https://i.howwhatproduce.com/images/001/image-1648-13-j.webp)
Neste tutorial, usaremos o FPGA para controlar o circuito externo de LED. Vamos implementar as seguintes tarefas
(A) Use os botões no FPGA Cyclone IV DuePrologic para controlar o LED.
(B) Flash LED acende e apaga periodicamente
Demonstração de vídeo
Menu do laboratório:
Etapa 1: construir o circuito eletrônico
Etapa 2: verifique o planejador de pinos e edite o código Verilog
![Verifique o Planejador de Pin e Edite o Código Verilog Verifique o Planejador de Pin e Edite o Código Verilog](https://i.howwhatproduce.com/images/001/image-1648-14-j.webp)
Etapa 3: editar o código Verilog
![Editar Código Verilog Editar Código Verilog](https://i.howwhatproduce.com/images/001/image-1648-15-j.webp)
Ao comprar o FPGA DueProLogic, você receberá um DVD. Depois de abrir "Projects_HDL", você deve ver o arquivo de código original
Adicione o código destacado. Ele registra as portas de E / S e atribui números às portas.
fio de saída [7: 0] XIO_1, // XIO - D2-D9
fio de saída [5: 0] XIO_2, // XIO - D10-D12
fio de saída [5: 0] XIO_3, // XIO - D22-D29
fio de entrada [5: 0] XIO_4, // XIO - D30-D37
fio de entrada [5: 0] XIO_5, // XIO - D38-D45
fio de saída [4: 0] XIO_6_OUT, // XIO - D46-D53
fio de entrada [31: 5] XIO_6, // XIO - D46-D53
fio de saída [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
fio de entrada UBA, // Interruptores de botão de pressão
fio de entrada UBB // Interruptores de botão de pressão
atribuir XIO_1 [3] = start_stop_cntrl;
atribuir XIO_2 [1] = start_blinky; // LED flash LED ligado e desligado
atribuir XIO_2 [2] = 1'b1; // output HIGH
atribuir XIO_2 [3] = ~ UBA; // Pressione o botão A
atribuir XIO_2 [4] = UBB; // Pressione o botão B
atribuir c_enable = XIO_5 [2];
atribuir LEDExt = XIO_5 [5];
Então, temos que definir um temporizador de atraso. Comente o código do temporizador original e escreva uma nova função do temporizador
//-----------------------------------------------
// LED Blinky start
//-----------------------------------------------
/*
sempre @ (posedge CLK_66 ou negedge RST)
começar
if (! RST)
start_blinky <= 1'b0;
outro
começar
if (control_register [7: 4]> 0)
start_blinky <= 1'b1;
outro
start_blinky <= 1'b0;
fim
fim
*/
reg [31: 0] ex;
começo inicial
ex <= 32'b0;
start_blinky <= 1'b0;
fim
sempre @ (posedge CLK_66)
começar
ex <= ex + 1'b1;
if (ex> 100000000) // flash on / off ~ 1,6 segundos, clock de 66 MHz
começar
start_blinky <=! start_blinky;
ex <= 32'b0;
fim
fim
//-----------------------------------------------
// LED Delay Timer Counter
//-----------------------------------------------
/*
sempre @ (posedge CLK_66 ou negedge RST)
começar
if (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
outro
começar
if (estado [SELECT_MODE])
led_delay_counter <= timer_value;
else if (estado [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
fim
fim*/
Etapa 4: compilar o código Verilog
![Compilar o Código Verilog Compilar o Código Verilog](https://i.howwhatproduce.com/images/001/image-1648-16-j.webp)
![Compilar o Código Verilog Compilar o Código Verilog](https://i.howwhatproduce.com/images/001/image-1648-17-j.webp)
Pressione "Iniciar Compilação" no Quartus, nenhuma mensagem de erro deve ser gerada.
Se você receber uma mensagem de erro sobre vários pinos. Vá para Atribuições -> Dispositivo -> Opções de dispositivo e pino -> Pinos de dupla finalidade -> altere o valor do pino apropriado para "Usar como E / S regular".
Após a compilação, você deve obter o arquivo de saída pof diretamente. Se o seu software não estiver atualizado, você pode obter apenas o arquivo sof. Quando isso acontecer, clique em "Arquivo" no Quartus -> "converter arquivos de programação". Altere as configurações marcadas com caixas vermelhas.
Etapa 5: vamos tentar
![](https://i.ytimg.com/vi/HNIsi5TWfXQ/hqdefault.jpg)
Afinal, deve funcionar !!! O LED amarelo está sempre aceso. O LED vermelho está piscando. O LED azul é desligado se você pressionar o botão B. O LED verde é ligado se você pressionar o botão A
Recomendado:
FPGA Cyclone IV DueProLogic controla a câmera Raspberry Pi: 5 etapas
![FPGA Cyclone IV DueProLogic controla a câmera Raspberry Pi: 5 etapas FPGA Cyclone IV DueProLogic controla a câmera Raspberry Pi: 5 etapas](https://i.howwhatproduce.com/images/001/image-1646-19-j.webp)
FPGA Cyclone IV DueProLogic Controla Câmera Raspberry Pi: Apesar do FPGA DueProLogic ser oficialmente projetado para Arduino, vamos tornar o FPGA e o Raspberry Pi 4B comunicáveis. Três tarefas são implementadas neste tutorial: (A) Pressione simultaneamente os dois botões em FPGA para inverter o ângulo de
Servo motor FPGA Cyclone IV DueProLogic: 4 etapas
![Servo motor FPGA Cyclone IV DueProLogic: 4 etapas Servo motor FPGA Cyclone IV DueProLogic: 4 etapas](https://i.howwhatproduce.com/images/002/image-3532-21-j.webp)
FPGA Cyclone IV DueProLogic Controles Servo Motor: Neste tutorial, vamos escrever código Verilog para controlar o servo motor. O servo SG-90 é fabricado pela Waveshare. Ao comprar o servo motor, você pode receber uma folha de dados que lista a tensão de operação, o torque máximo e o Pu proposto
Jogo Arduino Cyclone: 5 etapas (com imagens)
![Jogo Arduino Cyclone: 5 etapas (com imagens) Jogo Arduino Cyclone: 5 etapas (com imagens)](https://i.howwhatproduce.com/images/007/image-19107-j.webp)
Arduino Cyclone Game: Eu nunca joguei o verdadeiro jogo de arcade de ciclone, mas gosto da ideia de brincar com nosso tempo de reação. Projetei um jogo miniaturizado. Consiste em 32 LEDs formando um círculo, os LEDs acendem um a um como um perseguidor de led. O objetivo é pressionar um botão
Cyclone (Arduino LED Game): 6 etapas (com imagens)
![Cyclone (Arduino LED Game): 6 etapas (com imagens) Cyclone (Arduino LED Game): 6 etapas (com imagens)](https://i.howwhatproduce.com/images/001/image-2656-14-j.webp)
Cyclone (Arduino LED Game): Neste tutorial, vou ensiná-lo a criar um jogo de LED com muito pouco código ou experiência! Tive essa ideia por um tempo e finalmente comecei a criá-la. É um jogo divertido que nos lembra a todos os jogos de arcade. Existem outros tutoriais para
Cyclone LED Arcade Game: 4 etapas
![Cyclone LED Arcade Game: 4 etapas Cyclone LED Arcade Game: 4 etapas](https://i.howwhatproduce.com/images/002/image-5553-31-j.webp)
Cyclone LED Arcade Game: A intenção deste projeto era criar um jogo simples usando um Arduino que fosse interativo e divertido para as crianças. Lembro-me do jogo de arcade Cyclone ser um dos meus jogos de arcade favoritos quando eu era mais jovem, então decidi replicá-lo. T