课程设计(论文)-点阵LED显示的设计报告

上传人:aa****6 文档编号:30010825 上传时间:2018-01-26 格式:DOC 页数:14 大小:295.50KB
返回 下载 相关 举报
课程设计(论文)-点阵LED显示的设计报告_第1页
第1页 / 共14页
课程设计(论文)-点阵LED显示的设计报告_第2页
第2页 / 共14页
课程设计(论文)-点阵LED显示的设计报告_第3页
第3页 / 共14页
课程设计(论文)-点阵LED显示的设计报告_第4页
第4页 / 共14页
课程设计(论文)-点阵LED显示的设计报告_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《课程设计(论文)-点阵LED显示的设计报告》由会员分享,可在线阅读,更多相关《课程设计(论文)-点阵LED显示的设计报告(14页珍藏版)》请在金锄头文库上搜索。

1、 点阵 LED 显示的设计第 1 页 共 14 页1课程设计指标(1)实现点阵 LED 的动态扫描。 (2)在点阵 LED 显示学生自己的中文名字、班级和学号。(3)两个功能键:1)、启动显示,2)、停止显示。2课程设计的总体方案2.1 方案比较在 1616LED 发光二极管点阵上显示汉字的方式有两种:第一种方法是滚屏显示学生班级,姓名,学号,另一种方法是每次显示一个汉字,一秒钟后刷新显示第二个汉字,再一秒钟后刷新显示第三个汉字,依次刷新显示班级和学号数。循环显示以上内容。对于前一种方案,可以依次对多汉字抽取像素信息,并按顺序排队存放于 ROM之中,这样便可得到一个待显示数据序列。然后通过寻址

2、的方法来控制该数据序列的释放过程,就可实现在 1616 LED 发光二极管点阵上滚动显示多汉字信息的目的。这种方法虽然看起来比较简单,但是实现起来却有许多困难,由于滚屏显示是将需要显示的内容当成一个整体,即是在行方向上看成许多汉字排成一排,然后通过指针顺序控制汉字的显示,而对于在 VHDL 语言中指针的使用这方面的内容我们接触不多,没有经验,因此做起来比较困难。而且,如果滚屏显示时间把握得不好,那么显示的效果将会受到很大的影响。而采用刷新显示对时间方面要求比较低,容易控制。而且刷新显示比较符合我们的习惯。2.2 方案选择通过上述比较,我们决定采用方案二。 点阵 LED 显示的设计第 2 页 共

3、 14 页3设计的详细原理3.1 系统结构及工作原理LED 点阵显示控制的传统方式是采用单片机或系统机作为 CPU 来实现,当系统显示的信息比较多时,由于单片机的输入/输出端口(I/O)有限,采用此方式的成本将大大增加,系统和程序的设计难度也急剧增加;而且,当系统完成后修改、改变显示方式或扩展时,所需改动的地方比较大,甚至有可能需要重新设计;另外,在以显示为主的系统中,单片机的运算和控制等主要功能的利用率很低,单片机的优势得不到发挥,相当于很大得资源浪费。如果采用现场可编程逻辑器件作为 CPU 来设计控制器,选择合适的器件,利用器件丰富的 I/O 口、内部逻辑和连线资源,采用自顶而下的模块化设

4、计方法,可以方便地设计整个显示系统。由于 PLD 器件的外围器件很少,且可以利用 PLD 的编程端口(可复用)进行在系统编程,使得系统的修改、显示方式的改变和扩展都变的非常简单、方便。本系统采用单个 1616LED 点阵逐列左移(或右移)显示汉字或字符,需显示汉字或符号的 1616 点阵字模已经存放在字模存储器中。显示控制器由复杂可编程逻辑器件(CPLD)EPM7128SLC84-15 来实现,系统组成原理框图如图 1 所示。系统原理是PLD 控制模块首先产生点阵字模地址,并从存储器读出数据存放在 16 位寄存器中,然后输出到 LED 点阵的列,同时对点阵列循环扫描以动态显示数据,当需要显示数

5、据字模的列和被选中的列能够协调配合起来,就可以正确显示汉字或符号。图 1点阵显示控制器原理框图3.2 控制器设计及工作原理 点阵 LED 显示的设计第 3 页 共 14 页从框图中可以看出,系统的关键在于控制器的设计。LED 点阵显示数据地址的产生、点阵列扫描和需显示数据的配合以及点阵显示方式控制的实现都必须由控制器来实现。对单个 1616LED 点阵显示控制器进行设计的顶层逻辑原理图如图 2 所示。图 2 控制器顶层电路原理图原理图中包含 5 个模块,其中 sequ 模块产生读信号 RDN 和 10 位地址线(AD9.0)中的最低位地址 AD0,AD0 和其它模块产生的地址配合,通过 8 位

6、数据线(DATA7.0)从存储器读出列高字节(AD0=1 时)和低字节(AD0=0 时),由于 1616 点阵字模数据为 32 个字节,每列含两个字节即 16 位,它由 HOUT7.0和 LOUT7.0 来构成;模块 R 由 adclk 提供一个慢时钟构成 16 进制计数器,它的输出送给 R 模块,为变模计数器 R 提供一个模,通过模的规律变化以控制点阵按照左移或右移等显示方式进行显示;模块 decode4_16 是一个 416 译码器,其输出 L15.0连接到 LED 点阵的列,可选中 1616LED 点阵的某列,并显示 sequ 模块输出的点阵高低字节(字模)数据;模块 R 为点阵显示控制

