Carregar apresentação
A apresentação está carregando. Por favor, espere
1
MC613 Laboratório de Circuitos Lógicos
2010 Profs.: Guido Araújo ic ….) Mário Lúcio Cortes ic…..) Review today, not so fast in future MC613 – 1s2010
2
MC613 Debouncer MC613 – 1s2010
3
Conteúdo O Problema SPDT – Solução SPST – Solução
SPDT – Single Pole, Single Throw SPST – Single Pole, Double Throw SPDT – Solução SPST – Solução Circuito RC Digital - Contador (freqüência de operação) Digital - Shift-Register (baixa freqüência) MC613 – 1s2010
4
O Problema SPST SPDT MC613 – 1s2010
5
SPDT - Solução MC613 – 1s2010
6
SPST – Solução Circuito RC
MC613 – 1s2010
7
SPST – Solução Digital - freqüência de operação
Borda Sw Sujo D Q Sw Limpo R QH D Q clk Count MC613 – 1s2010
8
SPST – Solução VHDL - baixa freqüência
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; USE IEEE.STD_LOGIC_ARITH.all; USE IEEE.STD_LOGIC_UNSIGNED.all; -- Debounce Pushbutton: Filters out mechanical switch -- bounce for around 40Ms. ENTITY debounce IS PORT(pb, clock_100Hz : IN STD_LOGIC; pb_debounced : OUT STD_LOGIC); END debounce; MC613 – 1s2010
9
SPST – Solução VHDL (cont.)
ARCHITECTURE a OF debounce IS SIGNAL SHIFT_PB : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN -- Debounce clock should be approximately 10ms or 100Hz PROCESS BEGIN WAIT UNTIL (clock_100Hz'EVENT) AND (clock_100Hz = '1'); -- Use a shift register to filter switch contact bounce SHIFT_PB(2 DOWNTO 0) <= SHIFT_PB(3 DOWNTO 1); SHIFT_PB(3) <= NOT PB; IF SHIFT_PB(3 DOWNTO 0) = "0000" THEN PB_DEBOUNCED <= '0'; ELSE PB_DEBOUNCED <= '1'; END IF; END PROCESS; END a; MC613 – 1s2010
10
Debouncer na placa DE1 Push buttons Toggle switches
sinais já limpos com Schmitt Trigger concepção Toggle switches sinal sujo necessário passar por debouncer se for usado como clock MC613 – 1s2010
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.