use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity lcd_triangle is
port(clk:in std_logic;--clock
busy:in std_logic;--busy signal,high level active
req:out std_logic;--request signal,requesting lcd accept the data.
data:out std_logic_vector(7 downto 0));--data
end entity lcd_triangle;
architecture arch of lcd_triangle is
signal request,contr:std_logic;
signal onebyte,t30:std_logic_vector(2 downto 0);--one byte data
signal onedata:std_logic_vector(7 downto 0);--one frame data
signal axis_xx,axis_yy,x_axis,y_axis,ascii:std_logic_vector(7 downto 0);--control words
signal control:integer range 0 to 1;--control y axis is add or sub.
begin
--------------------check busy's down edge
process(clk,busy) is
begin
if clk'event and clk='1' then
if busy='0' then
request<='1';
else
request<='0';
end if;
end if;
end process;
---------------
req<=request;
---------------at same times,send data to lcd
x1:process(request) is
begin
if request'event and request='0' then
if onebyte="110" then
onebyte<="000";
contr<='1';
else
onebyte<=onebyte+1;
contr<='0';
end if;
else
null;
end if;
end process x1;
process(contr)is
begin
if contr'event and contr='1' then
if onedata=x"9f" then
onedata<=x"20";
else
onedata<=onedata+1;
end if;
end if;
end process;
------the data that lcd will display.
y1:process(contr)is
begin
axis_xx<=onedata;
if contr'event and contr='1' then
if control=0 then
if axis_yy=x"1f" then
control<=1;
else
axis_yy<=axis_yy+1;
end if;
else
if axis_yy=x"00" then
control<=0;
else
axis_yy<=axis_yy-1;
end if;
end if;
end if;
end process y1;
----keyword->xx->yy->high 8 bit->low 8 bit...for loop
process(onebyte) is
begin
case onebyte is
when "000"=>data<=x"f2";
when "001"=>data<=axis_xx;
when "010"=>data<=axis_yy;
when "011"=>data<=x"f1";
when "100"=>data<=x_axis;
when "101"=>data<=y_axis;
when "110"=>data<=ascii;
when others=>null;
end case;
end process;
----------------------------T=30ms
process(contr) is
begin
if contr'event and contr='1' then
if t30="101" then
t30<="000";
else
t30<=t30+1;
end if;
end if;
case t30 is
when "000"=>x_axis<=x"05";y_axis<=x"18";ascii<=x"54";
when "001"=>x_axis<=x"06";y_axis<=x"18";ascii<=x"3d";
when "010"=>x_axis<=x"07";y_axis<=x"18";ascii<=x"33";
when "011"=>x_axis<=x"08";y_axis<=x"18";ascii<=x"30";
when "100"=>x_axis<=x"09";y_axis<=x"18";ascii<=x"6d";
when "101"=>x_axis<=x"0a";y_axis<=x"18";ascii<=x"73";
when others=>null;
end case;
end process;
end architecture arch;
没有合适的资源?快使用搜索试试~ 我知道了~
lcd_triangle.rar_fpga 三角_triangle
共171个文件
cdb:51个
hdb:49个
qmsg:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 26 浏览量
2022-07-15
10:06:06
上传
评论
收藏 1.23MB RAR 举报
温馨提示
LCD液晶屏显示。FPGA和CPLD都能用。显示一个三角波。
资源详情
资源评论
资源推荐
收起资源包目录
lcd_triangle.rar_fpga 三角_triangle (171个子文件)
lcd_triangle.vhd.bak 6KB
lcd_triangle.cmp.cdb 135KB
lcd_triangle.sgdiff.cdb 42KB
lcd_triangle.map.cdb 39KB
lcd_triangle.(2).cnf.cdb 13KB
lcd_triangle.pre_map.cdb 9KB
lcd_triangle.(0).cnf.cdb 9KB
lcd_triangle.rtlv_sg.cdb 9KB
lcd_triangle.(34).cnf.cdb 9KB
lcd_triangle.(11).cnf.cdb 8KB
lcd_triangle.(42).cnf.cdb 5KB
lcd_triangle.(6).cnf.cdb 4KB
lcd_triangle.(20).cnf.cdb 4KB
lcd_triangle.(32).cnf.cdb 4KB
lcd_triangle.(1).cnf.cdb 3KB
lcd_triangle.(15).cnf.cdb 3KB
lcd_triangle.(33).cnf.cdb 3KB
lcd_triangle.(31).cnf.cdb 3KB
lcd_triangle.(26).cnf.cdb 3KB
lcd_triangle.(3).cnf.cdb 3KB
lcd_triangle.(22).cnf.cdb 3KB
lcd_triangle.(28).cnf.cdb 3KB
lcd_triangle.(25).cnf.cdb 3KB
lcd_triangle.(35).cnf.cdb 3KB
lcd_triangle.(24).cnf.cdb 3KB
lcd_triangle.(7).cnf.cdb 2KB
lcd_triangle.(36).cnf.cdb 2KB
lcd_triangle.(10).cnf.cdb 2KB
lcd_triangle.(38).cnf.cdb 2KB
lcd_triangle.(5).cnf.cdb 2KB
lcd_triangle.(12).cnf.cdb 2KB
lcd_triangle.(30).cnf.cdb 2KB
lcd_triangle.(14).cnf.cdb 2KB
lcd_triangle.(17).cnf.cdb 2KB
lcd_triangle.(4).cnf.cdb 2KB
lcd_triangle.(13).cnf.cdb 2KB
lcd_triangle.(9).cnf.cdb 1KB
lcd_triangle.(8).cnf.cdb 1KB
lcd_triangle.signalprobe.cdb 1KB
lcd_triangle.(16).cnf.cdb 1KB
lcd_triangle.(23).cnf.cdb 1KB
lcd_triangle.(40).cnf.cdb 1KB
lcd_triangle.(27).cnf.cdb 1KB
lcd_triangle.(21).cnf.cdb 1KB
lcd_triangle.(41).cnf.cdb 1KB
lcd_triangle.(29).cnf.cdb 1KB
lcd_triangle.(37).cnf.cdb 890B
lcd_triangle.(18).cnf.cdb 756B
lcd_triangle.(39).cnf.cdb 639B
lcd_triangle.(19).cnf.cdb 615B
lcd_triangle.eco.cdb 257B
lcd_triangle.rtlv_sg_swap.cdb 178B
lcd_triangle.db_info 137B
lcd_triangle.cmp0.ddb 302KB
lcd_triangle.asm_labs.ddb 22KB
lcd_triangle.tis_db_list.ddb 174B
lcd_triangle.done 26B
lcd_triangle.dpf 239B
lcd_triangle.eds_overflow 7B
lcd_triangle.sgdiff.hdb 67KB
lcd_triangle.cmp.hdb 41KB
lcd_triangle.map.hdb 39KB
lcd_triangle.rtlv.hdb 9KB
lcd_triangle.pre_map.hdb 9KB
lcd_triangle.(2).cnf.hdb 4KB
lcd_triangle.sim.hdb 3KB
lcd_triangle.(34).cnf.hdb 3KB
lcd_triangle.(0).cnf.hdb 2KB
lcd_triangle.(11).cnf.hdb 2KB
lcd_triangle.(20).cnf.hdb 2KB
lcd_triangle.(3).cnf.hdb 1KB
lcd_triangle.(7).cnf.hdb 1KB
lcd_triangle.(1).cnf.hdb 1KB
lcd_triangle.(42).cnf.hdb 1KB
lcd_triangle.(38).cnf.hdb 1022B
lcd_triangle.(22).cnf.hdb 1015B
lcd_triangle.(28).cnf.hdb 1015B
lcd_triangle.(15).cnf.hdb 993B
lcd_triangle.(17).cnf.hdb 962B
lcd_triangle.(5).cnf.hdb 957B
lcd_triangle.(32).cnf.hdb 940B
lcd_triangle.(9).cnf.hdb 933B
lcd_triangle.(30).cnf.hdb 887B
lcd_triangle.(24).cnf.hdb 878B
lcd_triangle.(14).cnf.hdb 743B
lcd_triangle.(6).cnf.hdb 724B
lcd_triangle.(13).cnf.hdb 721B
lcd_triangle.(35).cnf.hdb 718B
lcd_triangle.(33).cnf.hdb 672B
lcd_triangle.(31).cnf.hdb 660B
lcd_triangle.(26).cnf.hdb 660B
lcd_triangle.(25).cnf.hdb 644B
lcd_triangle.(40).cnf.hdb 641B
lcd_triangle.(27).cnf.hdb 638B
lcd_triangle.(21).cnf.hdb 638B
lcd_triangle.(23).cnf.hdb 637B
lcd_triangle.(29).cnf.hdb 636B
lcd_triangle.(36).cnf.hdb 635B
lcd_triangle.(10).cnf.hdb 634B
lcd_triangle.(41).cnf.hdb 629B
共 171 条
- 1
- 2
APei
- 粉丝: 63
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0