📄 pin_pout.vhd
字号:
--接LCD12864译码驱动程序为EDA3.2主板 http://www.hseda.com
library ieee;
use ieee.std_logic_1164.all;
entity pin_pout is
PORT
(
TXD,RXT,DK7: IN std_logic;
QK: IN std_logic_vector(6 downto 1); --QK1-QK6
P1: IN std_logic_vector(3 downto 0); --LCD12864控制位接单片机
DK: OUT std_logic_vector(3 downto 0); --LCD12864控制位接LCD
QK7,AD,RAM,DK4: OUT std_logic; --产生外设片位
P0: IN std_logic_vector(7 downto 0); --数据总线接LED1-LED8
A : OUT std_logic_vector(7 downto 0); --地位地址总线A0-A7
ALE : in std_logic; --内部LS373地址锁存位
P2 : IN STD_LOGIC_VECTOR( 2 DOWNTO 0) --高位地址总线译码位MCU A13 A14 A15
);
end;
architecture t1 of pin_pout is
SIGNAL YO : STD_LOGIC_VECTOR( 7 DOWNTO 0) ;
SIGNAL QN : STD_LOGIC_VECTOR(2 DOWNTO 0);
--LCD12864 内部连通
begin
DK <= P1;
DK4 <= P2(2);
QK7 <= DK7;
--LS373低位地址锁存
PROCESS (ALE)
BEGIN
IF ALE'EVENT AND ALE='0' THEN
A <= P0;
END IF;
END PROCESS;
--LS138地址译码
WITH P2 SELECT
YO<= "00000001" WHEN "000",
"00000010" WHEN "001",
"00000100" WHEN "010",
"00001000" WHEN "011",
"00010000" WHEN "100",
"00100000" WHEN "101",
"01000000" WHEN "110",
"10000000" WHEN "111",
"00000000" WHEN OTHERS ;
AD <= NOT(YO(0));
RAM <= NOT(YO(1));
end t1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -