但是我的每个I/O口都必需单独控制,而oe引脚是否必需是全局使能信号,如果这样那OE引脚不够用!
程序如下:
CASE clk_count IS
WHEN 0 =>sclk<='0';
sden<='1';
sdata<='0';
WHEN 1 => sclk<='0';
sden<='1';--Enable Serial Communication Signal
sdata<=com_cpu(0);
WHEN 2 =>sclk<='1';--1
WHEN 3=> sclk<='0';
sdata<=com_cpu(1);
WHEN 4=> sclk<='1';--2
WHEN 5 => SCLK<='0';
sdata<=com_cpu(2);
WHEN 6 => sclk<='1';--3
WHEN 7 => sclk<='0';
sdata<=com_cpu(3);
WHEN 8 => sclk<='1';--4
WHEN 9 => sclk<='0';
sdata<=com_cpu(4);
WHEN 10=>sclk<='1';--5
WHEN 11=> SCLK<='0';
sdata<=com_cpu(5);
WHEN 12=> sclk<='1';--6
WHEN 13=> sclk<='0';
sdata<=com_cpu(6);
WHEN 14=> sclk<='1';--7
WHEN 15=> sclk<='0';
sdata<=com_cpu(7);
WHEN 16=> sclk<='1';--8
sdata<=com_cpu(7);
sdata<='Z';
WHEN 17=> sclk<='0';
data_ret(0)<=sdata;
WHEN 18=> sclk<='1';--9
WHEN 19=> sclk<='0';
data_ret(1)<=sdata;
WHEN 20 => sclk<='1';--10
WHEN 21=> sclk<='0';
data_ret(2)<=sdata;
WHEN 22=> sclk<='1';--11
WHEN 23=> sclk<='0';
data_ret(3)<=sdata;
WHEN 24=> sclk<='1';--12
WHEN 25=> sclk<='0';
data_ret(4)<=sdata;
WHEN 26=> sclk<='1';--13
WHEN 27=> sclk<='0';
data_ret(5)<=sdata;
WHEN 28=> sclk<='1';--14
WHEN 29=> sclk<='0';
data_ret(6)<=sdata;
WHEN 30=> sclk<='1';--15
WHEN 31=> sclk<='0';
data_ret(7)<=sdata;
WHEN 32=> sclk<='1';--16
WHEN 33 TO 34=>sclk<='0';
sdata<='0';
WHEN 35=>sclk<='0';
sdata<='0';
sden<='0';
WHEN others=>sclk<='0';
sdata<='0';
END CASE;