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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

1616点阵显示设计之欧阳理创编.docx

1、1616点阵显示设计之欧阳理创编课 程 设 计时间:2021.03.05创作:欧阳理课程名称嵌入式系统课程设计课题名称16X16的点阵显示设计专 业班 级学 号姓 名指导老师2016年12月20日电气信息学院课程设计任务书课题名称1616的点阵显示设计姓 名专业班级学号指导老师课程设计时间2016年12月18日-2016年12月30日(17、18周)教研室意见意见:同意 审核人:刘望军一、任务及要求CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。并最终完成电路的编程调试。具体要求如下:用一个

2、1616的点阵使用逐列循环扫描的方式不间断的显示你姓名的全部大写拼音字母。二、进度安排第一周:周一:集中布置课程设计相关事宜。周二周三:子模块程序设计,顶层电路程序设计。周四周日:子模块,顶层电路仿真。第二周:周一周三:编程下载,系统调试。周四周五:设计报告撰写。周五进行答辩和设计结果检查。三、参考资料1. 张 原编著,可编程逻辑器件设计及应用,机械工业出版社。2.荀殿栋,徐志军编著,数字电路设计实用手册,电子工业出版社。3. 刘洪喜,陆颖编著. VHDL电路设计实用教程 清华大学出版社。1.总体设计思路与功能设计11.1.基本原理11.2.总体设计框图21.3.顶层文件设计22.单元电路设计

3、32.1列循环扫描模块32.2字符样式设计模块32.3循环扫描及延时模块42.4整个程序53.系统调试与仿真93.1 开发环境介绍93.2.1 创建工程93.2.2 编译前设计93.2.3 全程编译113.2.4时序仿真124.下载调试135.心得体会146.参考文献14一、总体设计思路 1.1基本原理LED就是LightEmittingDiode(发光二极管)的缩写。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称L

4、ED。LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。1616扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线(SEL0-SEL3),其汉字扫描码由16位段地址(0-15)输入。 通过时钟的每列扫描显示完整汉字。点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于168=12

5、8Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。实验箱上为我们提供了16*16的点阵显示模块。通过观察,我们可以看到,此点阵显示屏即为16行、16列的LED显示灯。那么控制这些灯的亮暗分布,就能达到字符显示的目的。首先输出预定义“吕、苏、田、口”四个汉字,显示屏上的灯的亮暗情况具体应如何。如第一个汉字吕:000000000000000000000000000000000000000001111100001111110100010000100001010001000010000101000100001000010

6、1000100001000010100010000100001010001000010000101000100001111110100010000000000010001000000000001111100000000000000000000000000000000000000000000000000如果高电平1时表示灯是亮的,低电平0时灯是暗的,这样上面的灯呈现在我们眼前的就是吕字了。依次类推,我们就可以设计出所有要显示的汉字了。这样这些汉字就好象是被我们当作了固定模型了。但如何点亮这些灯呢,这就要求有一个脉冲循环扫描的电路,我们采用列扫描,当扫描的和我们先设计好的汉字模型的高电平相匹配时,

