practica 9 (cronometro 0-99)

Upload: leonardo-mora

Post on 04-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    1/9

    SEP DGEST SNEST

    INSTITUTO TECNOLGICO DE MATAMOROS

    DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA

    DISEO DIGITAL CON VHDL8:00 a 9:00pm, Lunes, Mircoles, Viernes

    7:00 a 9:00 pm, Martes

    Prctica 9.- Cronometro en VHDL

    Alumnos: Nm. de control:

    Leonardo Adn Mora Vzquez 11260099Jos Fortino Rico San Martn 11260110Luis Eduardo Guzmn Puga 11260085

    Julin Vera vila 11260125

    Profesor: Ing. Arturo Rodrguez Casas

    H. MATAMOROS, TAM. 05 DE NOVIEMBRE DE 2013

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    2/9

    OBJETIVO

    Implementar un cronometro del 0 al 99 con opcin de pausa y reseteo usando el

    Aldec HDL y el kit de desarrollo Basys 2.

    MARCO TERICO

    Los dispositivos digitales medidores de tiempo son una aplicacin de lgica

    secuencial en la solucin de una situacin de nuestra vida diaria. Un ejemplo de

    estos dispositivos digitales son los cronmetros.

    El cronmetro es unreloj cuya precisin ha sido comprobada y certificada por algn

    instituto o centro de control de precisin. La palabra cronmetro es

    unneologismo deetimologagriega:Cronoses eldios del tiempo, -metron es hoy un sufijo que significaaparato para medir.

    http://es.wikipedia.org/wiki/Relojhttp://es.wikipedia.org/wiki/Neologismohttp://es.wikipedia.org/wiki/Etimolog%C3%ADahttp://es.wikipedia.org/wiki/Griego_antiguohttp://es.wikipedia.org/wiki/Griego_antiguohttp://es.wikipedia.org/wiki/Chronoshttp://es.wikipedia.org/wiki/Mitolog%C3%ADa_griegahttp://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3nhttp://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3nhttp://es.wikipedia.org/wiki/Mitolog%C3%ADa_griegahttp://es.wikipedia.org/wiki/Chronoshttp://es.wikipedia.org/wiki/Griego_antiguohttp://es.wikipedia.org/wiki/Etimolog%C3%ADahttp://es.wikipedia.org/wiki/Neologismohttp://es.wikipedia.org/wiki/Reloj
  • 8/14/2019 Practica 9 (Cronometro 0-99)

    3/9

    CDIGOS VHDL

    library ieee;

    use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

    entity relojanodos is

    port(

    resetanodo,clkan:in std_logic;

    clkanout: out std_logic

    );

    end relojanodos;

    architecture func_relojanodos of relojanodos is

    signal counter:std_logic_vector(19 downto 0);

    signal clkoutsignal: std_logic;

    begin

    process(resetanodo, clkan)

    begin

    if (resetanodo='1')then

    clkoutsignal

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    4/9

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity relojcontador is

    port (

    rst2,clkin2 : in std_logic;

    clkout2 : out std_logic

    );

    end relojcontador;

    architecture behavioral of relojcontador is

    signal counter : std_logic_Vector (27 downto 0);

    signal clkout2Signal : std_logic;

    begin

    process (clkin2, rst2)

    begin

    if (rst2 = '1') then

    clkout2Signal

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    5/9

    library IEEE;use IEEE.STD_LOGIC_1164.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity contador7seg is

    port (

    clkincontador,rst,start,pause,continue : in std_logic;

    digitOne,digitTen : out std_logic_vector (3 downto 0));

    end contador7seg;

    architecture func_contador7seg of contador7seg is

    signal digitOneSignal : std_logic_vector (3 downto 0);

    signal digitTenSignal : std_logic_vector (3 downto 0);

    type states is (resetState, countState, pauseState);

    signal state : states;

    begin

    process (clkincontador, rst)

    begin

    if (rst = '1') then

    state

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    6/9

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity controldeanodos is

    port (clkinanodo : in std_logic;

    san0,san1,san2,san3 : out std_logic

    );

    end controldeanodos;

    architecture func_controldeanodos of controldeanodos is

    signal an0Signal,an1Signal,an2Signal,an3Signal : std_logic;

    begin

    process (clkinanodo)

    begin

    if (clkinanodo = '0') then

    an2Signal

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    7/9

    library IEEE;use ieee.std_logic_1164.all;

    use ieee.std_logic_unsigned.all;

    entity bcd7seg is

    port(

    binaryin: in std_logic_vector(3 downto 0);

    seg7out: out std_logic_vector(0 to 6)

    );

    end bcd7seg;

    architecture func_bcd7seg of bcd7seg is

    signal seg7signal: std_logic_vector(0 to 6);

    begin

    process(binaryin)

    begin

    case binaryin is --abcdefg se encienden en 0

    when "0000" =>seg7signal seg7signal seg7signal seg7signal seg7signal seg7signal seg7signal seg7signal seg7signal seg7signal

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    8/9

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity mux7seg is

    port (an2in,an3in: in std_logic;

    sevenOne : in std_logic_vector (0 to 6);

    sevenTen : in std_logic_vector (0 to 6);

    sevenOut : out std_logic_vector (0 to 6)

    );

    end mux7seg;

    architecture behavioral of mux7seg is

    signal sevenOutSignal : std_logic_vector (0 to 6);

    begin

    process (an2in, an3in, sevenOne, sevenTen)

    begin

    if (an2in = '1' and an3in = '0') then

    sevenOutSignal

  • 8/14/2019 Practica 9 (Cronometro 0-99)

    9/9

    Interconexin de los componentes

    CONCLUSIN

    Durante la realizacin de la prctica no se presentaron inconvenientes, fue

    finalizada correctamente a la primera, algo que pudimos notar es como se puedenusar condiciones de estado para elaborar sistemas ms complejos, y como se

    pueden facilitar la electrnica digital con la ayuda de la programacin en VHDL.

    r e s e ta no d o c l ka n o ut

    clkan

    U1

    relojanodos

    r s t 2 c l k o ut 2

    clkin2

    U2

    relojcontador

    c l k in c o n t ad o r d i g i tO n e ( 3 : 0 )

    rs t d ig itT e n(3 : 0 )

    start

    p a u s e

    continue

    U3

    contador7seg

    c lk in an o d o s an 0

    san1

    san2

    san3

    U4

    controldeanodos

    b i n a ry in ( 3 : 0 ) s e g 7 o u t( 0 : 6 )

    U5

    bcd7seg

    b i n a ry in ( 3 : 0 ) s e g 7 o u t( 0 : 6 )

    U6

    bcd7seg

    a n2 i n s e v e n O ut ( 0: 6 )

    an3in

    s e v e n O n e ( 0 : 6 )

    s e v e n T e n ( 0 : 6 )

    U7

    mux7seg

    CLK50M

    Reset

    Iniciar

    Pausar

    Continuar

    an0

    an1

    an2

    an3

    Display(0:6)

    Cableado.bde