EDA课程设计--字符发生器讲究卫生_第1页
EDA课程设计--字符发生器讲究卫生_第2页
EDA课程设计--字符发生器讲究卫生_第3页
EDA课程设计--字符发生器讲究卫生_第4页
EDA课程设计--字符发生器讲究卫生_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、电子课程设计字符发生器学院:班级:姓名:学号:指导老师:2009年12月 目 录设计任务及要求3总体框图3器件选择与功能模块4用来构成输出八进制的74LS161模块 4 7用来存储字符的ROM128x16存储器 8总体设计图13心得体会1816X16字符发生器一设计任务及要求:利用实验箱上16X16点阵,设计字符发生器,可以循环显 示预置字符:讲究卫生,预防疾病。 2.设计要求:(1)利用VHDL编写字符扫描驱动电路; (2)设计一个可以自动循环显示8个字符的电路; (3)编写预置字符的rom程序生成模块接入电路。 二总体框图 图 (1)(1)设计思路:此电路由八进制计数器,分频器,ROM12

2、8 x16和地址计数器这三部分构成。地址计数器的作用是在时钟脉冲源的作用下将从ROM存储器中读出的“讲究卫生,预防疾病”写在1616的点阵上。选中16X16LED点阵的对应列,随着地址计数器值得增加,从左往右依次选中点阵的各列则决定输出是在高位还是在低位。分频器用来控制扫描速度的快慢八进制计数器是在地址计数器输出0-7的循环计数,由此输出与地址计数器的输出共同作为ROM的输入地址,以此决定地址计数器的输出,此八进制计数器是由74LS161十六进制计数器转换得来的,输出由原来十六进制的0-15循环输出变为八进制的0-7循环输出。Rom是一个用来存储数据的具有读写功能的的存储器,在此电路中的作用是

3、存储“讲究卫生,预防疾病”地址计数器输入相应的地址时读取ROM中的相应的数据,然后在输出端输出。在时钟脉冲的作用下,地址计数器计数,ROM相对应的地址单元中的代码输出,以驱动列选通线产生电路。地址计数器同时又为行选通线产生电路。地址随着地址计数器计数值的变化,发光二极管显示屏逐行扫描,显示屏上显示出字符或图案。(2)各模块功能:1) ROM是只读存储器存放字符的代码, 它是字符显示器的核心部件。2)1616的点阵用来显示字符或图案,它是由若干发光二极管组成的点阵式显示屏。 3) 地址计数器的作用是在时钟脉冲源的作用下将从ROM12816中读出的信号对应正确的写在1616的点阵上。4) 分频器用

4、来控制扫描速度的快慢选择器件与功能模块用来构成输出八进制的74LS161十六进制计数器(1).74LS161器件图 图 (2)B.C.D 为输入端; LDN为置数端;ENT与ENP为使能控制端;CLRN为置零端; RCO为进位输出端; QA.QB.QC.QD为输出端;CLK为脉冲信号输入端(2). 74161内部结构图 图(3)(3).74161功能表CPCLRN(RD非)LDN(LD非) EP ET工作状态X0X X X置零10 X X预置数 X11 0 1保持 X11 X 0保持 11 1 1计数 表(1) (4).八进制计数器真值表 表(2)CPQ3Q2Q1Q00000010001200

5、103001140100501016011070111(5)用74161构成的8进制计数器原理图 图(4)(6).八进制计数器时序仿真图 图(5)仿真分析:由仿真图分析可知,输出a,b,c将从000一直变化到111,即一个脉冲周期结束返回,由此可证明此接法正确为八进制计数器. 图(6)说明: CLK为时钟输入端口; RESER为置零端; DIN7.0为接受ROM数据信号端口; AD3.0为片选地址输出; QOUT15.0为字的输出.Address1设计程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.

6、all;entity address1 is port(clk,reset: IN std_logic; din: IN std_logic_vector(15 downto 0); ad: OUT std_logic_vector(3 downto 0); qout: OUT std_logic_vector(15 downto 0);end address1;architecture a of address1 isbegin process(clk,din,reset) variable q1: std_logic_vector(3 downto 0):=0000; begin if c

7、lkevent and clk=1 then if reset=0 or (q1=1111)then q1:=0000; else q1:=q1+1; end if; qout=din; end if;ad=49999 then cnt:=0; tmp:=not tmp; else cnt:=cnt+1; end if; end if; clkout=tmp; end process;end one;分频器DIV用来控制扫描速度的快慢4.用来存储字符的ROM存储器 在设计ROM时, 我们可以采用不同的设计方法进行设计,比如4x8,8x8或256x8的ROM可以采用数组描述或WHEN-ELSE.

8、然而数组描述ROM在面积上是最有效的,在用数组描述时,常把数组常量的ROM放在一个程序包中,这种方法可以提供ROM的重用,在程序包中应当用常量定义ROM的大小.而用WHEN-ELSE描述一个ROM,它确实是最直观的,它是类似查表的方法来设计的,本次设计就是一个用WHEN-ELSE设计的128x16的ROM.5.存入ROM中的数据(文本格式.mif)width=16;depth=128;0110;2110;1110;17FC;0110;0110;F110;1114;1FFE;1110;1110;1510;1910;1110;0210;0010; 讲 0200;0100;7FFE;4442;883

9、4;1210;0220;3FF0;0220;0220;0420;0420;0822;0822;101E;6000; 究0000;0008;7FFE;0208;0208;0208;0208;0208;0208;0208;0210;0200;0200;0204;FFFE;0000; 卫0100;1100;1100;1108;3FFE;2100;4100;4100;8110;3FF8;0100;0100;0100;0104;FFFE;0000; 生0004;7DFE;0420;0844;29FE;1104;FF24;1524;1124;1124;1124;1124;1124;1058;5084;23

10、02; 预0080;7C40;4440;4804;4FFE;5080;4888;48FC;4488;4488;4488;6888;5108;4108;4250;4420; 防0100;0084;1FFE;1200;9208;53FC;5440;1840;3044;5FFE;D040;10A0;20A0;2110;420E;0C04; 疾0080;0044;1FFE;1000;9008;57FC;5040;1044;37FE;5444;9444;14A4;2514;2404;4414;0408; 病 6.定制ROM的宏功能模块生成的ROM256X8存储器图 图(8)1)在QUARTUS页面打开M