7、灯就相应的点亮。由于扫描的速度很快,我们人的眼睛并不会感到灯的闪烁,所以每扫描完16列就会显示在我们眼中一个汉字了。但要所有的汉字就可以依次的显示出来并不停的循环显示,就还要再有一个时序控制电路来控制。此时序控制电路象一个计数器,有自动清零的功能,这样就可以实现循环的效果了。1.2设计框图时序控制扫描控制显示控制译码输出图1.2 总体设计框图1.3顶层文件设计图1.3顶层文件设计二、单元电路设计2.1列循环扫描 通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉。因此要控制扫描的频率,不能太低,否则,就会造成视觉上的不连续,输入一个时钟信号,输出为4位二进制(用s

8、el表示)列选信号,用来选中列,进行扫描,扫描程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity dz_xs is Port(enable,clk:in std_logic; -端口定义 输入信号Sel:out std_logic_vector(3 downto 0); -端口定义 输出信号End dz_xs;Architecture count of dz_xs is Signal lie:std_logic_vector(3 downto 0);BeginProcess(c

9、lk,enable) -脉冲、使能信号beginIf clkevent and clk=1thenIf enable=1 thenIf lie0000 thenLie=lie-0001;Else Lie=1111;End if;End if;End if;SelCase lie is -“吕”字设计When 0011=h0=00000000;h8h0=01111110;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01111110;h8

10、h0=00000000;h8h0=00000000;h8Case lie is -“苏”字设计When 0011=h0=00100000;h8h0=00100000;h8h0=00100000;h8h0=01110000;h8h0=00101000;h8h0=00100011;h8h0=00100000;h8h0=00101000;h8h0=01110000;h8h0=00100000;h8h0=00100000;h8h0=00000000;h8Case lie is -“田”字设计 When0100=h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=0

11、0010001;h8h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00000000;h8Case lie is -“口”字设计When0101=h0=00011111;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00011111;h8h0=00000000;h8=00000000; End case; End if; End if;End process;2.3循环扫描及期间的延时环节为使汉

12、字不断地循环显示,并且使每个汉字之间有停顿,就需要在中间加一定的延时和循环环节。在这一环节中,可以通过修改其数值来控制每个字母的显示时间,其程序如下:process(clk) variable int: integer range 0 to 10000;begin if clkevent and clk=1then if int10000 then int:=int+1; elseint:=0; if next1=”11”thennext1=”00”; elsenext10000 then Lie=lie-0001;Else Lie=1111;End if;End if;End if;SelC

13、ase lie is When 0011=h0=00000000;h8h0=01111110;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01000010;h8h0=01111110;h8h0=00000000;h8h0=00000000;h8Case lie is When 0011=h0=00100000;h8h0=00100000;h8h0=00100000;h8h0=01110000;h8h0=00101000;h8h0=00100011;h8h0=00

14、100000;h8h0=00101000;h8h0=01110000;h8h0=00100000;h8h0=00100000;h8h0=00000000;h8Case lie is When0100=h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00010001;h8h0=00010001;h8h0=00010001;h8h0=00011111;h8h0=00000000;h8Case lie is When0101=h0=00011111;h8h0=00010000;h8h0=00010000

15、;h8h0=00010000;h8h0=00010000;h8h0=00010000;h8h0=00011111;h8h0=00000000;h8h0=00000000;h8=00000000; End case; End if; End if;End process;a3:process(clk) variable int: integer range 0 to 10000;begin if clkevent and clk=1then if int10000 then int:=int+1; elseint:=0; if next1=11thennext1=00; elsenext1= n

16、ext1+1; end if;end if;end if;end process;end count;第三章 系统调试与仿真3.1开发环境介绍Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、Veril-ogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

17、对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。3.2调试与仿真3.2.1 创建工程在Quartus II 中新建一个VHDL File文件,将VHDL代码输入这个文件,并保存到工作目录,名为yz_ok.vhd。利用new preject wizard 工具创建一个工程,工程名为yz_ok,顶层文件

18、实体名为yz_ok,并将上面创建的yz_ok.vhd文件加入到工程中。3.2.2 编译前设置(1)选择目标芯片。用assignmemts-settings命令,弹出settings对话框,选择目标芯片为EP1C3T144C8。图3-1 选择目标器件(2)选择工作方式,编程方式,及闲置引脚状态单击上图中的device&pin options按钮,弹出device&pin options窗口。 在General项中选中auto-restart configuration after error,使对FPGA的配置失败后能自动重新配置,并加入JTAG用户编码。图3-2 选择配置器件工作方式在configuration项中,其下方的Generate compressed bitstreams处打勾,这样就能产生用于EPCS的POF压缩配置文件。在Configuration 选项页,选择配置器件为EPCS1,其配置模式选择为active serial。图3-3选择编程方式在Unused pins项,将目标器件闲置引脚状态设置高阻态,即选择As input,tri-stated。图3-4 设置闲置引脚状态3.2.3 全程编译

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

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