第一范文网 - 专业文章范例文档资料分享平台

实验5 8位数码管扫描显示电路设计

来源:用户分享 时间:2025/10/25 1:57:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验五 8位数码管扫描显示电路设计

一、 预习内容

1、什么是扫描显示; 2、怎样实现数码显示;

3、写出原理草图,写出源程序。

二、 实验目的

1、进一步熟悉用VHDL进行EDA设计方法;

2、本实验与实验4的不同之处在八个数码管都要显示; 3、进一步了解EDA实验箱的基本功能;

三、 实验器材

PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干

四、 实验要求

1、用VHDL设计一个扫描显示电路,并在实验箱上的八个数码管能同时显示自己的学号。(23408148)

2、在完成1的基础上,显示自己的学号加100.

五、实验原理与内容

实验原理:

1> 每个数码管的8个段:hgfedcba(h是小数点)都分别连在一起, 8个数码管分别由8个选通信号k1.k2.。。。k8选择,被选通的数码管(高电平)显示数据,其余关闭。如在某一时刻,k3为高电平,其余为低电平,这时仅k3对应的数码管显示来自段信号端的数据,其余的都关闭。据此,就必须使8个选通信号分别被单独选通,并同时在段信号输入口加上希望显示的数据,就能实现功能 。

2> Clk 是扫描时钟,SG 为7段控制信号,由高位之低位分别接gfedcba7个段,BT是位选控制信号。Cnt8是一个3位计数器,做扫描计数信号,由进程P2生成。进程P3是7段译码查表输出程序,进程P1 是对8个数码管选通的扫描程序。例如当CNT8=001时,K2对应的数码管被选通,同时A被赋值2,再由进程P3译码输出1001111,显示在数码管上即为2,。当cnt8扫变时,将能在8个数码管上显示23408148. 3> 本次试验不显示小数点,可把SG段控制信号向量变为8位(最高位代表小数点),并在最高位设置成恒0低电平。

1

图4-1 动态数码扫描显示硬件电路原理图

六、实验步骤

1、调出调出预先编好的的源程序,检查是否正确;

在quartus 中新建一个工程命名为SCAN_LED,将预先编辑好的程序复制入vhdl文件中,保存并命名为SCAN_LED。 2、编译、仿真程序;

点击start complilation按钮进行全程仿真没有错误后开始进行硬件仿真,首先进行引脚锁定,按照实验讲义中的器件引脚选择模式6,锁定引脚后如下图所示。

3、引脚锁定完成后,开始下载生成的sof文件,会发现数码管开始显示23408148,实验成功。

七、实验报告

1、写出实验源程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

2

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

---------------------------------------------------------- ENTITY SCAN_LED IS PORT ( clk : IN STD_LOGIC;

SG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --段控制信号输出 BT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); --位控制信号输出 END SCAN_LED;

---------------------------------------------------------- ARCHITECTURE one OF SCAN_LED IS

SIGNAL CNT8 : STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL A : INTEGER RANGE 0 TO 9; BEGIN

P1: PROCESS( CNT8 ) BEGIN

CASE CNT8 IS

WHEN \

WHEN \

WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS => NULL ; END CASE ; END PROCESS P1; P2: PROCESS(clk) BEGIN

IF clk'EVENT AND clk = '1' THEN CNT8 <= CNT8 + 1; END IF;

END PROCESS P2 ;

P3: PROCESS( A ) --译码电路 BEGIN

CASE A IS

WHEN 0 => SG <= \ WHEN 2 => SG <= \ WHEN 4 => SG <= \ WHEN 6 => SG <= \ WHEN 8 => SG <= \ WHEN 10 => SG <= \ WHEN 12 => SG <= \ WHEN 14 => SG <= \ WHEN OTHERS => NULL ; END CASE ;

3

END PROCESS P3; END one;

2、实验结果:

将生成的sof文件通过下载线下载到实验箱中,正确显示了自己的学号。改变时钟频率,可以得到不同的效果,如低频率时数码管逐个显示,高频率时数码管逐个显示频率很快,变成了同时显示。 3、心得体会:

1》本次实验要想成功,首先需要知道以下知识:位控制端是控制哪个数码

管显示。段控制端输入根据每个数码管的7个段输入的电平高低而发亮,显示所需要的数据

2》本实验用到3个进程,进程P1 是对8个数码管选通的扫描程序,进程P2做扫描计数信号,进程P3是7段译码查表输出程序。这给初学者一个启发,在编写复杂的程序时,也可以按照这种方式实现。

3》通过改变段选值可以使数码管显示不同的数值。所以显示自己的学号加100,只需要把程序A值改变即可。

4》通过改变clock0的频率可产生不同的显示效果。

八、问题及思考

扫描在视频显示中的应用:

扫描显示是通过把画面划分成很多很多帧来实现的。每一帧都是静止的图

象,快速连续地显示帧便形成了运动的假象。刷新频率越快,由于人眼的视觉停留,就会得到想要的结果。

这就像是拍摄电影一样,在拍摄武打动作时,实际中两人的动作是很慢的,

但播放时,人为的把速度放快,才得到了我们日常生活中喜欢的那种快动作效果。

4

搜索更多关于: 实验5 8位数码管扫描显示电路设计 的文档
实验5 8位数码管扫描显示电路设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8obys8og0q9y6ym8bcy3_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top