cpld写lcd的时序,第一次写vhdl,大家帮忙看看有问题没

2020-02-24 20:40发布

这是连线图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
zhubright
1楼-- · 2020-02-25 01:45
这是时序,,T4=200ns,    T3=400ns,T3起始到T6起始的间隔为100ns,用的时钟周期是50ns.
zhubright
2楼-- · 2020-02-25 06:04
第一次写程序,对时序懵懵懂懂的,希望得到指点
这是程序
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity lcd is
  PORT ( LCD_RST: in std_logic;
         LCD_DIN: in std_logic_vector(7 downto 0);
LCD_CLK: in std_logic;
LCD_A0 : out std_logic;
LCD_A1 : out std_logic;
LCD_WR : BUFFER std_logic;
LCD_RD : out std_logic;
LCD_CS : BUFFER std_logic;
LCD_D  : out std_logic_vector(7 downto 0)
);
end lcd;
architecture Behave of lcd is
SIGNAL SIG_CON: integer range  0 to 15;
BEGIN
   process(LCD_RST,LCD_CLK,SIG_CON)
begin
   LCD_RD<='1';  ---读信号始终无效,只写不读
LCD_CS<='0';  ---片选信号可以一直是低吧?????????
if( LCD_RST='0' )then
if(LCD_CLK'event and LCD_CLK='0') then----------这里改成上升沿也行么????????
         SIG_CON <= SIG_CON + 1;
    end if;
if (SIG_CON=3) then
     LCD_D<=LCD_DIN;
end if;
IF (SIG_CON=5) THEn
      SIG_CON<=0;
   LCD_WR<=  NOT LCD_WR;
end if;
else   LCD_D <= "00000000";
end if;
end process;
end Behave;             
GoldSunMonkey
3楼-- · 2020-02-25 10:34
 精彩回答 2  元偷偷看……
GoldSunMonkey
4楼-- · 2020-02-25 14:40
我现在没有心思看代码了
huangxz
5楼-- · 2020-02-25 19:51
GoldSunMonkey 发表于 2013-9-18 21:25
我现在没有心思看代码了

VHDL是比较难看懂的。
EDAbuffalo
6楼-- · 2020-02-25 20:25
很多错。。看别人写的代码比看自己的麻烦的多啊。同意猴哥。。仿真一下全搞定

一周热门 更多>