电子技术课程设计 字符发生器

上传人:r****d 文档编号:91896580 上传时间:2022-05-17 格式:DOC 页数:18 大小:290KB
收藏 版权申诉 举报 下载
电子技术课程设计 字符发生器_第1页
第1页 / 共18页
电子技术课程设计 字符发生器_第2页
第2页 / 共18页
电子技术课程设计 字符发生器_第3页
第3页 / 共18页
资源描述:

《电子技术课程设计 字符发生器》由会员分享,可在线阅读,更多相关《电子技术课程设计 字符发生器(18页珍藏版)》请在装配图网上搜索。

1、电子技术课程设计 -16X16字符发生器学 院 : 专 业 :班 级 :姓 名 : 学 号 :指导教师 : 16X16字符发生器一设计任务及要求1.设计任务:利用实验箱上16X16点阵,设计字符发生器,可以循环显 示预置字符:同心协力 发奋向上。 2.设计要求:(1)利用VHDL编写字符扫描驱动电路; (2)设计一个可以自动循环显示8个字符的电路; 3编写预置字符的rom程序生成模块接入电路。 行选线产生信号发光二极管显示屏列选线产生电路EPROM存储器地址计数器时钟脉冲源设计思路:此电路由八进制计数器,ROM和ADDRESS1这三局部构成。ADDRESS1的作用是在时钟clk的作用下将从ro

2、m中读出的信号对应正确的写在1616的点阵上。Reset是复位端,起复位作用。输出addr4.1选中16X16LED点阵的对应列,随着addr4.1值得增加,从左往右依次选中点阵的各列addr0那么决定输出是在高位还是在低位。FLEX10的lout0-7和hout0-7分别与LED点阵的低八位L0-7和高八位L8-15相连。八进制计数器是在addr7.0输出0-7的循环计数,由此输出与ADDRESS1的输出addr4.0共同作为rom的输入地址,以此决定q7.0的输出即ADDRESS1的DIN7.0的输入,此八进制计数器是由74LS160十进制计数器修改得来的,输出由原来十进制的0-9循环输出

3、变为八进制的0-7循环输出。Rom是一个用来存储数据的具有读写功能的的存储器,在此电路中的作用是存储“同心协力 发奋向上八个字.在addr7.0输入相应的地址时读取rom中的相应的数据,然后在输出端q7.0输出。在时钟脉冲的作用下,地址计数器计数,EPROM相对应的地址单元中的代码输出,以驱动列选通线产生电路。地址计数器同时又为行选通线产生电路。地址随着地址计数器计数值的变化,发光二极管显示屏逐行扫描,显示屏上显示出字符或图案。各模块功能:1) ROM是只读存储器存放字符的代码, 他是字符显示器的核心部件。2发光二极管显示屏用来显示字符或图案,他是由假设干发光二极管组成的点阵式显示屏。 3)

4、ADDRESS1的作用是在时钟clk的作用下将从ROM259*8中读出的信号对应正确的写在1616的点阵上。三 选择器件与功能模块1. 用来构成输出八进制的74LS160十进制计数器(1) .74LS160器件图 A. B.C.D 为输入端; LDN为置数端;ENT与ENP为使能控制端;CLRN为置零端; RCO为进位输出端; QA.QB.QC.QD为输出端;CLK为脉冲信号输入端.(2). 74160内部结构图3.74160功能表CPCLRN(RD非)LDN(LD非) EP ET工作状态X0X X X置零10 X X预置数X11 0 1保持X11 X 0保持(C=0)11 1 1计数(4).

5、八进制计数器真值表CPQ3Q2Q1Q000000100012001030011401005010160110701115用74160构成的8进制计数器原理图6.八进制计数器时序仿真图仿真分析:由仿真图分析可知,输出a,b,c将从000一直变化到111,即一个脉冲周期结束返回,由此可证明此接法正确为八进制计数器.2说明: CLK为时钟输入端口; RESER为置零端; DIN7.0为接受ROM数据信号端口; AD4.0为片选地址输出; HOUT7.0,LOUT7.0分别为高八位断驱动和低八位短驱动.Address1设计程序:LIBRARY IEEE;USE IEEE.std_logic_1164.

