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

下载本文档

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

文档简介

1、北华航天工业学院EDA 技术综合设计课程设计报告报告题目:16X16点阵显示综合实验作者所在系部:电子工程系作者所在专业:自动化专业作者所在班级:作者姓名:指导教师:完成时间:2012年12月26日容摘要在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的 控制下,使点阵动态点亮。显示花样共有三种:6*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;显示单字“飞”: 依次循环显示“航” ,“天”,“学”,“院”四个字。为使点阵显示器能够动态显示,列选信号为 16-4 编码器编码输出。控制器各引脚功能为: DIN3.0 为显示花样模式选择, 高电平有效;

2、 CLK 为时钟输入端; DOTOUT15.0为行驱动信号输出; SELOUT3.0为列选信号 输出,为 16-4 编码信号。列选信号采用与 7 段数码管的位选信号一样的处理方法,即列扫描信号 频率大于 24HZ。关键词: VHDL, 16*16 点阵, QuartusII ,时序仿真图目录、实验目的 1、硬件要求 1三、 方案论证 1四、 模块说明 11. 整体程序2. 花样一(动画) 63. 花样二(“飞”字) 64. 花样三(四字循环显示) 7五、整体连接图 7六、实验步骤 7七、实验结果 7八、实验总结 7九、参考文献 8课程设计任务书课题名称16*16点阵显示综合实验完成时间2012

3、-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-42)16*16 点阵。3)可变时钟源。4)四个拨码开关(显示花样的选择)三、方案论证引脚整体可分为四个部分:clk(时钟信号)、din30(花样选择控制)、dotout150 (行驱动信号输出)、selout30(列选信号输出)。其中有一个分频器的设计,可用一个 16位的计数器实现:信号q从00000到11111循 环变换,将q的低四位赋给列选信号selout当 q=11111时又可驱动另一计数器

5、工作,实现 分频。第一个花样的设计:用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” 时,dotout为“航”字的最后一列代码;当selout=”0001”

6、时,dotout为“航”字的倒数第二 列代码,依次类推。其他三个字的设计同“航”字。四、模块说明16*16 点阵综合显示实验是用一个整体的程序编写的,所以不可分成模块,但可以分 成三个部分: 16*16 点阵的 16 列同时从上往下依次点亮,全亮后 1 6列又同时从下往上依 次熄灭;显示“飞”字;依次循环显示“航” 、“天”、“学”、“院”。下面的程序分析中将讨 论三个部分的设计。1. 整体程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dots_test isport(clk:

7、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 process(clk,din) variab

8、le 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);beginif clkevent and clk=1 then- - 花样一的设计if din=0000 thenif q=11111 then q=00000;- - 用于分频if zhen=11111 then zhen=00000; else zhen=zhen+1

9、; end if;else q=q+1;end if; seloutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutnull;end case;elsif din=0001 then - - 花样二的设计,显示“飞”字 if h=1111 then h:=0000

10、;else h:=h+1;end if;seloutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout=null;end case;else - - 花样三的设计if q仁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 iswhen 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout - - 显示“天”字 case h1 iswhen 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout显示“学”字case h1 iswhen 0000 =dotoutdotou

12、tdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout case h1 iswhen 0000 =dotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotoutdotout=null; end case;end if;end if;end process;end a;2. 花样一(动画)花样一的仿真结果如下图(为了仿真的需要,在

13、仿真时已将q改成5位,即q在00000 到11111间循环变换):00000( oooooocboi300000000000000020.0 ns17. 95 usJUNameelk I(+ din+ | do tout 1(+j selarut L1-0Ck砂 dinE ictoizt禅23+J ElcutSamedk卸遍 din.+ dot out診3 sei out190 G ns30.C ns40. 0 ns0000X 00000X EDDtXGiDMCi 口皿 11 丫 OtJOCi 皿 OEOOOOlli图一:16*16点阵的16列同时从上往下依次点亮1111IJ呱删o删owim删

14、测oooo11111111( 011111111H11111 X llLlUllllll 1111 X OlHlllllllllllldijiiiiiiiiii200 0 卫24C210.0 皿220.0 让缈.G he图二:16行全部点亮1 1 1 1 1MillmuinooooI ooaoooooooDanil X oocoaoaoaoaoam Xoaoooaomooooii X aoooaaoooooooaoi410. 020.0 ns2B0.0 ns-400. 3 ns370.0 z图三:16列又同时从下往上依次熄灭3. 花样二(“飞”字)花样一的仿真结果如下图NameEi. 181

15、ns 6. 457 ns6. 733 ns7. 009 ns7. 28S ns7. SB 1 its7. 8i iiit*0S din+1 do tout+ slutU1 11 1 1 【0001叹 oiooocoooaodoooo ) 10001OOOOOOOOOOC X1000010000000000XIXoooaXoooiXooioXooiiX当列选信号selout= ” 000(时,dotout为“飞“字倒数第一列代码” 00000”当列选信号selout= ” 0001”,dotout为“飞“字倒数第二列代码” 00000”当列选信号selout= ” 001(时,dotout为“飞

16、“字倒数第三列代码” 00000”图四:“飞”字仿真波形(部分)4. 花样三(四字循环显示)为了仿真的需要,在仿真时已将 q1改成5位,即q1在00000到11111间循环变换Nafne11. &35 ns 12. Ill1nst2. 3871ns12. 663 ns12.539ns13 2:15 ts113.4oikri-莎1din01012 &do toutoioood&ioooocoooJGOOOOOOOOOOOOODODX1000000000000000Q 23sei outilia1111DCoooaX0001.X显不字1显示“天”字图五:四字循环显示仿真波形五、16*16点阵的整体

17、连接图图6.16*16点阵连接示意图六、实验步骤(1) 打开quartus U软件,为本项设计建立文件夹。(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

提交评论