实验四 八位七段数码管动态显示电路的设计_第1页
实验四 八位七段数码管动态显示电路的设计_第2页
实验四 八位七段数码管动态显示电路的设计_第3页
实验四 八位七段数码管动态显示电路的设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选文档 八位七段数码管动态显示电路的设计一、 实验目的1、 了解数码管的工作原理。2、 学习七段数码管显示译码器的设计。3、 学习VHDL的CASE语句及多层次设计方法。二、 实验原理七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-4-1所示。图4-1 静态七段数码管由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、

2、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。三、 实验内容本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。四、 实验步骤1、 打开QUARTUSII软件,新建一个工程。2、 建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。4、 编写完VHD

3、L程序后,保存起来。方法同实验一。5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。7、 根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。如果是调用的本书提供的VHDL代码,则实验连线如下:CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。KEY3.0:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。LEDAG6.0:数码管显示信号,接数码管的G、F、E、D、C、B、A。SEL2.0:数码管的位选信号,接数码管

4、的SEL2、SEL1、SEL0。8、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。五、 实验现象与结果以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1464HZ,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。六、源代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity smg is port( clk : in

5、 std_logic; -定义动态扫描时钟信号 k : in std_logic_vector(3 downto 0); -定义四位输入信号 ledag : out std_logic_vector(6 downto 0); -定义七位输出信号 del : buffer std_logic_vector(2 downto 0) -定义八位数码管位置显示信号 ); end smg;architecture beha of smg is Signal key:std_logic_vector(3 downto 0); beginprocess(clk) variable dount : std_l

6、ogic_vector(2 downto 0); begin if clk'event and clk='1' then -检测时钟上升沿 dount:=dount+1; -计数器dount累加 end if; del<=dount; end process;process(del,k) begin case (del) is when "000"=>key<=k;-+"0000" when "001"=>key<=k;-+"0001" when "0

7、10"=>key<=k;-+"0010" when "011"=>key<=k;-+"0011" when "100"=>key<=k;-+"0100" when "101"=>key<=k;-+"0101" when "110"=>key<=k;-+"0110" when "111"=>key<=k;-+"

8、;0111" end case; end process;process(key) begin case key is when "0000" => ledag <="0111111" when "0001" => ledag <="0000110" when "0010" => ledag <="1011011" when "0011" => ledag <="1001111"

9、 when "0100" => ledag <="1100110" when "0101" => ledag <="1101101" when "0110" => ledag <="1111101" when "0111" => ledag <="0000111" when "1000" => ledag <="1111111" when

10、 "1001" => ledag <="1101111" when "1010" => ledag <="1110111" when "1011" => ledag <="1111100" when "1100" => ledag <="0111001" when "1101" => ledag <="1011110" when "1110&q

温馨提示

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

评论

0/150

提交评论