Lenguaje VHDL para programación CPLD
--Original
--Comunicación serial CPLD con computadora
----
biblioteca ieee --Este programa Cuando; N está configurado como señal, la primera señal recibida es incorrecta y debe estudiarse
--Después de estudiar si, debe haber otra que coincida, de lo contrario se producirá un error
--Más tarde, al configurar N como variable, se modificó y agregó más en la línea 38, que se verificó que era correcta
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned. all;
use ieee.std_logic_arith.all;
la entidad chuan es
puerto(clk0, clk1: en std_logic;
rxd: en std_logic;
led: fuera std_logic_vector(7 abajo a 0)
fin chuan; >la arquitectura uno de chuan es
señal lista: std_logic; --Recibir señal
señal ready_fan: std_logic; --Permitir detección de señal
señal N: entero rango de 0 a 8;
comenzar
proceso(rxd, ready_fan)
variable ready_flag: std_logic; permitir recibir señales
begin
if ready_fan='1' then readylt;='0';
ready_flag:='0'; --Se recibe el octavo dato, cierra la recepción y permite detección
elsif rxd'event y rxd='0' y ready_flag='0' luego --Detecta cambios de nivel, una vez que el nivel alto pasa a ser bajo
readylt;='1'; :='1 '; Genera una señal que se permite recibir y no se permite la detección
finalizar si
finalizar el proceso; proceso(clk0, listo)
variable a: rango de enteros 0 a 521
comenzar
si listo='0' entonces ready_fanlt;='0'; ; --la recepción no está permitida, la detección de nivel está permitida Cambiar, la recepción no se completa
elsif clk0'event y clk0='1' luego --Permitir la recepción, recibir regularmente según la velocidad en baudios
si a=521 entonces
a:=0;
led(N)lt;=rxd;
si N=7 entonces Nlt;=0; ready_fanlt;='1' --recepción completada
else Nlt;=N 1 ;
terminar si
else a:=a
terminar si
; p>end process;
end one;
Estoy estudiando cpld y actualmente estoy trabajando en el craqueo de infrarrojos, pero aún no lo he descifrado con éxito. Podemos ser amigos y. ¡Comunícate más en el futuro! ! ! !
qq:523312207