八位七段数码管动态显示电路设计.doc

上传人:11****ws 文档编号:2152744 上传时间:2019-04-30 格式:DOC 页数:23 大小:670KB
下载 相关 举报
八位七段数码管动态显示电路设计.doc_第1页
第1页 / 共23页
八位七段数码管动态显示电路设计.doc_第2页
第2页 / 共23页
八位七段数码管动态显示电路设计.doc_第3页
第3页 / 共23页
八位七段数码管动态显示电路设计.doc_第4页
第4页 / 共23页
八位七段数码管动态显示电路设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、1八位七段数码管动态显示电路的设计一 七段显示器介绍七段显示器,在许多产品或场合上经常可见。其内部结构是由八个发光二极管所组成,为七个笔画与一个小数点,依顺时针方向为 A、B、C、D、E、F、G 与 DP 等八组发光二极管之排列,可用以显示 09 数字及英文数 A、b、C、d、E、F。目前常用的七段显示器通常附有小数点,如此使其得以显示阿拉伯数之小数点部份。七段显示器的脚位和线路图如下图 4.1 所示( 其第一支接脚位于俯视图之左上角 )。图 4.1、七段显示器俯视图由于发光二极管只有在顺向偏压的时候才会发光。因此,七段显示器依其结构不同的应用需求,区分为低电位动作与高电位动作的两种型态的组件

2、,另一种常见的说法则是共阳极( 低电位动作 )与共阴极( 高电位动作 )七段显示器,如下图 4.2 所示。( 共阳极 ) ( 共阴极 )图 4.2、共阳极(低电位动作)与共阴极(高电位动作)2要如何使七段显示器发光呢?对于共阴极规格的七段显示器来说,必须使用“ Sink Current ”方式,亦即是共同接脚 COM 为 VCC,并由 Cyclone II FPGA 使接脚成为高电位,进而使外部电源将流经七段显示器,再流入 Cyclone II FPGA 的一种方式本实验平台之七段显示器模块接线图如下图 4.5 所示。此平台配置了八组共阳极之七段显示器,亦即是每一组七段显示器之 COM 接脚,

3、均接连至 VCC 电源。而每一段发光二极管,其脚位亦均与 Cyclone II FPGA 接连。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e 、f 、g、h、dp 都连在了一起,8 个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。图 4.5、七段显示器模块接线图七段显示器之常见应用如下 可作为与数值显示相关之设计。 电子时钟应用显示 倒数定时器 秒表 计数器、定时器 算数运算之数值显示器3二 七段显示器显示原理七段显示器可用来显示单一的十进制或十六进制的数字,它是由八个发光二极管所构成的( 每一个二极

4、管依位置不同而赋予不同的名称,请参见图 4.1 ) 。我们可以简单的说,要产生数字,便是点亮特定数据的发光二极管。例如要产生数字0 ,须只点亮A、B 、 C、D、 E、F 等节段的发光二极管;要产生数字5 ,则须点亮 A、C、D、F、G等节段发光二极管,以此类推,参见图 4.6。因此,以共阳极七段显示器而言,要产生数字0 ,必须控制 Cyclone II FPGA 芯片接连至 A、B、C 、D、E、F 等接脚呈现“低电位” ,使电路形成通路状态。表 4.1 则为共阳极七段显示器显示之数字编码。图 4.6、七段显示器显示阿拉伯数字表 4.1、共阳极七段显示器显示数字编码资料 DP G F E D

5、 C B A 16 进制0 1 1 0 0 0 0 0 0 C01 1 1 1 1 1 0 0 1 F92 1 0 1 0 0 1 0 0 A43 1 0 1 1 0 0 0 0 B04 1 0 0 1 1 0 0 1 995 1 0 0 1 0 0 1 0 926 1 0 0 0 0 0 1 0 827 1 1 1 1 1 0 0 0 F88 1 0 0 0 0 0 0 0 80本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择 1KHZ 作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的

6、值。实验箱中的拨动开关与 FPGA 的接口电路,以及拨动开关 FPGA 的管脚连接在实验一中都做了详细说明,这里不在赘述。4数码管显示模块的电路原理如图 4-2 所示, 图 4-2 数字时钟信号模块电路原理三 实验步骤(本实验用 VHDL 文本语言实现八位七段数码管动态显示,当然也可用 Quartus 的图形输入法实现八位七段数码管动态显示)1. 下面我们建立一个八位七段数码管动态显示的 VHDL 工程1)选择 开始 程序 Altera QuartusII5.1,运行 QUARTUSII 软件。或者双击桌面上的 QUARTUSII 的图标运行 QUARTUSII 软件,出现如图 1-3 所示。

