16乘16点阵显示综合设计报告

上传人:suns****4568 文档编号:116804497 上传时间:2019-11-17 格式:DOC 页数:16 大小:153.50KB
返回 下载 相关 举报
16乘16点阵显示综合设计报告_第1页
第1页 / 共16页
16乘16点阵显示综合设计报告_第2页
第2页 / 共16页
16乘16点阵显示综合设计报告_第3页
第3页 / 共16页
16乘16点阵显示综合设计报告_第4页
第4页 / 共16页
16乘16点阵显示综合设计报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《16乘16点阵显示综合设计报告》由会员分享,可在线阅读,更多相关《16乘16点阵显示综合设计报告(16页珍藏版)》请在金锄头文库上搜索。

1、一、方案设计本设计大概包括时钟源、CPLD芯片,显示器。此次实验所用的可编程逻辑器件的主芯片为EPF10K10LC84-3。通过VHDL语言进行编程分别把程序模块进行编译仿真。所编的十六进制计数器控制花样信号对字符库进行选择,计数器产生的花样信号和时钟信号共同控制行选信号和列选信号(列选频率一定要比字选频率大很多)把相应的值输入点阵,控制显示器显示相应的字符。时钟源信号要高于24HZ。所分模块有:1、字选模块:为十六进制计数器模块,其时钟源信号要比列选信号小得多。2、列选信号:通过给定的时钟信号用来选中列,再对列进行扫描。3、显示模块:经过字选信号和列选信号输出十六位二进制用来显示一行。4、顶

2、层模块:该模块采用图形模式(图3),把所有模块按要求连接起来,再加上顶层输入信号。二、实验原理1616扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。 2864E2PROM存贮器是电可擦除/编程的只读存贮器,容量为8k8bit ,有13位并行地址线和8位并行数据线,而一个完整的字符所需的存贮容间为32字节即328 bit,也就是说2864最多可连续存256个1616点阵字形。存贮方式可事先约定好。 本实验就是要通过CPLD芯片产生读时序,将字形从2864中读出,然后产生写时序,写入1616的点阵,使其扫

3、描显示输出。三、单元电路设计 1)十六进制计数器 用VHDL语言十六进制计数器进行设计,程序如下:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY JISHU ISPORT(CLK,RST,LOAD:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END JISHU;ARCHITECTURE SHILIU OF JISHU ISBEGIN PROCES

4、S(CLK,RST,LOAD,DIN) BEGIN IF (CLKEVENT AND CLK=1) THEN IF(RST=1)THEN DOUT0); ELSIF (LOAD=1) THEN DOUT=DIN; ELSIF (DOUT=8) THEN DOUT=0000; ELSE DOUT=DOUT+1; END IF; END IF; END PROCESS;END SHILIU;设计完成后,器件图如图1 图1十六进制计数器2)对行列控制模块进行及字库进行设计行列控制模块进行及字库程序如下:library ieee;use ieee.std_logic_1164.all;use ieee

5、.std_logic_unsigned.all;entity zhi isport( din : in std_logic_vector(3 downto 0);selout : buffer std_logic_vector(3 downto 0); clk,rst: in std_logic;dotout : out std_logic_vector(15 downto 0);end zhi;architecture one of zhi isbeginprocess(clk,rst,din,selout)variable b:std_logic_vector(15 downto 0);

6、beginif rst=1then seloutseloutb:=0000000000000000; when 0000 =b:=0010001000011100; when 0001 =b:=0001000100001000; when 0010 =b:=0000100010010000; when 0011 =b:=0000000000100010; when 0100 =b:=0011100001000100; when 0101 =b:=0001000000001000; when 0110 =b:=0001000000010000; when 0111 =b:=01111111111

7、00000; when 1000 =b:=0111111111111100; when 1001 =b:=0001000000000100; when 1010 =b:=0001010000000100; when 1011 =b:=0001100000000100; when 1100 =b:=0011000000000100; when 1101 =b:=0000000000011100; when others =b:=0000000000000000; end case; when0001=seloutb:=0000000000000000; when 0000 =b:=0000000

8、000000000; when 0001 =b:=0000000110000000; when 0010 =b:=0000001100000000; when 0011 =b:=0000011000000000; when 0100 =b:=0000110000010000; when 0101 =b:=0000000000001000; when 0110 =b:=0111111111111100; when 0111 =b:=0111111111111110; when 1000 =b:=0000000000000000; when 1001 =b:=0000110000000000; w

9、hen 1010 =b:=0000011000000000; when 1011 =b:=0000001100000000; when 1100 =b:=0000000110000000; when 1101 =b:=0000000000000000; when others =b:=0000000000000000; end case; when0010= seloutb:=0000000000000000; when 0000 =b:=0000000000000110; when 0001 =b:=0001100000000110; when 0010 =b:=10011000000001

10、10; when 0011 =b:=1101100110000110; when 0100 =b:=0111100110000110; when 0101 =b:=0011100110000110; when 0110 =b:=0001100110000110; when 0111 =b:=0001100110000110; when 1000 =b:=0011100110000110; when 1001 =b:=0111100110000110; when 1010 =b:=1101100110000110; when 1011 =b:=1001100000000110; when 1100 =b:=0001100000000110; when 1101 =b:=0000000000000110; when others =b:=0000000000000000; end case; when 0011= seloutb:=0000000000000000;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号