ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:1.21MB ,
资源ID:5508626      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5508626.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(字符发生器 课程设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

字符发生器 课程设计.docx

1、字符发生器 课程设计电子课程设计 字符发生器学院:0000000专业、班级:00000000姓名:000学号:0000000000指导教师:000002011年12月目 录一、设计任务及要求1二、总体框图1三、选择器件2四、功能模块2五、总体设计电路图9字符发生器一、设计任务及要求:1.利用实验箱上的16*16点阵,设计字符发生器,可以显示字符“千里之行,始于足下”。要求能够连续显示一行字,在实验箱上验证设计结果,要求写出完整的设计报告,并附有每个字的VHDL程序及字库图形。2.基本要求:实现字符自动轮换显示。二、总体框图74LS161计数器设计思路:此电路由十六进制计数器,ROM存储器,地址

2、计数器和分频器这四部分构成。地址计数器的作用是在时钟clk的作用下将从ROM中读出的信号对应正确的写在16*16的点阵上。十六进制计数器是在addr7.0输出0-15的循环计数,由此输出与ADDRESS1的输出addr3.0共同作为rom的输入地址,以此决定q15.0的输出(即ADDRESS1的DIN15.0的输入),此十六进制计数器是由74LS161十六进制计数器得来的。Rom是一个用来存储数据的具有读写功能的的存储器,在此电路中的作用是存储“千里之行,始于足下”这八个字和“,”。在addr7.0输入相应的地址时读取rom中的相应的数据,然后在输出端q15.0输出。分频器的作用是将一个时钟脉

3、冲信号的频率分开来,分别给与放大,然后送到地址计数器和rom的控制端。在时钟脉冲的作用下,地址计数器计数,ROM相对应的地址单元中的代码输出,以驱动列选通线产生电路。地址计数器同时又为行选通线产生电路。地址随着地址计数器计数值的变化,发光二极管显示屏逐行扫描,在16*16的点阵显示屏上显示出字符或图案。各模块功能:1) ROM是只读存储器存放字符的代码, 它是字符显示器的核心部件。2)发光二极管显示屏用来显示字符或图案,它是由若干发光二极管组成的16*16点阵式显示屏。 3) 地址计数器的作用是在时钟clk的作用下将从ROM256x16中读出的信号对应正确的写在16*16的点阵上。4)74LS

