《EDA课程设计报告.pdf》由会员分享,可在线阅读,更多相关《EDA课程设计报告.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北 华 航 天 工 业 学 院EDA 技术综合设计课程设计报告报告题目:16X16 点阵显示综合实验作者所在系部:电子工程系作者所在专业:自动化专业作者所在班级:作 者 姓 名:指导教师:完 成 时 间:2012 年 12 月 26 日容 摘 要在本次课设中,设计一个共阴 16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮。显示花样共有三种:6*16 点阵的 16 列同时从上往下依次点亮,全亮后16 列又同时从下往上依次熄灭;显示单字“飞”;依次循环显示“航”,“天”,“学”,“院”四个字。为使点阵显示器能够动态显示,列选信号为16-4 编码器编码输出。控制器各引脚功能为:DIN
2、3.0为显示花样模式选择,高电平有效;CLK为时钟输入端;DOTOUT15.0为行驱动信号输出;SELOUT3.0 为列选信号输出,为 16-4 编码信号。列选信号采用与7 段数码管的位选信号一样的处理方法,即列扫描信号频率大于 24HZ。关键词:VHDL,16*16 点阵,QuartusII,时序仿真图。目录一、实验目的1 二、硬件要求1 三、方案论证1 四、模块说明1 1.整体程序1 2.花样一(动画)6 3.花样二(“飞”字)6 4.花样三(四字循环显示)7 五、整体连接图7 六、实验步骤7 七、实验结果7 八、实验总结7 九、参考文献8 课程设计任务书课题名称16*16 点阵显示综合实
3、验完成时间2012-12-26 指导教师职称副教授学生班 级总体设计要求和技术要点利用 VHDL 进行数字钟设计,主要完成以下功能:1.实现 16*16 点阵的 16 列同时从上往下依次点亮,全亮后16 列又同时从下往上依次熄灭。2.当 din=0000 时,实现上述功能;当din=0001 时,显示单字“飞”;其他情况下依次循环显示“航”,“天”,“学”,“院”四个字。3.利用软件进行分频设计。工作容及时间进度安排第十三周:12月 26 日:上午了解 EDA试验箱,调试程序、仿真,使程序实现以上功能;下午进一步调试程序,对程序分配管脚,并在试验箱上连接好导线,进一步修改硬件和软件的错误;晚上
4、修改字符编码,使程序按要求显示。最后验收。课程设计成果1与设计容对应的软件程序2课程设计报告书一、实验目的(1)了解 16*16LED的工作原理。(2)了解点阵字符的产生和显示原理。二、硬件要求(1)主芯片 EPF10K10LC84-4。(2)16*16 点阵。(3)可变时钟源。(4)四个拨码开关(显示花样的选择)。三、方案论证引脚整体可分为四个部分:clk(时钟信号)、din30(花样选择控制)、dotout150(行驱动信号输出)、selout30(列选信号输出)。其中有一个分频器的设计,可用一个16 位的计数器实现:信号q 从 00000到 11111循环变换,将 q 的低四位赋给列选信
5、号selout,当 q=11111时又可驱动另一计数器工作,实现分频。第一个花样的设计:用q 驱动一个 5 位计数器 zhen从 00000到 11111循环变换,当Zhen=”00000”时,dotout=”00000”Zhen=”00001”时,dotout=”00001”Zhen=”10000”时,dotout=”1”Zhen=”11110”时,dotout=”00011”Zhen=”11111”时,dotout=”00001”。第二个花样的设计:可参考第三个花样的设计。第三个花样的设计:当 zhen1(功能同 zhen)=”00”时,显示第一个字“航”,当 selout=”0000”时
6、,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;e
7、ntity 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 is signal q:std_logic_vector(15 downto 0);signal zhen:std_logic_vector(4 downto 0);begin pro
8、cess(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=11111 then q=00000;-用于分频if zhen=11111 then zhen=00000;else
9、zhen=zhen+1;end if;else q=q+1;end if;seloutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutnull;end case;elsif din=0001 then-花样二的设计,显示“飞”字if h=1111 then h:=
10、0000;else h:=h+1;end if;seloutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout=null;end case;else-花样三的设计if q1=11111 then q1:=00000;-同 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-显示“航”
11、字case h1 is when 0000=dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout-显示“天”字case h1 is when 0000=dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout-显示“学”字case h1 is when 0000=dotoutdotoutdotout
12、dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout-显示“院”字case h1 is when 0000=dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout=null;end case;end if;end if;end process;end a;2.花样一(动画)花样一的仿真结果如下图(为了仿真的需要,在仿真时
13、已将 q 改成 5 位,即 q 在 00000到 11111间循环变换):图一:16*16 点阵的 16 列同时从上往下依次点亮图二:16 行全部点亮图三:16 列又同时从下往上依次熄灭3.花样二(“飞”字)花样一的仿真结果如下图当列选信号selout=”0000”时,dotout为“飞“字倒数第一列代码”00000”;当列选信号selout=”0001”时,dotout为“飞“字倒数第二列代码”00000”;当列选信号selout=”0010”时,dotout为“飞“字倒数第三列代码”00000”;图四:“飞”字仿真波形(部分)4.花样三(四字循环显示)为了仿真的需要,在仿真时已将q1改成
14、5 位,即 q1 在 00000到 11111间循环变换。图五:四字循环显示仿真波形五、16*16 点阵的整体连接图图 6.16*16 点阵连接示意图六、实验步骤(1)打开 quartus 软件,为本项设计建立文件夹。(2)输入设计项目的各个模块,存盘检查,编译并仿真至无误。(3)调用底层文件的各个模块,连接整体原理图,进行存盘检查,编译仿真至无误。(4)将 PC机与试验箱进行连接选择器件并锁定引脚,然后进行编译下载。(5)按照锁定好的引脚进行连线,进行硬件测试,验证仿真和测试结果。七、实验结果通过硬件测试,得到如下测试结果:(1)当 din=“0000”时,点阵的 16 列同时从上往下依次点
15、亮,全亮后16 列又同时从下往上依次熄灭;(2)当 din=“0001”时,能够显示“飞”字;(3)当 din 为其他情况时,能够循环显示“航”,“天”,“学”,“院”四个字;(4)当调节程序中q 和 q1 的位数后,花样一的行数变化速度和花样二的字变化速度能够改变。八、总结通过这次课设,对 VHDL 语言的使用有了进一步的加强,了解到了其中的一些细节问题,如信号和变量的区别:信号是在进程最后才对信号赋值,而变量是立即赋值;信号在整个结构体都适用,而变量只能在所定义的进程中使用。对所用到的软件也有了更加深刻的了解,如怎样分配管脚等,这对我们以后的学习和工作有很大的帮助。本实验综合性较高,学习到了怎么去下载程序,也懂得了时钟源的产生和时钟源的分频原理,懂得 16*16 点阵的显示原理,使得我们的知识更加丰富与实用。课设期间也发现了自己的很多不足,但是通过自己动手动脑,既增加了知识,有给了专业知识的提升。最后感老师对我们的指导,以及同学们对我的帮助,他们为我解开了我不太明白的设计难题,使得实验能够顺利完成!九、参考文献1国洪、胡辉、明山.EDA技术与实验.机械工业,20092 阎石数字电子技术基础(第五版)高等教育,2006 指导教师评语及设计成绩评语课程设计成绩:指导教师:日期:年月日