11、ega Wizard Plug-In Manager对话框,在Tools菜单中选择MegaWizard Plug-In Manager即定制了一个新的模块。单击Next,在左栏里选择Storage项下的LPM_ROM,再选择Cyclone器件和VHDL语言方式,再输入ROM文件存放的路径和文件名,单击Next按键。 2)选择ROM控制线,地址线和数据线。1616扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。定制ROM160X16宏功能块的图形实现步骤如下: 图(9) 图(10) 图(11) 图(12)

12、 图(13)ROM的Mif文件如下0110;2110;1110;17FC;0110;0110;F110;1114; 1FFE;1110;1110;1510;1910;1110;0210;0010; 讲0200;0100;7FFE;4442;8834;1210;0220;3FF0;0220;0220;0420;0420;0822;0822;101E;6000; 究0000;0008;7FFE;0208;0208;0208;0208;0208;0208;0208;0210;0200;0200;0204;FFFE;0000; 卫0100;1100;1100;1108;3FFE;2100;4100;4

13、100;8110;3FF8;0100;0100;0100;0104;FFFE;0000; 生0004;7DFE;0420;0844;29FE;1104;FF24;1524;1124;1124;1124;1124;1124;1058;5084;2302; 预0080;7C40;4440;4804;4FFE;5080;4888;48FC;4488;4488;4488;6888;5108;4108;4250;4420; 防0100;0084;1FFE;1200;9208;53FC;5440;1840;3044;5FFE;D040;10A0;20A0;2110;420E;0C04; 疾0080;004

14、4;1FFE;1000;9008;57FC;5040;1044;37FE;5444;9444;14A4;2514;2404;4414;0408; 病 四.总体设计电路图 图(14)1).工作情况:将74LS161十六制计数器转换为八进制的计数器。在输入clk1的作用下在输出端输出000-111的地址数据。八进制输出的地址数据与ADDRESS1的输出addr3.0共同作为了存储器ROM的地址输入。此输入地址选定了存储器中在该地址上存储的数据。然后将数据在存储器的输出端q7.0输出。存储器的输出作用下输出的addr3.0决定了输出结果在1616的点阵上列循环扫描。而addr0则决定着输出在1616

15、的点阵上的行扫描,也即输出时在低位(lout)还是在高位(hout)。总体上说来就是计数器提供部分地址,而ROM是一个字符的存储库,ADDRESS1则是决定着要输出的字符如何在1616的点阵上扫描输出。 2).模块间的连接关系: 计数器的输出连接在 ROM12816的地址输入端,ROM12816的输出q7.0连接在 ADDRESS1的din7.0端。 ADDRESS1的输出addr4.0又回到了ROM12816的地址输入端 3)功能仿真果 图(15)仿真分析:reset接低电平,当clk1第一个上升沿到来时,CLK控制扫描时钟的快慢,在reset=0时,CLK脉冲上升沿到来时,addr3.0依

16、次对LED点阵的各列进行扫描,CLK1为计数器的时钟脉冲,它控制每个字的输出的快慢,OUT115.0控制LED点阵的行地址线。管脚分配图 表(3)管脚分配情况: 表(4)管脚编号管脚定义管脚编号管脚定义131Reset84qout5153clk83qout628clk182qout7115addr086qout8114addr187qout9113addr288qout10108addr393qout11105qout094qut12104qout195qout13101qout298qout14100qout399qout1585out4164VGA2 162 VGA0163VGA3 161

17、VGA1 表(5)clk驱动器ADDRESS1时钟信号输入端,频率f=500hzClk1计数器74160时钟信号输入端.频率F=5KHZreset驱动器ADDRESSS1置零端,低电平有效Lout7.0点阵低八位数据输入端Hout7.0点阵高八位数据输入端Addr4.0点阵列选地址控制端在EDA实验箱上验证所设计的电路,clk接高频率,clk1接低频率,reset接低电平,输出的QOUT!15.0与led点阵的行相连。Addr3,2,1,0的值依次增加,从左往右依次选中点阵的各列。课程设计完成后,led点阵随着clk1的变化逐次显示“讲究卫生,预防疾病”八个字。在此电路中要十分注意clk和cl

18、k1的接入时钟频率,clk的频率要很大,只有这样在点阵上才能看到清晰的字形,不然看到的是不断扫描的点而不是字,这是因为扫描频率太低了。Clk的频率值则不能太大,不然就看不清你要看的字了,所以加的频率要小,所以加了一个分频器五心得体会 这次电子课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真

温馨提示

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

评论

0/150

提交评论