6、ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY address1 ISPORT( clk,reset:IN STD_LOGIC; ad :OUT STD_LOGIC_VECTOR(4 downto 0); din:in STD_LOGIC_VECTOR(7 DOWNTO 0); hout,lout:out STD_LOGIC_VECTOR(7 downto 0);END address1;ARCHITECTURE a OF address1 ISBEGIN process(clk,din,reset) VARIABLE Q1:STD_LOGIC_VECTO

7、R(4 DOWNTO 0); BEGIN IF CLKEVENT AND CLK=1THEN IF RESET=0OR(Q1=11111)THEN Q1:=00000; ELSE Q1:=Q1+1; END IF; END IF; CASE Q1(0)IS WHEN 0= LOUT=din; HOUT0); WHEN 1= HOUT=din; LOUT0); WHEN OTHERS= null; END CASE; ad=Q1; END PROCESS;END a;模块功能:地址选择器包含行选线产生电路和列选线产生电路,从ROM中选择相应的地址输出。Clk为扫描时钟脉冲,控制扫描速度的快慢;R

8、ESET为复位端,只有在RESET为高电平的情况下,在脉冲上升沿到来时,ad计数,其中ad4.1输出扫描驱动信号,接入扫描片选端,依次选中LED点阵的各列,din输入字符存储器中每个存储单元的数据,hout7.0控制LED点阵的高八位lout7.0 控制LED点阵的低八位,din中存储器中调用的数据模块分别由hout7.0或lout7.0输出,在LED点阵中经扫描显示字符。仿真图: 3.用来存储字符的ROM256X8存储器(1) ROM的说明 在设计ROM时,根据ROM的大小,我们可以采用不同的设计方法进行设计,比方4x8,8x8或256x8的ROM可以采用数组描述或WHEN-ELSE.然而数

9、组描述ROM在面积上是最有效的,在用数组描述时,常把数组常量的ROM放在一个程序包中,这种方法可以提供ROM的重用,在程序包中应当用常量定义ROM的大小.而用WHEN-ELSE描述一个ROM,它确实是最直观的,它是类似查表的方法来设计的,本次设计就是一个用WHEN-ELSE设计的256x8的ROM.(2).存入ROM中的数据(文本格式.mif)width=8;depth=256;address_radix=hex;data_radix=hex;content begin00:00;01:00;02:fe;03:ff;04:02;05:00;06:02;07:00; -tong08:92;09:

10、3f;0a:92;0b:10;0c:92;0d:10;0e:92;0f:10;10:92;11:10;12:92;13:10;14:92;15:10;16:da;17:3f;18:02;19:40;1a:02;1b:80;1c:ff;1d:7f;1e:02;1f:00;20:00;21:00;22:00;23:00;24:00;25:04;26:00;27:02; -xin28:c0;29:01;2a:00;2b:00;2c:f0;2d:3f;2e:01;2f:40;30:02;31:40;32:1c;33:40;34:08;35:40;36:00;37:07; 38:00;39:70;3a:

11、80;3b:00;3c:80;3d:00;3e:00;3f:07;40:10;41:00;42:10;43:00;44:ff;45:ff;46:10;47:00; -xie 48:10;49:04;4a:80;4b:03;4c:00;4d:40;4e:10;4f:20;50:10;51:1c;52:ff;53:03;54:10;55:00;56:10;57:40; 58:10;59:80;5a:f8;5b:7f;5c:90;5d:00;5e:00;5f:03;60:10;61:80;62:10;63:80;64:10;65:80;66:10;67:60; -li 68:10;69:18;6a:

12、ff;6b:07;6c:10;6d:00;6e:10;6f:00;70:10;71:00;72:10;73:00;74:10;75:20;76:10;77:40; 78:10;79:80;7a:10;7b:40;7c:f8;7d:3f;7e:10;7f:00;80:08;81:01;82:08;83:01;84:08;85:01;86:99;87:00; -fen88:88;89:ff;8a:ff;8b:49;8c:28;8d:49;8e:18;8f:49;90:0f;91:7f;92:18;93:49;94:28;95:49;96:48;97:49; 98:88;99:ff;9a:88;9b

13、:00;9c:8c;9d:01;9e:88;9f:00;a0:10;a1:40;a2:10;a3:20;a4:18;a5:90;a6:16;a7:88; -faa8:10;a9:46;aa:90;ab:41;ac:f0;ad:23;ae:9f;af:14;b0:90;b1:08;b2:90;b3:14;b4:92;b5:22;b6:94;b7:21; b8:10;b9:40;ba:10;bb:c0;bc:18;bd:40;be:10;bf:00;c0:f8;c1:ff;c2:08;c3:00;c4:08;c5:00;c6:cc;c7:1f; -xiang c8:4a;c9:08;ca:49;c

