16X16点阵显示综合实验eda(共19页).doc

上传人:飞****2 文档编号:14109342 上传时间:2022-05-02 格式:DOC 页数:19 大小:158.50KB
返回 下载 相关 举报
16X16点阵显示综合实验eda(共19页).doc_第1页
第1页 / 共19页
16X16点阵显示综合实验eda(共19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《16X16点阵显示综合实验eda(共19页).doc》由会员分享,可在线阅读,更多相关《16X16点阵显示综合实验eda(共19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上北 华 航 天 工 业 学 院EDA技术综合设计课程设计报告报告题目: 16X16点阵显示综合实验 作者所在系部: 电子工程系 作者所在专业: 自动化 作者所在班级: B08221 作 者 姓 名 : 王建超 指导教师姓名: 崔瑞雪 完 成 时 间 : 2010-11-30 内 容 摘 要EDA技术是现代电子信息工程领域的一门新兴技术,它是在现代先进的计算机工作平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进的电子系统设计方法。随着EDA技术的不断发展,开发人员完全可以通过自己的电子系统设计来定制其芯片内部的的电路功能,使之成为设计者自己的专门集成电路芯片

2、。在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。字体、格式,注意本次为课设报告、不是实验报告关键词:EDA、可编程逻辑器件、时钟信号、16*16点阵字符发生器目录一、设计要求1二、实验目的1三、硬件要求1四、实验原理1五、程序设计2 16进制计数器2 16*16点阵的行列驱动器2六、原理图12七、仿真波形12八、实验总结13参考文献13课程设计任务书课题名称16*16

3、点阵显示综合实验完成时间11/30指导教师崔瑞雪职称副教授学生姓名王建超班 级B08221总体设计要求和技术要点设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。工作内容及时间进度安排11/29日: 上午 熟悉EDA V型试验系统,完成芯片下载,试验箱连线; 下午 调试程序,对错误进行修改,实现目标花样;11/30日: 上午 验收、答辩;讲前面工作写上课程设计成果1与设计内容对应的软件

4、程序2课程设计报告书3成果使用说明书4设计工作量要求专心-专注-专业一、 实验要求设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。二、实验目的1、 了解点阵字符的产生和显示原理。2、了解E2PROM和1616点阵LED的工作机理。3、 加强对于总线产生,地址定位的CPLD实现的理解。三、硬件要求1 主芯片EPF10K10LC84-4。2 可变时钟源。3 带有事先编程好字库/字符的E2PROM 2864。4 1616扫描LED点阵。四、实验原理 1616扫描LED

5、点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。要使16点阵上某个点亮,如第10行第4列的LED点亮,只要让列选信号为“0100”,从而选中第4列,再给第10行一个高电平,即可点亮该LED。本实验通过FPGA芯片写入字形,产生扫描信号。为了显示整个汉字,首先分布好汉字的排列,以行给汉字信息;然后以大于24HZ的频率扫描列,即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。由于要显示不同的字,需要给一个信DIN,对不同字不同花样进行选择。而该信号的产生可以通过一个16进制计数器完成。本设计由16进

6、制计数器,行驱动和列驱动组成。输出包括了如下图所示的列选信号SEL0SEL3。五、程序设计 116进制计数器: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

7、PROCESS(CLK,RST,LOAD,DIN) BEGIN IF (CLKEVENT AND CLK=1) THEN IF(RST=1)THEN DOUT0); ELSIF (LOAD=1) THEN DOUT=DIN; ELSIF (DOUT=15) THEN DOUT=0000; ELSE DOUT=DOUT+1; END IF; END IF; END PROCESS;END SHILIU;216*16点阵的行列驱动器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zhi

8、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); beginif rst=1then seloutseloutb:=00

9、000; when 0000 =b:=11100; when 0001 =b:=01000; when 0010 =b:=10000; when 0011 =b:=00010; when 0100 =b:=00100; when 0101 =b:=01000; when 0110 =b:=10000; when 0111 =b:=00000; when 1000 =b:=11100; when 1001 =b:=00100; when 1010 =b:=00100; when 1011 =b:=00100; when 1100 =b:=00100; when 1101 =b:=11100; w

10、hen others =b:=00000; end case; when0001=seloutb:=00000; when 0000 =b:=00000; when 0001 =b:=00000; when 0010 =b:=00000; when 0011 =b:=00000; when 0100 =b:=10000; when 0101 =b:=01000; when 0110 =b:=11100; when 0111 =b:=11110; when 1000 =b:=00000; when 1001 =b:=00000; when 1010 =b:=00000; when 1011 =b

11、:=00000; when 1100 =b:=00000; when 1101 =b:=00000; when others =b:=00000; end case; when0010= seloutb:=00000; when 0000 =b:=00110; when 0001 =b:=00110; when 0010 =b:=00110; when 0011 =b:=00110; when 0100 =b:=00110; when 0101 =b:=00110; when 0110 =b:=00110; when 0111 =b:=00110; when 1000 =b:=00110; w

12、hen 1001 =b:=00110; when 1010 =b:=00110; when 1011 =b:=00110; when 1100 =b:=00110; when 1101 =b:=00110; when others =b:=00000; end case; when 0011= seloutb:=00000; when 0000 =b:=00100; when 0001 =b:=01100; when 0010 =b:=11100; when 0011 =b:=10000; when 0100 =b:=00000; when 0101 =b:=00000; when 0110

