利用拨码开关控制点阵进行十六进制数字显示.doc

上传人:土8路 文档编号:9984569 上传时间:2021-04-08 格式:DOC 页数:23 大小:6.94MB
返回 下载 相关 举报
利用拨码开关控制点阵进行十六进制数字显示.doc_第1页
第1页 / 共23页
利用拨码开关控制点阵进行十六进制数字显示.doc_第2页
第2页 / 共23页
利用拨码开关控制点阵进行十六进制数字显示.doc_第3页
第3页 / 共23页
利用拨码开关控制点阵进行十六进制数字显示.doc_第4页
第4页 / 共23页
利用拨码开关控制点阵进行十六进制数字显示.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《利用拨码开关控制点阵进行十六进制数字显示.doc》由会员分享,可在线阅读,更多相关《利用拨码开关控制点阵进行十六进制数字显示.doc(23页珍藏版)》请在三一文库上搜索。

1、中北大学中北大学 课课 程程 设设 计计 说说 明明 书书 学生姓名学生姓名:杨述坤 学学 号:号: 0706024104 学学 院院:电子与计算机科学技术学院 专专 业业:微电子学 题题 目目:利用拨码开关控制点阵进行十六进制数字显示 指导教师:指导教师: 王红亮王红亮 职称职称: : 讲师讲师 2010 年 6 月 25 日 目 录 1、课程设计目的2 2、课程设计内容和要求2 2.1、设计思路2 2.2、设计要求2 3、设计方案及实现情况2 3.1、设计思路2 3.2、工作原理及框图3 3.3、各模块功能描述4 3.4、仿真结果5 3.5、试验箱验证情况 19 4、课程设计总结 21 5

2、、参考文献 23 1 1、课程设计目的、课程设计目的 1.学习操作数字电路设计实验开发系统,掌握点阵显示模块的工作原理及应用。 2.掌握组合逻辑电路、时序逻辑电路的设计方法。 3.学习掌握可编程器件设计的全过程 2 2、课程设计内容和要求、课程设计内容和要求 2.1、设计内容 利用拨码开关控制点阵进行十六进制数字显示,主要包括拨码开关译码电路,行选控制 模块和列字符扫描信号。 2.2、设计要求 1学习掌握拨码开关控制模块、点阵显示模块的工作原理及应用; 2. 熟练掌握 VHDL 编程语言,编写拨码开关控制模块的控制逻辑; 3. 仿真所编写的程序,模拟验证所编写的模块功能; 4. 下载程序到芯片

3、中,硬件验证所设置的功能,能够实现十六进制数字的显示; 5. 整理设计内容,编写设计说明书。 3 3、设计方案及实现情况、设计方案及实现情况 3.1、设计思路 图 1 设计思路 根据题目设计要求,将拨码开关的状态通过 FPGA 的控制在 LED 点阵上显示出来,系统 框图如图 1 所示。本题目采用自顶向下的设计方法,将系统分为两个模块,先分别用 MAX+PLUS II 文本设计输入编写列选通模块和列字符扫描模块,然后用图形设计输入将两个 模块和相应的输入输出进行总的电路设计,通过编译、仿真、时序分析、器件编程、在线验 证等一系列操作,最后完成整个设计过程。 3.2、工作原理及框图 图 2 总体

4、电路原理图 LED 点阵简介点阵简介 LED 点阵式显示器不仅可以显示数字,也可显示所有西文字母和符号,与由单个发光 二极管连成的显示器相比,具有焊点少、连线少,所有点在同平面、亮度均匀、外形美观等 优点,可以代替数码管、符号管和米字管。如果将多块组合可以构成大屏幕显示屏用于汉字、 图形、图表等等的显示,因此被泛用于机场、车站、码头、银行及许多公共场所的指示、说 明、广告等场合。内部结构如图 3。 图 3 1616 的 LED 点阵显示内部电路图 共阳极的 16 16 的 LED 点阵显示器的典型连接方式是: 每一行的 16 个阳极连在一起,由行扫描码锁存器和驱动器的一位控制,总共 16 行阳

5、极 连线由 16 位分别控制;每一列的 16 个阴极连在一起,由列扫描码锁存器和驱动器的一位控 制,总共 16 列阴极连线由 16 位分别控制。 点阵式 LED 显示器采用逐行扫描式工作。要使点阵显示出一个字符的编程方法是:首 先选通第一行;接着,向行码锁存器写入该行的字型码。然后,按相同的方式选通第二行, 写第二行的字型码由此类推,直到写完所有行的字型码,完成一个字符的显示。 3.3、各模块简介功能描述: (1)列选控制模块 在实验仪器中,1616 点阵显示的驱动电路已经做好,并且其列选通信号为一 4-16 译 码器的输出,所以我们在设计点阵控制接口时,其列选通信号输出必须经 4-16 编码

