Skip to main content

Maquina de Mealy Ejemplo: Ascensor

entity behavioral is port (
Planta_Baja : in std_logic;
Piso_Uno    : in std_logic;
Piso_Dos    : in std_logic;
salidas     : out std_logic_vector(1 downto 0) -- para polarizar el motor, tierra y voltaje por eso se require los dos bits

);
end behavioral

architecture AscMealy of behavioral is
type ascEstados is (PB, 1, 2);
signal Estados, prox_estados AscEstados;
begin
Process(Planta_Baja, Piso_Uno, Piso_Dos, Estado)
begin
Case PB =>
if (Planta_Baja = '1')then
Prox_estado <= 1;
else
Prox_estado <= PB;
endif;
case 1 =>
if (Piso_Uno = '1')then
Prox_estado <= 2;
else
prox_estado <= 1;
endif;
case 2 =>
if (Piso_Dos = '1')then
Prox_estado <= 1;
else
prox_estado <= 2;
endif;
end Process;

Process (reloj, Reset)
begin
if (Reset = '1')then
estado <= PB;
elsif (clk'event and clk = '1') then
estado <= Prox_estado;
end if;
end Process;

Process (Planta_Baja, Piso_Uno, Piso_Dos, Estado)
begin
case estado is
listan PB =>
if (Planta_Baja = '1') then
salidas <= '10'
else
salidas <= '00'
elsif;
end Process;

end architecture behavioral;

Comments

Popular posts from this blog

Renovar direccion IP con un Batch

Abrir un Bloq de notas en la siguiente direccion: Start > Run > notepad (Enter) Inicio > Ejecutar > notepad (Enter) Win + R > notepad (Enter) en el bloque de notas o Notepad escribir lo siguiente: echo off  cls  ipconfig /release  ipconfig /renew  ipconfig /registerdns  exit guardar el archivo como RenovarIP.bat o RenewIP.bat en la extension seleccionar todos los archivos en ves de TXT para que el archivo se guarde con la extension .bat

Llamar a 1 800 en USA desde Mexico

Cómo llamar números gratis en USA [toll free] desde México Ok, resulta que alguna vez los números gratis, se llamaban números 1- 800 (01-800 desde México). Pero lo malo de los números es que se acaban, Sobre todo en USA que les encanta vender todo. Ahora los Números gratis pueden ser 1 - 800, 1 - 877, 1 - 866 Para los americanos es cuestion de acostumbrarse, pero para nosotros los usuarios de telmex ¿cómo le hacemos si queremos marcar? Pues en primera pagando, los números gratis en USA usualmente no son gratis desde otros paises. Y en segunda, marcando correctamente. Muchos ya se saben el de los 800, es nada mas cuestion de cambiar el 01 - 800 por 001 - 881, pero y los 1 - 866 ? y los 1 - 877 ? Ahhh pues en mi otro blog ya tenía una entrada con una tablita que lo explica: Si el numero comienza con 1 888 se marca: 001 881 Si el numero comienza con 1 877 se marca: 001 882 Si el numero comienza con 1 866 se marca: 001 883 ¿Por qué? No tengo la más mínima idea, supongo que...

sumador con carry a bcd atmel89s51

ini: mov P1,0aah Inicio: mov P1, #095h mov a, P1 mov b, P1 swap a anl b, #00001111b anl a, #00001111b c0: cjne a, #00, c1 mov r0, a mov a, b jmp fin c1: cjne a, #01, c2 mov r0, a mov a, b jmp fin c2: cjne a, #02, c3 mov r0, a mov a, b jmp fin c3: cjne a, #03, c4 mov r0, a mov a, b jmp fin c4: cjne a, #04, c5 mov r0, a mov a, b jmp fin c5: cjne a, #05, c6 mov r0, a mov a, b jmp fin c6: cjne a, #06, c7 mov r0, a mov a, b jmp fin c7: cjne a, #07, c8 mov r0, a mov a, b jmp fin c8: cjne a, #08, c9 mov r0, a mov a, b jmp fin c9: cjne a, #09, c0 mov r0, a mov a, b jmp fin jmp Inicio fin: mov b, #00 cc0: cjne a, #00, cc1 add a, r0 jmp fin2 cc1: cjne a, #01, cc2 add a, r0 jmp fin2 cc2: cjne a, #02, cc3 add a, r0 jmp fin2 cc3: cjne a, #03, cc4 add a, r0 jmp fin2 cc4: cjne a, #04, cc5 add a, r0 jmp fin2 cc5: cjne a, #05, cc6 add a, r0 jmp fi...