《EDA技术综合设计》课程设计报告基于VHDL的16×16汉字点阵动态显示系统的设计_第1页
《EDA技术综合设计》课程设计报告基于VHDL的16×16汉字点阵动态显示系统的设计_第2页
《EDA技术综合设计》课程设计报告基于VHDL的16×16汉字点阵动态显示系统的设计_第3页
《EDA技术综合设计》课程设计报告基于VHDL的16×16汉字点阵动态显示系统的设计_第4页
《EDA技术综合设计》课程设计报告基于VHDL的16×16汉字点阵动态显示系统的设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、eda技术综合设计课程设计报告报 告 题 目: 基于vhdl的1616汉字 点阵动态显示系统的设计 作者所在系部: 电子工程系 作者所在专业: 电子信息工程 作者所在班级: b08212 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2010年12月14日 内 容 摘 要随着电子技术的不断革新,以二极管为基础的led点阵随之获得了广泛的应用。在日常生活中,点阵随处可见。通过多种控制手段,点阵还可以实现各种文字和图案的动态显示。而在不同的应用场合,点阵的设计要求是不同的。传统的思路一般是应用单片机实现点阵控制,但这种方法会受到一定的硬件资源限制。随着电子设计自动化技术的进展,基于可编程

2、逻辑器件进行系统芯片集成的点阵控制不失为一种新的设计思路。本设计以电子设计自动化(eda)技术为核心,运用硬件描述语言(vhdl),在max+plus环境下进行编程并下载到可编程逻辑器件中实现led点阵的控制电路。主要程序除了常用的译码器、计数器之外,还包括了自定义功能的控制模块。通过编程、调试、仿真、下载完成了汉字的动态显示。彰显了eda技术在当今电子领域中的重要地位。 关键词:eda、可编程逻辑器件、计数器、点阵、动态目 录一、 概 述 5二、方案设计与论证 51、点亮点阵中一个点的原理 52、点亮一个字的原理 53、动态显示不同汉字的原理 5三、底层文件与程序设计 61十六进制计数器 6

3、 2八进制计数器 7 3字显示控制模块 8四、系统调试与仿真 121、开发环境介绍122、新建项目 123、输入程序 124、编译 135、时序仿真 136、设计顶层文件 147、选择器件 148、设置管脚 149、下载 14五、硬件调试 15六、心得体会 15七、参考文献 15八、指导教师及评语16 课程设计任务书课题名称基于vhdl的1616 点阵汉字动态显示系统的设计完成时间2010.12.14指导教师胡 职称副教授学生姓名 班 级b08212总体设计要求和技术要点1在时钟信号的控制下,使点阵动态点亮,点亮方式自行设计,其中位选信号为16-4编码器编码输出。2设计8位开关控制的8种图案显

4、示。3设计4位或4位以上的汉字循环显示,例如“北华航天工业学院” 。工作内容及时间进度安排第15周:立题、论证方案设计周六、周日 :相关的vhdl语言程序设计与调试第16周:周1:进入eda实验室进行硬件与软件的调试周2:验收答辩课程设计成果1与设计内容对应的软件程序2课程设计报告书3成果使用说明书4设计工作量要求一、概述 1616led点阵由256个发光二极管排成正方形而成,当地二极管一端为高电平,一端为低电平时即可导通发光。通过控制相应的二极管导通或截止,就可以显示控制显示不同的汉字。而要完成汉字动态显示,则需别外设计一个“字显示控制模块”用以控制汉字的动态切换。当要显示的汉字较多时,为了

5、能使点阵迅速恢复到第一个字,还要设置一复位端口。对于汉字的切换速度,可以通过时钟频率进行控制。在以上显示过程中,要力求达到汉字清晰、连续、稳定、无闪烁的设计要求。 二、方案设计与论证本设计列扫描信号4线-16线译码器的输出,行扫描信号规律则由人为定义,从而控制汉字的显示。1、点亮点阵中一个点的原理点阵由行线与列线控制,行线高电平有效,列线低电平有效。通过控制4线-16线译码器的输出,控制点阵中某个点的行控制信号为高电平,列控制信号为低电平(即顺向偏压),该点即被点亮。通过控制行扫描和列扫描,可以点亮点阵中的任意一个点。 2、点亮一个字的原理在任一时刻,点阵中只有一个点能被点亮。为了达到一个点持

6、续点亮的视觉效果,必须考虑人眼的暂留特性,即控制列扫描频率大于128hz,再配合控制行扫描信号,即可“同时点亮”各相应的点从而形成汉字。3、动态显示不同汉字的原理 为了显示多个不同的汉字,需要设计一个计数器,每一个汉字对应计数器的一个输出状态。由4线-16线译码器输出的列扫描信号始终不变,而行扫描信号则由计数器控制,计数器的每一个状态控制一组行扫描信号,这样,在计数器计数输出的同时,实现了多个汉字的切换。由以上给出的设计指标, 该点阵显示器主要包括以下几个部分:1用于行扫描的16进制计数器;2用于控制汉字切换的带复位端口的8进制计数器;3用于控制显示不同汉字的字显示控制模块;以下是1616点阵