7、图 1-3 QUARTUSII 软件运行界面52)选择软件中的菜单 File New Project Wizard,新建一个工程。如图 1-4 所示。图 1-4 新建工程对话框3)点击图 1-4 中的 NEXT 进入工作目录,工程名的设定对话框如图 1-5 所示。第一个输入框为工程目录输入框,用户可以输入如 e:/eda 等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。第二个输入框为工程名称输入框,第三个输入框为顶层实体名称输入框。用户可以设定如 EXP1,一般情况下工程名称与实体名称相同。使用者也可以根据自已的实际情况来设定工程名和顶层文件名。注:本处的顶层文件名必须

8、和程序的实体名一致,否则编译会出错。图 1-5 指定工程名称及工作目录64)点击 NEXT,进入下一个设定对话框,按默认选项直接点击 NEXT 进行器件选择对话框。如图 1-6 所示。这里我们以选用 CycloneII 系列芯片 EP2C35F672C8 为例进行介绍。用户可以根据使用的不同芯片来进行设定。图 1-6 器件选择界面首先在对话框的左上方的 Family 下拉菜单中选取 CycloneII,在中间右边的 Speed grade 下拉菜单中选取 8,在左下方的 Available devices 框中选取 EP2C35F672C8,点击NEXT 完成器件的选取,进入 EDA TOOL

9、 设定界面如图 1-7 所示。图 1-7 EDA TOOL 对话框75)按默认选项,点击 Next 出现新建工程以前所有的设定信息,如图 1-8 所示,点击Finish 完成新建工程的建立。图 1-8 新建工程信息2、建立 VHDL 设计文件1)在创建好设计工程后,选择 File NEW菜单,出现图 1-9 所示的新建设计文件类型选择窗口。这里我们以建立 VHDL 设计文件为例进行说明。8图 1-9 新建设计文件选择窗口2)在 New 对话框(图 1-9)中选择 Device Design Files 页下的 VHDL File,点击 OK按钮,打开图形编辑器对话框,如图 1-10 所示。图中

10、标明了常用的每个按钮的功能3) 在文本编辑器中输入如下 VHDL 程序:-下面是引用库 -library ieee; -库函数use ieee.std_logic_1164.all;-定义了 std_logic 数据类型及相应运算use ieee.std_logic_arith.all;-定义了 signed 和 unsigned 数据类型、相应运算和相关类型转换函数use ieee.std_logic_unsigned.all;-定义了一些函数,可以使9std_logic_vector 类-型被当作符号数或无符号数一样进行运算-下面是构造实体entity exp4 is -exp4 为实体名

11、port( clk : in std_logic; -定义动态扫描时钟信号key : in std_logic_vector(3 downto 0); -定义四位输入信号ledag : out std_logic_vector(6 downto 0); -定义七位输出信号del : out std_logic_vector(2 downto 0) -定义八位数码管位置显示信号); end exp4; -结束实体-architecture whbkrc of exp4 is -whbkrc 为结构体名begin -以 begin 为标志开始结构体的描述process(clk) -进程,clk 变

12、化时启动进程variable dount : std_logic_vector(2 downto 0); -变量,计数 beginif clkevent and clk=1 then-检测时钟上升沿dount:=dount+1;-计数器 dount 累加end if;del ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag ledag null;end case;end process; -结束进程end whbkrc; -结束结构体关于 VHDL,我们以上面八位七

13、段数码管显示程序为例来解释 VHDL 的语法构成,以使大家对 VHDL 有个整体的把握。一个 VHDL 程序有三部分构成,其为 : 1.库和包 library(设计资源) ;2. 实体 entity(外部端口)3. 结构体 architecture(内部结构) 库和包 library(设计资源)的介绍本程序中用到 3 个库函数包:如下 : 1.1 use ieee.std_logic_1164.all;-定义了 std_logic 数据类型及相应运算1.2 use ieee.std_logic_arith.all;-定义了 signed 和 unsigned 数据类型、相应运算-和相关类型转换函数1.3 use ieee.std_logic_unsigned.all;-定义了一些函数,可以使 std_logic_vector-类型被当作符号数或无符号数一样进行运算

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。