7、的核心,为了实现点阵汉字从右到左逐列移动显示,它由 R 模块提供的模,在 R 内部构成两个变模计数器,其中一个用来产生读字模数据的地址AD4.1,另外一个产生 1616LED 点阵列扫描选择地址 R3.0,列扫描选择地址由decode4_16 译码后输出;模块 rdd 为字选择计数器,其输出可以控制多块 LED 显示器的显示及其显示方式。为了实现字符由右到左逐列移动显示,模块 R 内部设计了两个由 R 控制的变模加法计数器,其中 R3.0为列扫描控制线。3.3 系统扩展 点阵 LED 显示的设计第 4 页 共 14 页以上为显示单个字符系统,若要同时显示多个字符时,可以按照图 1 加入虚线框内

8、部分,并且模块 rdd 设计成 R 的格式,把 AD4 作为 rdd 的记数脉冲即可。按照 EPM7128SLC8415 的资源(64 个 I/O 口,2 个全局时钟,1 个全局复位和 5 个可复用专用端口,5000 个等效逻辑门,192 个内部寄存器),若不外部扩展译码器,可以有效控制约 16 个字符的显示;而采用外部译码器时,可以控制的字符数将大大增加,但须注意时钟 CLK 的频率需要提高,以视觉不能看到整个字符的闪烁为基准。4系统软件设计控制核心模块 R 采用 VHDL 语言设计,在开发软件 MAX+plus 10.2 中实现,详细程序见附录 A。从程序可以看出,随着 R 从 0000

9、到 1111 不断变化,即实现了系统时钟对点阵 LED 的不停扫描。当 R=0000时,即读出第一个字符的第一列并显示在 LED 的第 1 列;当 R=0001时,即读出第一个字符的第一、二列并显示在 LED 的第 1、2 列由此类推,由于系统扫描时钟为 1KHz,扫描速度比较快,因此,当完成一次扫描时,在人眼视觉差的作用下会看到整个的字符好像是静态显示的一样。然后,在通过控制rdd 按一定时间在一定的范围顺序自增,每自增 1 则显示一个汉字,这样就能实现多个汉字的刷新显示了。5设计的仿真和运行结果以上程序在 MAX+plus10.2 上仿真验证结果如图 3 所示。 点阵 LED 显示的设计第

10、 5 页 共 14 页图 3 R 模块仿真时序图在设计中,应注意模块 sequ 的记数时钟 CLK 频率的选择应远远大于模块 R 的记数时钟 adclk 的频率,R 的记数时钟为地址最低位 AD0,字选择计数器的时钟脉冲为 16进制模块 R 的最高位 OUT3。这样, R3.0变化的足够快,在点阵 LED 上可以看到完整的字符,并当 R 记数到 15 产生进位返回到 0 时,字选择模块 rdd 获得一个记数脉冲并加 1(上升沿触发),此后将显示下一个字符。6、结论以上点阵字符显示系统在开发软件 MAX+plus10.2 上经仿真验证无误。另外,由于器件含有丰富的可编程连线资源,当系统显示方式和

11、显示字符个数变化时,只需要通过开发工具修改控制器的控制逻辑和连接关系,再将修改完成的程序通过下载电缆下载到器件即可,而电路板可以不做任何改动,可见,系统的维护和修改是极其方便和容易的。当然,由于 CLPD 的驱动能力有限,当点阵 LED 显示亮度不够时,需要添加LED 驱动电路以得到合适的 LED 显示亮度。7.心得体会两周的 EDA 课程设计时间虽然很短暂,但我从中获益匪浅.首先对 EDA 这门课程有了更深刻的了解,因为课程设计本身要求将以前所学的理论知识运用到实际的电路程序设 点阵 LED 显示的设计第 6 页 共 14 页计当中去,在设计的过程中,我无形中便加深了对 VHDL 语言的了解

12、及运用能力,并且对课本以及以前学过的知识有了一个更好的总结与理解;以前的 EDA 实验只是针对某一个小的功能设计,而 EDA 课程设计对我们的总体电路的设计的要求更严格,需要通过翻阅复习以前学过的知识确立了实验总体设计方案,然后逐步细化进行各模块的设计;其次,在程序仿真的过程中总会出现一些问题,需要我们细心解决,所以这两周下来,我对程序故障的排查能力有了很大的提高;再次,通过此次课程设计,我对Altera 公司的 MAX+plus软件从编译、排错到波形仿真、下载到 FPGA 器件上仿真都有了一定的掌握。也加强了发现问题,解决问题的能力,同时还学会了和他人的有效合作、高效率的解决问题,这对我们以

13、后的工作和学习的帮助都很有用处。参考文献电子技术实验指导书,李国丽,朱维勇主编,中国科技大学出版社。电子技术基础 模拟部分(第四版),康华光主编,高教出版社。数字电子技术基础(第四版),阎石主编,高教出版社。EDA 技术基础,谭会生主编,湖南大学出版社。EDA 技术实用教程,李洋主编,机械工业出版社。附录 A 程序清单library IEEE; use IEEE.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity dot_led is port(clk :in std_logic; -系统时钟(1KHz)key: in std_l

14、ogic_vector(1 downto 0);-功能键,key=01,启动显示;key=10,停止显示R:out std_logic_vector(3 downto 0); -点阵 LED 行输入,当 R=0000, 表示第一列有效.L:out std_logic_vector(15 downto 0); -点阵 LED 列输入end dot_led;architecture display of dot_led is signal rdd:std_logic_vector(3 downto 0);-控制显示一个汉字或字符的时间signal ldd:std_logic_vector(3 do

15、wnto 0);-ldd 用来选择扫描的列signal cnt0: integer range 0 to 2000;signal temp: std_logic_vector(1 downto 0);beginprocess(clk,key)beginif (key=11) then cnt01999 then cnt0 R R R R R R R R R R R R R R R Rnull;end case;elsif rdd=0001and temp=01 then -子case ldd iswhen 0000 = R R R R R R R R R R R R R R R Rnull;end case;elsif rdd=0010and temp=01 then -

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号