7、汉字显示原理框图(图1):1616点阵4线-16线译码器74ls1382片754518片字显示控制模块时钟信号源18进制计数器16进制计数器时钟信号源2图1 1616点阵汉字显示原理框图三、底层文件与程序设计1、十六进制计数器; 十六进制计数器用于行线扫描,十六个状态分别对应点阵的十六行,通过程序给每一行设置相应的代码,可控制相应的点发光,在足够大的扫描频率下,即可显示出字形。该计数器带有复位端口。十六进制计数器的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_lo

8、gic_unsigned.all;entity js_16 isport ( clk,re:in std_logic; q:out std_logic_vector(3 downto 0);end js_16;architecture count_16 of js_16 issignal tmp:std_logic_vector(3 downto 0);beginq=tmp;process(clk,re) begin if re=1 then tmp=0000; elsif clkevent and clk=1 then if tmp=1111 then tmp=0000; else tmp=

9、tmp+1; end if; end if;end process;end count_16;2、八进制计数器八进制计数器用于控制汉字的动态切换,其工作频率就是汉字切换频率,本设计要显示八个字,恰好对应八进制计数器的八个状态。该计数器带有复位端口,并与上述十六进制计数器共用一个复位信号。八进制计数器的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity js_8 isport ( clk,re:in std_logic;

10、q:buffer std_logic_vector(2 downto 0);end js_8;architecture count_8 of js_8 isbeginprocess(clk,re)beginif re=1 then q=000;elsif clkevent and clk=1 thenif q=111 then q=000;else qcase n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when 001=case n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when 010=c

11、ase n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when 011=case n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when 100=case n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when 101=case n is when 1111 =qqqqqqqqqqqqqqqqnull;end case;when 110=case n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when 1

12、11=case n is when 1111 =qqqqqqqqqqqqqqqqnull; end case;when others=null;end case;end process;end zi_architecture;四、系统调试与仿真1、开发环境介绍max+plus 是altera公司的第三代cpld开发工具软件,它集成了可编程逻辑器件的设计环境,可以在多种上平台上运行,可以实现可编程逻辑器件设计的编辑、编译、综合、适配、仿真、编程、下载、和硬件调试等常规操作技术。它还提供了灵活和高效的界面,设计者无需精通器件内部的复杂结构,只需用自己熟悉的设计输入工具(原理图、波形图或硬件描述语言

13、等)进行设计输入,max+plus将这些设计转换成目标结构所要求的格式,从而使设计都能够轻松掌握和使用max+plus软件。2、新建项目(1)启动max+plus软件,进入max+plus管理窗口。(2)在file选择project/name命令,出现以下对话框。图2 新建文本输入(3)在对话框中指定项目文件名和驱动器,单击ok完成。3、输入程序(1)选择file/new命令出现如下对话框,选中text editor file,单击ok完成。 (2)存盘(save & check),指定文件名,后缀为.vhd(如图3)。(3)输入设计好的程序。点击存盘并检查语法错误(如图4)。如果有错误则返回

14、编辑区修改;(4)选择file/create default symbol命令,建立一个符号文件。图4 编译图3 存盘4、编译点击编译图标对程序进行编译。无误后点start完成编译。5、时序仿真(1)新建仿真通道文件.scf。(2)打开仿真器(stimulation)窗口。(3)设计仿真参数start time, end time及其它有关参数(如图5)。图5设计仿真参数图6 时序仿真(4)在processing菜单中选中timing snf extraction命令(如图6)。(5)编译并运行仿真器,查看仿真结果并分析(如图7),完全符合设计要求。图7 仿真分析三个程序的输入、编译、仿真都按

15、照上述步骤进行,完成底层文件的设计。6、设计顶层文件(1)新建项目file/project/name。图8 顶层文件(2)新建图形输入文件.gdf。(3)调入创建的器件(enter symbol),按功能连接好电路。(4)编译(compiler),无误后仿真(stimulation)。(5)创建版符号文件(create default symbol)(如图8)。7、选择器件在assign菜单中选中device命令,选择器件epf10k10lc84-3(如图9)。图9 器件选择8、设置管脚在max+plus菜单选中footplan editor 命令,对管脚进行设计。9、下载连接好电缆线后,打开

16、实验箱电源,在max+plus菜单选中programmer命令,点击configure命令完成下载(如图10)。图10 下载到硬件五、硬件调试1、测试实验元件(时钟源、逻辑电平输入、点阵)的是否可用,确认可用后,按设置好的管脚连接好实验电路。2、输入不同频率的时钟信号,观察点阵显示效果,直至最佳。3、给复位端加有效电平(高电平),汉字从第一个开始显示。4、“北华航天工业学院”八个字正在正常切换,发现结果完全符合设计要求。六、心得体会在本次课程设计中,通过亲自动手动脑,与同学的交流研讨,我学到了很多东西,书本上的知识看似简单,但到了实际应用时就会遇到一些意想不到的问题,这是对理论知识没有理解彻底所造成的。课程设计让我学会了理论联系实际,更深刻地掌握了书本上的知识。但是,由于在计算机理论和电路知识的某些理解不到位,曾经导致程序在调试过程中的失败。例如对信号和变量的使用不当等。值得高兴的是,通过老师的指点和与同学的讨论,问题最终得以顺利解决。不仅如此,我还学会了较熟练地使max+plus软件,学会了利用网络工具来设计电子电路的一般步骤,初步体会到电子设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论