4、161是一个异步清零,同步置数的十六进制计数器。三、选择器选择1、配有Quartus II6.0软件的计算机一台。2、下载接口是数字芯片的下载接口,主要用于FPGA芯片的数据下载。 3、EDA实验箱,其中配有16*16点阵的显示屏。4、导线若干。四、功能模块1.74LS161计数器(1)74LS161器件图 74LS161是同步置数异步清零的十六进制计数器。其中,A、B、C、D为输入端;LDN为同步置数端;ENT与ENP为使能控制端;CLRN为异步清零端;RCO为进位输出端; QA.QB.QC.QD为输出端;CLK为脉冲信号输入端。(2)74LS161功能表输入输出CLR (非) LOAD(非

5、) ENT ENPCP0 X X X1 0 X X1 1 1 11 1 0 X1 1 X 0 XXX异步清零同步预置计数保持保持(5)74LS161十六进制计数器构成九进制计数器的电路图2、ADDRESS模块(1)ADDRESS VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity address is port(clk,reset:in std_logic; din :in std_logic_vector(15 downto 0); ad :out std_logic_v

6、ector(3 downto 0); qout :out std_logic_vector(15 downto 0);end address;architecture a of address isbegin process(clk,din,reset) variable Q1:std_logic_vector(3 downto 0):=0000; begin if clkevent and clk=1 then if reset=0or(Q1=1111)then Q1:=0000; else Q1:=Q1+1; ad=Q1; end if; end if; qout=9 then cnt:=

7、0; tmp:=not tmp; else cnt:=cnt+1; end if; end if; clkout=tmp;end process;end one;(2)div vhdl编译生成的逻辑符号Div的逻辑功能:将一个时钟脉冲信号的频率分开来,分别给与放大,然后送到address和rom的控制端clock。(3)div分频器 仿真图:3.用来存储字符的ROM256X16存储器(1) 在设计ROM时,根据ROM的大小,可以采用不同的设计方法进行设计,比如4*8,8*8,256*16或256*8的ROM可以采用数组描WHENELSE,然而数组描述ROM在面积上是最有效的,在用数组描述时常把

8、数组常量的ROM放在一个程序包中,这种方法可以提供ROM的重用,在程序包中应当用常量定义ROM的大小。而用WHENELSE描述一个ROM,它确实是最直观的,是类似查表得方法来设计的。(2)存入ROM中的数据(文本格式.mif)(ROM256X16.MIF千: 0010 00F8 3F00 0100 0100 0104 FFFE 0100 0100 0100 0100 0100 0100 0100 0100 0000 里: 3FF8 2108 2108 2108 3FF8 2108 2108 3FF8 0100 0100 3FF8 0100 0100 0100 FFFE 0000 之: 0200

9、 0100 0088 7FFC 0008 0010 0020 0040 0080 0100 0600 1800 2800 E700 40FE 0000 行: 0800 1C00 31FC 4000 8800 0C00 1BFE 3020 5020 9020 1020 1020 1020 1020 10A0 1040 ,: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 3000 3000 1000 2000 0000 始: 1020 1830 1020 1048 FC84 25FE 2484 4400 44FC 2884 1884

10、1484 2284 42FC 8084 0000 于: 0000 3FFC 0100 0100 0100 0100 FFFE 0100 0100 0100 0100 0100 0100 0900 0500 0200 足: 0000 1FF0 1010 1010 1010 1FF0 1110 0100 0900 09F8 0900 0900 1500 2300 40FE 8000 下: 0004 7FFE 0100 0100 0100 01C0 0160 0130 0120 0100 0100 0100 0100 0100 0100 0000 (3)rom生成的256*16逻辑符号五、总体设计电

11、路(1)工作情况:74LS161十六进制计数器,在输入clk1的作用下在输出端输出0000-1001的地址数据,即为九进制。九进制输出的地址数据与ADDRESS1的输出addr3.0共同作为了存储器ROM的地址输入。此输入地址选定了存储器中在该地址上存储的数据。然后将数据在存储器的输出端q15.0输出。存储器的输出作用下输出的addr3.0决定了输出结果在16*16的点阵上列循环扫描。而addr0则决定着输出在16*16的点阵上的行扫描,也即输出时在低位(lout)还是在高位(hout)。总体上说来就是计数器提供部分地址,div是一个分频器,而ROM是一个字符的存储库,ADDRESS1则是决定

12、着要输出的字符如何在1616的点阵上扫描输出。(2)模块间的连接关系: 计数器的输出连接在 ROM25616的地址输入端,ROM25616的输出q15.0连接在 ADDRESS1的din15.0端。 ADDRESS1的输出addr3.0又回到了ROM25616的地址输入端。(3)时序仿真结果:(4)管脚分布图:(5)实验效果图(6)仿真分析:仿真分析:RESET接低电平;当时钟脉冲信号来时,地址输出由“0000”逐步变为“1111”,qout由0000000000000000开始得到相应的变化,由此可推断模拟结果符合设计要求。(7)实验连线将试验箱上的clk与I03连接,然后打开试验箱开关,进

13、行下载。 试验完成后就会在试验箱的16*16的点阵屏上显示“千里之行,始于足下”。六、心得体会 通过这次课程设计我感触很深,受益良多。这是我入大学以来第一次做课程设计,从开始的陌生和无从下手到最后的成功其中是忙碌的的,在这两星期的日子里学到了很多东西,自己也摸索出了很多东西,也巩固了这个学期所学的东西,同时也学到了书本上没有的知识。 这次试课程设计使我懂的了理论与实践的相结合是很重要的。理论是实践的基础。只有理论知识是不够的,应该把所学的理论知识应用到实践中。在实践中验证理论的正确性。在实践中提高动手能力和独立思考的能力。 总的来说,这次EDA设计的字符发生器虽然没有达到预计的结果但还算成功。在设计中前前后后遇到了很多问题,但通过在图书馆翻阅资料及老师的辛勤指导下问题也都一个一个的解决了。在试验箱上出来结果哪一刹那,我忍不住心中的喜悦,这是人生的为数不多的历练。实际的感受到了知识的实用性。非常感谢这次的课程。 非常感谢学院能给我们提供这样的一个可以自己动脑、动手进行设计的机会,同时也大大加强了同学之间的沟通,以及学生与老师之间的交流,这是一个放飞自我的平台,也是我们理想与实际结合的升华,我想学院给我们提供的这些,教会我们的这些不仅仅在现在有用,对于我们今后步入社会也是同样有用的。 在这次课程设计中有许多老师和同学对我给予了很大的帮助,最后向他们表示衷心的感谢!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1