14、b:08;cc:48;cd:08;ce:48;cf:08;d0:48;d1:08;d2:48;d3:08;d4:48;d5:08;d6:e8;d7:1f; d8:48;d9:40;da:08;db:80;dc:fc;dd:7f;de:08;df:00; e0:00;e1:80;e2:00;e3:80;e4:00;e5:80;e6:00;e7:80; -shang e8:00;e9:80;ea:00;eb:80;ec:00;ed:80;ee:ff;ef:ff;f0:20;f1:80;f2:20;f3:80;f4:20;f5:80;f6:30;f7:80;f8:20;f9:80;fa:00;fb:

15、80;fc:00;fd:c0;fe:00;ff:80;end;(2) 由VHDL编译生成的ROM256X8存储器图 1616扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。 2864E2PROM存贮器是电可擦除/编程的只读存贮器,容量为8k8bit ,有13位并行地址线和8位并行数据线,而一个完整的字符所需的存贮容间为32字节即328 bit,也就是说2864最多可连续存256个1616点阵字形。存贮方式可事先约定好.ROM仿真图仿真分析:从仿真结果可得:00:20; 01:80; 02:20; 03:

16、40;04:20;05:20;06:20.与ROM的程序中的地址和信息是对应的,由此可知此模块是正确的,可以使用。五.总体设计电路图 1.工作情况:将74LS160十进制计数器变为了八进制的计数器。在输入clk1的作用下在输出端输出000-111的地址数据。八进制输出的地址数据与ADDRESS1的输出addr4.0共同作为了存储器ROM的地址输入。此输入地址选定了存储器中在该地址上存储的数据。然后将数据在存储器的输出端q7.0输出。存储器的输出作用下输出的addr4.1决定了输出结果在1616的点阵上列循环扫描。而addr0那么决定着输出在1616的点阵上的行扫描,也即输出时在低位lout还是

17、在高位hout。 总体上说来就是计数器提供局部地址,而ROM是一个字符的存储库,ADDRESS1那么是决定着要输出的字符如何在1616的点阵上扫描输出。 2.模块间的连接关系:计数器的输出连接在 ROM2598的地址输入端,ROM2598的输出q7.0连接在 ADDRESS1的din7.0端。 ADDRESS1的输出addr4.0又回到了ROM2568的地址输入端。1.时序仿真结果仿真分析:RESET接低电平;CLK1为CLK的10倍,当CLK1第一个上升沿未到来时,列选信号输出端为00,即点阵第一列选通,此时LED低八位L7L4为1110十六进制为E,L3L0为0000十六进制为0;LED高

18、八位L15L12为0000十六进制为0,L11L8为0000十六进制为0.由此可推断模拟结果符合设计要求.2. 管脚分配图3实验连线管脚编号管脚定义管脚编号管脚定义22Clk39hout423Clk147hout524reset48hout625addr049hout727addr150lout028addr251lout129addr352lout230addr453lout335hout054lout436hout158lout537hout259lout638hout360lout7 clk驱动器ADDRESS1时钟信号输入端,频率f=500hzClk1计数器74160时钟信号输入端.频

19、率F=5KHZreset驱动器ADDRESSS1置零端,低电平有效Lout7.0点阵低八位数据输入端Hout7.0点阵高八位数据输入端Addr4.0点阵列选地址控制端将CLK1端接时钟输出,并使输入频率约为8KHZ,CLK端接输入频率约为100HZ的时钟信号; addr4.0接显示模块的SEL0,SEL1,SEL2,SEL3;LOUT7.0和HOUT7.0分别与LED输入端L15-L0的低8位和高8位L8L15相连.连接好后翻开开关,接上连接线进行下载。实验完成后,led点阵随着clk1的变化逐次显示“同心协力 发奋向上 八个大字。六心得体会 通过本次课程设计我感触很深,这是我做的第一次课程设

20、计,从开始到结束到是在匆匆忙忙的生活中度过的,在这三个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以稳固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。在编辑模块过程中我遇到很多问题,所以慢慢的很少讨论问题的我跟同学对设计的交流成了家常便饭,在整个过程中虽然付出了很多的努力,当看到显示频上不断跳出自己设计的字符时我觉得任何困难都值得,一种成就感尤然而声。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结

21、论,才能真正为社会效劳,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。总的来说,这次设计的字符发生器还是比拟成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下游逆而解,终于觉得平时所学的知识有了实用的价值,到达了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。在这次实验中有同学老师对我给予了很大的帮助,最后我向他们表示衷心的感谢,在完成这次实验后我想对大家说“我们的未来不是梦! 七附录 目 录一 设计任务及要求-1二 总体框图-1三 器件选择与功能模块-2用来构成输出八进制的74LS160模块-2-5用来存储字符的ROM256X8存储器-7四 16X16点阵模块-10五 总体设计图-11六 心得体会-14附录

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!