Leitura Assíncrona de Teclado O projeto a seguir pretende fazer a leitura de um teclado matricial sem a utilização de clock. Basicamente, quando uma tecla é pressionada o circuito identifica qual a linha e coluna correspondente e decodifica a tecla. O presente artigo apresenta um exemplo de projeto feito em VHDL […]
Exemplos com CPLD
Varredura de um teclado matricial O projeto apresentado abaixo tem o objetivo de ler um teclado matricial pelo processo de varredura, ou seja, testar linha por linha ou coluna por coluna para determinar a tecla pressionada. Neste projeto, como mostra a animação, são atribuídos valores as linhas de forma a […]
Unidade Lógica Aritmética A Unidade Lógica Aritmética (ULA) é um bloco que executa operações aritméticas e lógicas. Entre as operações aritméticas que excuta, ela soma, subtrai, divide e determina se um número é positivo ou negativo ou se é zero. Ela pode também executar funções lógicas como “E”, “OU” ou […]
Controle de display multiplexado O display não pode apresentar mais de um algarismo ao mesmo tempo, isso geraria uma corrente excessiva no dispositivo. Para resolver esse problema, utiliza-se um artifício para ‘enganar’ o olho. Quando uma imagem é transmitida mais de 16 vezes por segundo ela associa-se na retina sem interrupção, […]
Projeto Elevador Este projeto trata de um elevador didático de 5 andares, e o que motivou a escolha pelo desenvolvimento de um elevador foi a possibilidade de utilizá-lo com diversos circuitos e lógicas de controle, fazendo com que se possa realizar desde aplicações utilizando lógicas simples, até controles complexos […]
Exemplo VHDL: Relógio Estrutural O projeto exemplo a seguir apresenta um relógio (horas e minutos) escrito na forma estrutural em VHDL. Para adequar a cronometragem dos segundos, devemos utilizar um clock externo (do próprio kit de PLD) de 256Hz. Diagrama de blocos Código em VHDL: Vamos ao primeiro elemento […]