EDA课程设计八位数码管扫描显示电路的设计_图文_第1页
EDA课程设计八位数码管扫描显示电路的设计_图文_第2页
EDA课程设计八位数码管扫描显示电路的设计_图文_第3页
EDA课程设计八位数码管扫描显示电路的设计_图文_第4页
EDA课程设计八位数码管扫描显示电路的设计_图文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、EDA技术及应用课程设计报告题 目: 八位数码管扫描显示电路的设计 院 (系): 机电与自动化学院 专业班级: 电气自动化技术1001 学生姓名: 学 号: 20102822018 指导教师: 何为 2012年 6月10日至2012年 6月23日EDA技术及应用课程设计任务书一、设计题目八位数码管扫描显示电路的设计二、设计主要内容本课题要求掌握使用Quartus II设计数字系统的设计思路和设计方法。学习VHDL基本逻辑电路的综合设计应用。掌握VHDL语言的语法规范,掌握时序电路描述方法。掌握多个数码管动态扫描显示的原理及设计方法。设计一个八位数码管共阴极动态扫描显示控制电路,要求显示学生自己

2、的学号。利用实验室设备完成系统设计并进行运行调试。1、具体设计内容如下:(1)静止显示学号;(2)动态循环显示学号。2、提供设计报告,报告要求包括以下内容:设计思路、设计输入文件、设计与调试过程、模拟仿真结果和设计结论。三、原始资料1、LED显示模块原理LED有段码和位码之分,所谓段码就是让LED显示出“8.”的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阳级的LED而言,高电平使能。要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段

3、码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。2、系统结构图信号名与芯片引脚对照表硬件资源元件引脚EP3C引脚序号电路使用说明LED数码显示A133该部分电路为固定电路。使用LED数码显示时请按照器件引脚分配表进行引脚分配后再下载到芯片中。B135C136D137E138F141G142Dp12874LS138S1125S2126S31273、LED连接图4、课程设计

4、使用设备(1)EDA及SOPC综合实验平台;(2)导线若干;(3)PC机;(4)Quartus II开发工具软件。四、要求的设计成果(1)根据控制要求设计硬件电路原理图。(2)编写用于系统仿真的VHDL源程序。(3)系统仿真及验证结果。(4)编写EDA技术及应用课程设计报告,课程设计报告内容包括: 设计方案、课程设计过程和设计思想、方法、原理。 画出系统的原理图。 VHDL语言程序及仿真波形。 参考资料、参考书及参考手册。 其他需要说明的问题,例如操作说明、程序的调试过程、遇到的问题及解决方法、对课程设计的认识和建议等。 可编程控制器技术课程设计报告可以手写,也可以用电脑编排打印,报告格式按照

5、华中科技大学武昌分校课程设计管理办法执行。课程设计报告要求内容正确完整,图表清晰,叙述简明,语句通顺,字数不得少于2000汉字。 课程设计报告按封面、任务书、设计说明书、图纸、实物照片贴页(实物照片贴在A4复印纸上)、成绩评定表的顺序装订。五、进程安排内容时间下达课程设计任务书。讲解课程设计的任务与要求、进度安排、指导时间、注意事项、提供参考资料。学生到实验室熟悉设备。1天搜集资料、方案论证、初步设计。1天设计VHDL语言程序。2天在实验装置上进行硬件测试。3天方案优化、总结完善、整理资料、撰写课程设计报告。2天答辩、课程设计总结。1天共计10天(2周)六、主要参考资料1 郑燕,赫建国. 基于

6、VHDL与Quartus II软件的可编程逻辑器件应用于开发.北京:国防工业出版社,2011.2 Altera. Pin Information for the Cyclone III EP3C10 Device. San José:Altera Corp,2008.3 潘松,黄继业.EDA技术实用教程VHDL版.北京:科学出版社,2010.指导教师(签名):20 年 月 日目 录1.课程设计题目及要求.71.1课程设计题目.71.2课程设计要求.71.3系统总体方案设计.72. LED的工作原理.82.1 LED工作原理.82.2 LED动态扫描显示原理.93.系统设计.93.1硬

