EDA课程点阵.doc

上传人:本田雅阁 文档编号:2509257 上传时间:2019-04-04 格式:DOC 页数:23 大小:79.02KB
返回 下载 相关 举报
EDA课程点阵.doc_第1页
第1页 / 共23页
EDA课程点阵.doc_第2页
第2页 / 共23页
EDA课程点阵.doc_第3页
第3页 / 共23页
EDA课程点阵.doc_第4页
第4页 / 共23页
EDA课程点阵.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《EDA课程点阵.doc》由会员分享,可在线阅读,更多相关《EDA课程点阵.doc(23页珍藏版)》请在三一文库上搜索。

1、北 华 航 天 工 业 学 院课程设计报告(论文)设计课题: 16*16点阵控制接口设计专业班级: 学生姓名: 指导教师: 胡辉 设计时间: 2014.12.22 课程设计任务书课题名称16X16点阵控制接口设计完成时间12.30指导教师胡辉职称副教授学生姓名班 级总体设计要求和技术要点总体设计要求: 通过本课程的学习使学生掌握可编程器件、EDA开发系统软件、硬件描述语言和电子线路设计与技能训练等各方面知识;提高工程实践能力;学会应用EDA技术解决一些简单的电子设计问题。技术要点:1在时钟信号的控制下,使点阵动态点亮,点亮方式自行设计,其中位选信号为16-4编码器编码输出。2设计8位开关控制的

2、8种图案显示。3设计4位或4位以上的汉字循环显示,例如“北华航天” 。工作内容及时间进度安排课程设计成果1与设计内容对应的软件程序2课程设计报告书3成果使用说明书4设计工作量要求2014年12月28日摘要 本文介绍了一种采用单片FPGA芯片进行16X16 LED点阵控制接口电路设计的方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方法。LED点阵显示是由8X8、16X16或多个独立的LED封装而成。LED点阵显示屏可以显示各种数字、汉字或其他字符。设计使用Quartus II软件,通过VHDL语言的设计,采用动态扫描的显示方法,LED列由416译码器控制。最终通过试验箱实现功能。 关键

3、词:16X16 LED点阵;QuartusII;VHDL;416译码器目录一、设计原理1二、设计方案.1三、设计模块.21、分频器.22、计数器及显示.2四、心得体会 .2五、程序3六、参考文献.18一、设计原理本设计所使用的1616的点阵,EDA实验箱上有其接口电路,列选信号是由一个4位SEL3.0控制经4线16线译码器输出16列;行选信号为L0L15,是由16个行信号组成的,每一行由一个单独的位来控制,高电平有效。1616扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线(SEL0-SEL3),其汉字扫描

4、码由16位地址(0-15)输入。通过时钟的每列扫描显示完整汉字。二、设计方案根据系统设计的要求,设计主要由:分频器模块、计数器模块(2个)、点阵显示模块等构成。分频器主要将时钟进行分频产生比原来时钟小得多的另一信号让电路工作。计数器模块主要在时钟的驱动下为存储器提供扫描地址,实现对点阵模块的控制。并置模块主要用于将计数器产生的信号并置,从而实现汉字间的循环显示。点阵模块显示汉字及其他花式。原理图如下:三、设计模块1分频器分频器将实验箱提供的20MHz的时钟脉冲分为多个较低频率的时钟脉冲,以产生提供给列循环扫描所用的时钟信号和控制图像汉字移动的时钟信号。计数器1采用clk5分出1.2hz的时钟脉

5、冲,使得汉子1秒转换一次。计数器 2采用clk0分出的1.25mhz的时钟脉冲对每一列扫描,来完成对图形的现实,只要扫描的频率足够快,就能给人以连续的感觉。因此要控制扫描的频率,不能太低,否则,就会造成视觉上的不连续,本设计的扫描频率不得低于24Hz。2.计数器及显示由于设计产生了4种汉字循环滚动,使用拨码开关key0控制显示花样,当key0为1时,“圣诞快乐”四个字循环滚动,当key0为0时,3位拨码开关key1起作用,用来控制8种图案。四、心得体会五天的时间虽然很短暂,但在这一段的设计过程中我收获颇多。整个设计过程中首先让我对EDA有了更深的了解,并且让我对QUARTERS软件的使用更加熟

6、练。尤其在编程方面让我有了很大的进步,从只会写一些简单的小程序到这种综合性的设计,我成长了许多,学会了如何使用EDA这门技术。在编程完毕进行调试时,我们也遇到了一些困难,程序导入后发现和预想的结果有出入,归根结底还是程序编写不合理,通过思考和修改,我们成功的完成了这次课设。我深知,虽然完成了课程设计的要求,但是我感觉到我对VHDL语言的理解还停留在比较浅的层次,要想真正掌握它还需要继续努力学习它。五、程序计数器1library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;use ieee.std_logic

7、_arith.all;entity jsq is port ( clk1:in std_logic; key0 :in std_logic; key : in std_logic_vector(2 downto 0); a:buffer std_logic_vector(3 downto 0);end jsq;architecture one of jsq isbeginprocess(clk1)begin - if (clk1event and clk1=1)then if key0=1 then if a=3 then a=0000; else a a a a a a a a a NULL

8、; end case; end if ; end if; end process;end one ;计数器2library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jsq2 isport( clk2:in std_logic; sao : buffer std_logic_vector( 3 downto 0) );end jsq2;architecture two of jsq2 isbegin process(clk2,sao) begin if (clk2event and clk2=

9、1)then -25HZ,liesaoxinhao if (sao=15)then sao=0000; else sao case n is when 1111=llllllllllllllllnull; end case; when 0001= case n is when 1111=llllllllllllllllnull; end case; when 0010= case n is when 1111=llllllllllllllllnull; end case; when 0011= case n is when 1111=llllllllllllllllnull; end case

10、; when 0100=case n is when 1111=llllllllllllllllnull;end case;when 0101=case n is when 1111=llllllllllllllllnull;end case;when 0110=case n is when 1111=llllllllllllllllnull;end case; when 0111= case n is when 1111=llllllllllllllllnull; end case; when 1000= case n is when 1111=llllllllllllllllnull; e

11、nd case; when 1001=case n is when 1111=llllllllllllllllnull; end case; when 1010= case n is when 1111=llllllllllllllllnull; end case; when 1011=case n is when 1111=llllllllllllllllnull; end case; when others=null;end case;end process;end three;六、参考文献1李国洪、胡辉、沈明山.EDA技术与实验.机械工业出版社,20092闫石数字电子技术基础(第五版)高等教育出版社,200618

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1