EDA课程设计报告_第1页
EDA课程设计报告_第2页
EDA课程设计报告_第3页
EDA课程设计报告_第4页
EDA课程设计报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

北 华 航 天 工 业 学 院EDA技术综合设计课程设计报告报告题目: 16X16点阵显示综合实验 作者所在系部: 电子工程系 作者所在专业: 自动化专业 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2012年12月26日 内 容 摘 要在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮。显示花样共有三种:6*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;显示单字“飞”;依次循环显示“航”,“天”,“学”,“院”四个字。为使点阵显示器能够动态显示,列选信号为16-4编码器编码输出。控制器各引脚功能为:DIN3.0为显示花样模式选择,高电平有效;CLK为时钟输入端;DOTOUT15.0为行驱动信号输出;SELOUT3.0为列选信号输出,为16-4编码信号。列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。关键词: VHDL,16*16点阵,QuartusII,时序仿真图。目 录1、 实验目的1二、硬件要求1三、方案论证1四、模块说明11. 整体程序12. 花样一(动画)63. 花样二(“飞”字)64. 花样三(四字循环显示)7五、整体连接图7六、实验步骤7七、实验结果7八、实验总结7九、参考文献8 课程设计任务书课题名称16*16点阵显示综合实验完成时间2012-12-26 指导教师职称副教授学生姓名班 级总体设计要求和技术要点利用VHDL进行数字钟设计,主要完成以下功能:1.实现16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭。2. 当din=0000时,实现上述功能;当din=0001时,显示单字“飞”;其他情况下依次循环显示“航”,“天”,“学”,“院”四个字。3. 利用软件进行分频设计。工作内容及时间进度安排第十三周: 12月26日: 上午 了解EDA试验箱,调试程序、仿真,使程序实现以上功能; 下午 进一步调试程序,对程序分配管脚,并在试验箱上连接好导线,进一步修改硬件和软件的错误;晚上 修改字符编码,使程序按要求显示。最后验收。课程设计成果1与设计内容对应的软件程序2课程设计报告书一、 实验目的(1)了解16*16LED的工作原理。(2)了解点阵字符的产生和显示原理。二、硬件要求(1)主芯片EPF10K10LC84-4。(2)16*16点阵。(3)可变时钟源。(4)四个拨码开关(显示花样的选择)。三、方案论证引脚整体可分为四个部分:clk(时钟信号)、din30(花样选择控制)、dotout150(行驱动信号输出)、selout30(列选信号输出)。其中有一个分频器的设计,可用一个16位的计数器实现:信号q从0000000000000000到1111111111111111循环变换,将q的低四位赋给列选信号selout,当q=1111111111111111时又可驱动另一计数器工作,实现分频。第一个花样的设计:用q驱动一个5位计数器zhen从00000到11111循环变换,当Zhen=”00000”时,dotout=”0000000000000000”Zhen=”00001”时,dotout=”0000000000000001” Zhen=”10000”时,dotout=”111111111111111111”Zhen=”11110”时,dotout=”0000000000000011”Zhen=”11111”时,dotout=”0000000000000001”。第二个花样的设计:可参考第三个花样的设计。第三个花样的设计:当zhen1(功能同zhen)=”00”时,显示第一个字“航”,当selout=”0000”时,dotout为“航”字的最后一列代码;当selout=”0001”时,dotout为“航”字的倒数第二列代码,依次类推。其他三个字的设计同“航”字。四、模块说明16*16点阵综合显示实验是用一个整体的程序编写的,所以不可分成模块,但可以分成三个部分:16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;显示“飞”字;依次循环显示“航”、“天”、“学”、“院”。下面的程序分析中将讨论三个部分的设计。1.整体程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dots_test is port(clk:in std_logic; - -硬件接口din:in std_logic_vector(3 downto 0);dotout:out std_logic_vector(15 downto 0);selout:buffer std_logic_vector(3 downto 0);end dots_test;architecture a of dots_test issignal q:std_logic_vector(15 downto 0);signal zhen:std_logic_vector(4 downto 0);beginprocess(clk,din)variable h:std_logic_vector(3 downto 0);variable h1:std_logic_vector(3 downto 0);variable q1:std_logic_vector(15 downto 0);variable zhen1:std_logic_vector(1 downto 0); begin if clkevent and clk=1 then if din=0000 then - -花样一的设计 if q=1111111111111111 then q=0000000000000000; - -用于分频 if zhen=11111 then zhen=00000; else zhen=zhen+1; end if; else q=q+1; end if; seloutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutnull;end case; elsif din=0001 then - -花样二的设计,显示“飞”字 if h=1111 then h:=0000; else h:=h+1; end if; seloutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout=null; end case; else - -花样三的设计 if q1=1111111111111111 then q1:=0000000000000000; - -同q,用于分频 if zhen1=11 then zhen1:=00; else zhen1:=zhen1+1; end if; else q1:=q1+1; end if; h1:=q1(3 downto 0); selout - -显示“航”字case h1 is when 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout - -显示“天”字case h1 is when 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout - -显示“学”字case h1 is when 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout - -显示“院”字case h1 is when 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout=null; end case; end if;end if;end process;end a;2.花样一(动画) 花样一的仿真结果如下图(为了仿真的需要,在仿真时已将q改成5位,即q在00000到11111间循环变换):图一:16*16点阵的16列同时从上往下依次点亮图二:16行全部点亮图三:16列又同时从下往上依次熄灭3.花样二(“飞”字)花样一的仿真结果如下图当列选信号selout=”0000”时,dotout为“飞“字倒数第一列代码”0100000000000000”;当列选信号selout=”0001”时,dotout为“飞“字倒数第二列代码”1000100000000000”;当列选信号selout=”0010”时,dotout为“飞“字倒数第三列代码”1000010000000000”;图四:“飞”字仿真波形(部分)4.花样三(四字循环显示)为了仿真的需要,在仿真时已将q1改成5位,即q1在00000到11111间循环变换。图五:四字循环显示仿真波形五、16*16点阵的整体连接图 图6. 16*16点阵连接示意图六、实验步骤(1)打开quartus软件,为本项设计建立文件夹。(2)输入设计项目的各个模块,存盘检查,编译并仿真至无误。(3)调用底层文件的各个模块,连接整体原理图,进行存盘检查,编译仿真至无误。(4)将PC机与试验箱进行连接选择器件并锁定引脚,然后进行编译下载。(5)按照锁定好的引脚进行连线,进行硬件测试,验证仿真和测试结果。七、实验结果 通过硬件测试,得到如下测试结果:(1)当din=“0000”时,点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;(2)当din=“0001”时,能够显示“飞”字;(3)当din为其他情况时,能够循环显示“航”,“天”,“学”,“院”四个字;(4)当调节程序中q和q1的位数后,花样一的行数变化速度和花样二的字变化速度能够改变。八、总结通过这次课设,对VHDL语言的使用有了进一步的加强,了解到了其中的一些细节问题,如信号和变量的区别:信号是在进程最后才对信号赋值,而变量是立即赋值;信号在整个结构体内都适用,而变量只能在所定义的进程中使用。对所用到的软件也有了更加深刻的了解,如怎样分配管脚等,这对我们以后的学习和工作有很大的帮助。本实验综合性较高,学习到了怎么去下载程序,也懂得了时钟源的产生

温馨提示

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

评论

0/150

提交评论