实验四动态数码管显示

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四动态数码管显示

1.实验目的

学习动态扫描显示的原理及电路的设计。

2.实验内容

本实验内容是建立数码管动态扫描显示模块。在试验箱上完成LED数码管的动态显示1~8这8个数。稳定显示后,放慢扫描速度演示动态显示的原理过程。

3.实验原理

数码管LED显示是工程项目中使用较广的一种输出显示器件。常见的数码管共阴和共阳两种。共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将8个发光二极管的阳极连接在一起作为公共端。公共端常称为位码,而将其它8位称为段码,分别为:a、b、c、d、e、f、g、h,其中h为小数点,只要公共端为高电平“1”,某个段输出为低电平“0”,则相应的段就亮。把每个数码管的8个段都分别连接到SEG0~SEG7,8个数码管分别由8个选通信号DIG0~DIG7来选择。被选通的数码管显示,其余关闭。例如在某一时刻,DIG2为“0”,其余数码管选通信号为“1”,这是仅DIG2对应的LED数码管显示来自段码信号端的数据,而其他数码管成关闭状态。根据这种电路状态,如果希望8个数码管全都显示想要的数据,就必须使得8个选通信号DIG0~DIG7分别单独选通,同时在段输入端加上对应的数据。虽然每次只有一个LED显示,但只要扫描的速率够快,由于人眼视觉的余辉效益,我们仍会感觉所有数码管都在同时显示。

4.实验步骤

(1)启动Quartus II,建立一个空白工程,然后命名为dled.qpf。

(2)新建scan_led.vhd源程序文件,源代码如下。然后进行综合编译。若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。生产符号文件scan_led.bsf (File→ Create/_Update → Create Symbol Files for Current File)。

(3)将实验模块库里的int_div.vhd和int_div.bsf拷贝到工程目录下。

(4)添加4位兆计数器功能模块。步骤如下:

①在Quartus II主界面中选择Tools—Mega Wizard Plug-In Manager,打开如下图所示的兆功能模块向导。选择Create a new custom megafunction variation新建一个新的兆功能模块。

图添加兆功能模块向导对话框——Page1

②单击Next进入向导第2页,按照如下图所示填写。选择LPM_CONSTANT,设置好

输出文件的类型和路径,使用Cyclone族的器件。

图添加兆功能模块向导对话框——Page2

③单击Next进入向导第3页,,按照如下图所示填写。数据宽度32位,数值为12345678H。

图添加兆功能模块向导对话框——Page3

④剩余步骤不需更改设置,在这里可以一步一步单击Next,或者直接单击Finish结束。如下图所示。注意在结束时一定要选择生成“*.bsf”符号文件。

图添加兆功能模块向导对话框——结束页

(5)新建图形设计文件,命名为dled.bdf并保存。文件的设计如下图所示。

图动态LED顶层显示模块

(6)选择目标器件并对相应的引脚进行锁定,这里选择的器件为Altera公司的Cyclone I 系列的EP1C6Q240C8。引脚锁定方法如下表所列。

7、将dled.bdf设置成顶层实体(Project—Set as Top-level Entity)。对该工程文件进行全

程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。

8、下载程序到芯片上,观察数码管的显示状态。

9、稳定显示后,放慢扫描速度演示动态显示的原理过程。

附加实验:增加一个复位键,当按键按下时,动态态显示的数码管有复位现象。

相关文档
最新文档