6、。 通过 循环进行 4 位二进制数计数,从而给点阵提供列选通信号,列选通引脚功能如图 4: 图 4 列选通引脚功能图 (2)列字符扫描模块 由点阵的显示原理及编程方法知:根据要显示的数字写出相应的字型码,然后根据逐行 扫描的原理,首先选通第一行,接着,向行码锁存器写入该行的字型码。然后,按相同的方 式选通第二行,写第二行的字型码由此类推,直到写完所有行的字型码,列字符扫描引 脚功能如图 5: 图 5 列字符扫描模块引脚功能图 说明: 当列选通接口 SEL0-SEL3 为“0000”时,选中第 16 列,为“0001”时,选中 15 列,以 此类推。列选通按照 00000001001011101

7、111 依次循环,在选中某列时,对 列进行扫描,当某点列和行都为“1”时,该点被点亮。 硬件连接: 将列选通模块的四位输出接到 FPGA 试验箱上点阵显示器的 SEL0-SEL3 四个列选信号输 入引脚,将列字符扫描模块的十六位输出接到 FPGA 试验箱上点阵显示器的 q0-q15 共十六个 列扫描信号输入引脚,根据对 FPGA 进行的管脚分布连接十六个拨码开关和时钟信号(给一 个频率为 HZ 的时钟信号) ,完成硬件连线,下载程序到 FPGA,观察结果。 补充: 以上程序是使用 4 个拨码开关对 LED 点阵进行控制,若要用十六个拨码开关,则只需加一个 拨码开关译码电路,其功能引脚如图 6:

8、 图 6 拨码开关译码模块引脚功能图 3.4、仿真结果 1、VHDL 语言源程序 -列字符扫描信号产生源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cora is port(ch:in std_logic_vector(3 downto 0); sel: in std_logic_vector(3 downto 0); q: out std_logic_vector(15 downto 0); end cora; architecture corn_arc of co

9、ra is begin process(ch,sel) begin case ch is when 0000= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 0 end case; when 0001= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 1 end case; when 0010= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 2 end case; when 0011= case sel is when 0000=qqqqqqqqq

10、qqqqqqqnull; -显示 3 end case; when 0100= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 4 end case; when 0101= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 5 end case; when 0110= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 6 end case; when 0111= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示

11、 7 end case; when 1000= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 8 end case; when 1001= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 9 end case; when 1010= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 A end case; when 1011= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 B end case; whe

12、n 1100= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 C when others=null; end case; when 1101= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 D end case; when 1110= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 E end case; when 1111= case sel is when 0000=qqqqqqqqqqqqqqqqnull; -显示 F end case; w

13、hen others=null; end case; end process; end corn_arc; -列选控制模块源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnta is port(clk:in std_logic; q:out std_logic_vector (3 downto 0); end cnta; architecture cnt_arc of cnta is begin process(clk) variable tmp:std_logic_

14、vector(3 downto 0); begin if clkevent and clk=1 then if tmp=1111 then tmp:=0000; else tmp:=tmp+1; end if; end if; qqqqqqqqqqqqqqqqqnull; end case; end process; end cw_arc; 2、仿真波形 列选通模块: 列扫描模块: 拨码开关译码: 总仿真波形图: 3.5、试验箱验证情况 4 4、课程设计总结、课程设计总结 本次课程设计的内容是用 LED 点阵显示十六进制数字,因此我对 LED 点阵的内部结构以 及工作原理有了比较深入的理解,并

15、能够按要求进行相应数字等内容的显示,在设计过程中 应用到 VHDL 语言,使得我对 VHDL 语言的理解更加深入,VHDL 是超高速集成电路的硬件描 述语言,它能够描述硬件的结构、行为与功能。另外,VHDL 具有并发性,采用自上而下的 结构式设计方法,适合大型设计工程的分工合作。本次设计所用软件为 MAX+plus II,这使 得我对其各项功能的应更加熟悉,并对其有了更加细致的掌握。 本次课程设计已经是我大学以后第二次课程设计了,我对整个过程都比较了解,不再像 第一次那样茫然,不知所措。再加上本次实验所涉及的内容以及相关软硬件均在本学期可编 程这门课的学习中有所学习,这减轻了本次课程设计难度,

16、但却让我发现了自己在学习中的 一些缺点,即使课上已经对老师所讲授内容充分掌握,但在实践过程中仍会遇到许多意想不 到的问题。理论与实践是截然不同的两门学问,均需要认真学习。 在以后的学习生活中,我会扬长避短,改正自己在学习过程中的各种缺点,努力学习专 业知识,争取在微电子学方面越走越远! 5 5、参考文献、参考文献 (1) 、侯伯亨,顾新.VHDL 硬件描述语言与数字逻辑电路设计. 西安:西安电子科技大学出 版社,1999 (2) 、任勇峰,庄新敏.VHDL 与硬件实现速成. 北京:国防工业出版社,2005 (3) 、求是科技.CPLD/FPGA 应用开发技术与工程实践. 北京:人民邮电出版社,2005 (4) 、周润景,图雅,张丽敏.基于 QuartusII 的 FPGA/CPLD 数字系统设计实例. 北京:电 子工业出版社,2007 (5) 、罗苑棠.CPLD/FPGA 常用模块与综合系统设计实例精讲. 北京:电子工业出版社, 2007

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1