可编程EDA实验报告题目:数码管显示扫描电路学院:计算机学院班级:软件103班姓名:李涛指导老师:刘光日期:2012/12/19可编程EDA实验报告2数码管显示扫描电路一、实验目的1.进一步了解时序电路设计方法2.掌握多个数码管动态扫描显示的原理及设计方法二、实验原理多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环一次点亮多个数码管,利用人眼睛的视觉暂留现象,只要扫描频率大于50Hz,将看不到闪烁。当闪烁显示的发光二极管闪烁频率较高时,我们将观察到持续点亮的现象。同理,当多个现实数码管一次显示,但切换速度足够快时,我们将观察到所有数码管都是同时显示。一个数码管要稳定显示要求显示频率50Hz,那么6个数码管则需要50×6=300Hz以上才能看到持续稳定点亮的现象。对于第一个实验,可以用一个时钟信号同时控制着两个输出,一个是选择的数码管(管脚0-5),一个是选择的显示数字(管脚0-6),在时钟的作用下这两个变量在移动,只要令时钟变化的足够快就可以实现六个数码管同时显示的状态。对于第二个和第三个实验,利用同样的思路,只不过这个时候需要利用分频器再造出一时钟信号来控制整个系统。三、结果过程a.原理图PLD器件可编程EDA实验报告3B、实现过程1、用VHDL语言设计并实现六个数码管串行扫描电路,要求同时显示0、1、2、3、4、5这6个不同的数字图形到6个数码管上,仿真并下载验证其功能。VHDL程序截图设计思路:cat1-6对应于6个共阴极数码管的公共端,当catn=‘0’时,其对应的数码管被点亮。通过控制cat1~6,在时钟信号的第一个周期开启第一个数码管,第二个周期开启第二个,以此类推,6个数码管依次点亮,由于扫描频率很高,我们会看到连续亮的数码管,1-6号管分别显示012345.可编程EDA实验报告4仿真波形波形分析:clear为高电平时,六个数码管串行扫描。num[n]分别对应着数码管的7段,数码管高电平为亮,低电平暗。Catn为低电平时,数字n即通过num[n]显示。比如,数字5,cat“111110”num=“1011011”.只要数码管闪烁频率足够高,就可以看到六个数码管分别显示0-5六个不同的数字.clear为低电平时,有效,波形清零。2、用VHDL语言设计并实现六个数码器滚动显示电路。(1)循环左滚动,始终点亮6个数码管,左出右进。状态为:012345——123450——234501——345012——450123——501234——012345VHDL代码可编程EDA实验报告5可编程EDA实验报告6仿真波形:波形输出分析:因为要实现的是循环左滚动,且状态转移的顺序是012345-123450-234501-345012-450123-501234-012345共六个状态.从图中可以清楚地看出这六个状态转移过程中,发光二极管管脚的变化情况.输入时钟信号后,6个数码管的选通控制端在同一时刻始终保持一个低电平其余高电平,在0-5对应的数码管上输出实验设定的数字,并且由地位向高位依次循环移动.(2)向左滚动,用全灭的数码管填充右边,直至全部变灭,然后再依次从右边一个一个的点亮。状态为:012345——12345X——2345XX——345XXX——45XXXX——5XXXXX——XXXXXX——XXXXX0——XXXX01——XXX012——XX0123——X01234——012345,其中X表示数码管不显示。VHDL程序:可编程EDA实验报告7可编程EDA实验报告8仿真波形:可编程EDA实验报告9波形分析:由波形图可以清楚地看到12个状态的波形,当时钟clk变化一些周期之后,波形就转到下一个状态.如图所示.状态转移关系:012345-12345X-2345XX-345XXX-45XXXX-5XXXXXX-XXXXXX-XXXXX0-XXXX01-XXX012-XX0123-X01234-012345四、实验总结1.实验前在编写VHDL语言的时候要特别的注意考虑实验室实验板的状况,以保证自己的程序能够下载到实验板上进行使用.并且在设计VHDL语言的程序的时候要多看书上的例子,用最简洁的方式实现目的.2.实验时要特别的认真,从波形图设计截止时间,时钟周期以及输出的表示,到管脚的设定,看准再做.3.实验之后要及时总结实验中的问题和解决方法.