13、=b:=11111; when 0111 =b:=11110; when 1000 =b:=00100; when 1001 =b:=10000; when 1010 =b:=11000; when 1011 =b:=01100; when 1100 =b:=00100; when 1101 =b:=00000; when others =b:=00000; end case; when0100= seloutb:=11000; when 0001 =b:=10000; when 0010 =b:=00000; when 0011 =b:=11100; when 0100 =b:=11110;

14、 when 0101 =b:=00000; when 0110 =b:=00000; when 0111 =b:=00000; when 1000 =b:=00000; when 1001 =b:=10000; when 1010 =b:=00000; when 1011 =b:=01000; when 1100 =b:=11100; when 1101 =b:=11110; when 1110 =b:=00000; when others =b:=00000; end case; when0101= seloutb:=00000; when 0001 =b:=00010; when 0010

15、 =b:=00110; when 0011 =b:=01000; when 0100 =b:=10110; when 0101 =b:=01110; when 0110 =b:=10110; when 0111 =b:=00110; when 1000 =b:=00110; when 1001 =b:=10110; when 1010 =b:=01110; when 1011 =b:=00110; when 1100 =b:=00110; when 1101 =b:=00010; when 1110 =b:=00000; when others =b:=00000; end case; whe

16、n0110= seloutb:=00000; when 0000 =b:=00010; when 0001 =b:=00110; when 0010 =b:=00110; when 0011 =b:=00110; when 0100 =b:=00110; when 0101 =b:=00110; when 0110 =b:=11110; when 0111 =b:=11110; when 1000 =b:=00110; when 1001 =b:=00110; when 1010 =b:=00110; when 1011 =b:=00110; when 1100 =b:=00110; when

17、 1101 =b:=00010; when others =b:=00000; end case; when 0111= seloutb:=00100; when 0001 =b:=11000; when 0010 =b:=11000; when 0011 =b:=00100; when 0100 =b:=01010; when 0101 =b:=01010; when 0110 =b:=01010; when 0111 =b:=01010; when 1000 =b:=11110; when 1001 =b:=01010; when 1010 =b:=01010; when 1011 =b:

18、=01010; when 1100 =b:=01010; when 1101 =b:=01010; when 1110 =b:=00010; when others =b:=00000; end case; when1000= seloutb:=11100; when 0001 =b:=00000; when 0010 =b:=00000; when 0011 =b:=10000; when 0100 =b:=01000; when 0101 =b:=00100; when 0110 =b:=00010; when 0111 =b:=00010; when 1000 =b:=00010; wh

19、en 1001 =b:=10010; when 1010 =b:=01010; when 1011 =b:=01010; when 1100 =b:=01010; when 1101 =b:=10010; when 1110 =b:=00000; when others =b:=00000; end case; when1001=seloutb:=01111; when 0000 =b:=01111; when 0001 =b:=01111; when 0010 =b:=01111; when 0011 =b:=10000; when 0100 =b:=10000; when 0101 =b:

20、=10000; when 0110 =b:=10000; when 0111 =b:=01111; when 1000 =b:=01111; when 1001 =b:=01111; when 1010 =b:=01111; when 1011 =b:=10000; when 1100 =b:=10000; when 1101 =b:=10000; when 1110 =b:=10000; when others =null; end case; when1010=seloutb:=10000; when 0000 =b:=10000; when 0001 =b:=10000; when 00

21、10 =b:=10000; when 0011 =b:=01111; when 0100 =b:=01111; when 0101 =b:=01111; when 0110 =b:=01111; when 0111 =b:=10000; when 1000 =b:=10000; when 1001 =b:=10000; when 1010 =b:=10000; when 1011 =b:=01111; when 1100 =b:=01111; when 1101 =b:=01111; when 1110 =b:=01111; when others =null; end case;when10

22、11=seloutb:=11111; when 0000 =b:=11111; when 0001 =b:=11111; when 0010 =b:=11111; when 0011 =b:=11111; when 0100 =b:=11111; when 0101 =b:=11111; when 0110 =b:=11111; when 0111 =b:=00000; when 1000 =b:=00000; when 1001 =b:=00000; when 1010 =b:=00000; when 1011 =b:=00000; when 1100 =b:=00000; when 110

23、1 =b:=00000; when 1110 =b:=00000; when others =null; end case;when1100= seloutb:=00001; when 0000 =b:=00011; when 0001 =b:=00111; when 0010 =b:=01111; when 0011 =b:=11111; when 0100 =b:=11111; when 0101 =b:=11111; when 0110 =b:=11111; when 0111 =b:=00000; when 1000 =b:=00000; when 1001 =b:=00000; wh

24、en 1010 =b:=10000; when 1011 =b:=11000; when 1100 =b:=11100; when 1101 =b:=11110; when 1110 =b:=11111; when others =null; end case; when1101= seloutb:=11111; when 0000 =b:=11111; when 0001 =b:=11111; when 0010 =b:=11111; when 0011 =b:=11111; when 0100 =b:=11111; when 0101 =b:=01111; when 0110 =b:=00111; when 0111 =b:=00011; when 1000 =b:=11111; when 1001 =b:=11111; when 1010 =b:=00111; when 1011 =b:=01111; when 1100 =b:=11111; when 1101 =b:=11111; when 1110 =b:=11111; when othe

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