7、件电路设计.93.2 VHDL代码设计.94.运行调试.,134.1时序仿真.134.2 硬件逻辑验证.,154.3调试结果分析.164.4 调试中出现的问题及解决方法.165 总结.,166.参考文献.177. 附录1系统硬件电路图.18附录2实物照片.191.课程设计题目及要求1.1课程设计题目八位数码管静态扫描显示电路的设计1.2课程设计要求本课题要求掌握使用Quartus II设计数字系统的设计思路和设计方法。学习VHDL基本逻辑电路的综合设计应用。掌握VHDL语言的语法规范,掌握时序电路描述方法。掌握多个数码管动态扫描显示的原理及设计方法。设计一个八位数码管共阴极动态扫描显示控制电路

8、,要求显示学生自己的学号。利用实验室设备完成系统设计并进行运行调试。1.3系统总体方案设计编程、下载自动优化布局布线适配VHDL逻辑综合优化生成VHDL源程序设计流程图如下 : 首先,我们要对所要设计的 八位数码管静态扫描显示电路充分理解,同时在了解了所给的硬件器材的基础上需进行“源程序的编辑和编译” 用一定的逻辑表达手段将设计表达出来;其次要进行“逻辑综合” 将用一定的逻辑表达手段表达出来的设计,经过一系列的操作,分解成一系列的基本逻辑电路及对应关系;然后要进行“目标器件的布线适配” 在选定的目标器件中建立这些基本逻辑电路及对应关系;最后,目标器件的编程下载 将前面的软件设计经过编程变成具体

9、的设计系统,同时在设计过程中要进行有关“仿真” 模拟有关设计结果,看是否与设计构想相符。 系统结构框图如下:硬件资源元件引脚EP3C引脚序号电路使用说明LED数码显示A133该部分电路为固定电路。使用LED数码显示时请按照器件引脚分配表进行引脚分配后再下载到芯片中。B135C136D137E138F141G142Dp12874LS138S1125S2126S31272. LED的工作原理2.1 LED工作原理LED为分段式半导体显示器,通常称为七段发光二极管显示器。下图为七段发光二极管显示器共阴极和共阳极的电路图。对共阴极显示器的公共端应接地,给a-g输入相应高电平,对应字段的发光二极管显示十

10、进制数;对共阳极的公共端应接+5V电源,给a-g输入端相应低电平,对应字段的发光二极管也显示十进制数。2.2 LED动态扫描显示原理LED有段码和位码之分,所谓段码就是让LED显示出“8.”的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阳级的LED而言,高电平使能。要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。多个数码管动态扫描显示,是将所有数码

11、管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。3 系统设计3.1 硬件电路设计3.2 VHDL程序设计library ieee;entity scan_seg8 isport(clk3,clk5:in std_logic;rst: in std_logic;seg_da:out std_logic_vector(7 downto 0;seg_sel:out std_logic_vector(2 downto 0;end scan_seg8;architecture ado of scan

12、_seg8 issignal seg_buf1,seg_buf2,seg_buf3,seg_buf4,seg_buf0:std_logic_vector(3 downto 0;signal seg_buf5,seg_buf6,seg_buf7,seg_buf8:std_logic_vector(3 downto 0;signal seg_cnt:std_logic_vector(2 downto 0;signal seg_temp:std_logic_vector(3 downto 0;signal clk:std_logic;beginprocess(clk5beginif clk5'

13、;event and clk5='1' thenclk<=not clk;end if;end process;process(clk5,rstbeginif clk5' event and clk5='1' thenif clk='1' thenseg_buf1<="0010"seg_buf2<="0010"seg_buf3<="1000"seg_buf4<="0010"seg_buf5<="0000"

14、seg_buf6<="0001"seg_buf7<="0000"seg_buf8<="0010"elseseg_buf1<="1111"seg_buf2<="1111"seg_buf3<="1111"seg_buf4<="1111"seg_buf5<="1111"seg_buf6<="1000"seg_buf7<="0001"seg_bu

15、f8<="0000"end if;end if;end process;process (clk3,rstbeginif clk3' event and clk3='1' thenif rst='1' thenseg_cnt<="000"elseseg_cnt<=seg_cnt+1;end if;end if;end process;seg_sel<=seg_cnt;process(seg_cnt,seg_buf1,seg_buf2,seg_buf3,seg_buf4,seg_buf5,se

16、g_buf6,seg_buf7,seg_buf8begincase seg_cnt iswhen o"0" => seg_temp<=seg_buf1;when o"1" => seg_temp<=seg_buf2; when o"2" => seg_temp<=seg_buf3; when o"3" => seg_temp<=seg_buf4; when o"4" => seg_temp<=seg_buf5; when o"

17、5" => seg_temp<=seg_buf6;when o"6" => seg_temp<=seg_buf7; when o"7" => seg_temp<=seg_buf8;when others=> seg_temp<="XXXX"end case;end process;process(seg_tempbegincase seg_temp iswhen "0000"=> seg_da<="00111111"when

18、"0001"=> seg_da<="00000110"when "0010"=> seg_da<="01011011"when "0011"=> seg_da<="01001111"when "0100"=> seg_da<="01100110"when "0101"=> seg_da<="01101101"when "0110

19、"=> seg_da<="01111101"when "0111"=> seg_da<="00000111"when "1000"=> seg_da<="01111111"when "1001"=> seg_da<="01101111"when "1010"=> seg_da<="01110111"when "1011"=>

20、; seg_da<="01111100"when "1100"=> seg_da<="00111001"when "1101"=> seg_da<="01011110"when "1110"=> seg_da<="01111001"when "1111"=> seg_da<="00000000"when others=> null;end case;end

21、process;end architecture ado; 4 运行调试4.1 时序仿真(1) 建立波形文件。选择File项及其New,再选择New窗中的Waveform Editer.项,打开波形编辑窗。(2)输入信号节点。在波形编辑窗的上方选择Node项,在下拉菜单中选择输入信号,在弹出的窗口中首先点击List键,这时左窗口将列出设计所以信号节点。由于设计者有时只需要观察其中部分信号的波形,因此要利用中间的“=>”键将需要观察的信号选到右栏中,然后点击OK键即可将测试信号。(3)设置波形参量。波形编辑窗中已经调入了所有节点信号,在为编辑窗输出信号测试前,首先设定相关的仿真参数。(4)

22、设定仿真时间宽度。选择File项及其End time选项,在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。(5)波形文件存盘。选择File项及其Save as选项,按OK键即可。(6)运行仿真器,观察分析波形。选中“processing”菜单下的“start siulation”,直到出现“simulation was successful”对话框。把所有的参数都设定好了之后,就可以观察相关的波形了。4.2 硬件逻辑验证(1)确认已经打开了工程scan_seg8。(2)打开“assignments”菜单下的“pins”命令,打开引脚锁定窗口。(3)用鼠标双击“to”栏中

23、的“< > ”,再出现的下拉栏中选择本工程要锁定的端口信号名(例如clk),然后双击对应的“location”栏中的“< > ”,在出现的下拉栏中选择对应端口信号名的器件引脚(例如对应clk,应选择29)。(4)按前面提到的引脚信息添加锁定引脚,全部输入后单击工具栏上的保存按钮,保存引脚设置。当冒个引脚锁定后,我们在“to”栏下看到该引脚将是斜体显示的,其他未锁定引脚则是正体显示。保持完毕,必须再编译适配一次,才能将引脚锁定到最终的下载文件中,此后就可以将编译好的sof文件下载到实验系统的FPGA中去了。4.3调试结果分析将生成的sof文件通过下载线下载到实验箱中,进行相关的调试后正确显示了自己的学号。比如我的学号为20102822018,8位数码管显示的内容应为20102822,018xxxxx。那么实验就已经成功了。4.4 调试中出现的问题及解决方法由于是第一次做这种课程设计。所以,难免会遇到一些问题。在将程序下载到试验箱上时,没有能如期望那样显示自己的学号。然后,我又从程序出发检查了一遍,发现没有错误,然后我又进行了一次功能仿真发现波形图也没有问题。所以,我就可以大胆的排除程序错误而导致的结果。既然程序没有错误,想必应该是在传输程序的这个环节出了问题。我又从选择的芯片入手,发现芯片选择没有

温馨提示

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

评论

0/150

提交评论