态扫描的方式实现设计要求。动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此在同一时刻如果各位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描
第3页
f数字电路与逻辑设计实验报告
显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。总之,多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环一次点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。6个数码管则需要506300Hz以上才能看到持续稳定点亮的现象。
2设计思路
设计时序电路,输入时钟经过一个分频器,产生2kHz的扫描信号作为时钟,驱动计数器工作。选用模值为6的计数器,通过一个6路的数据分配器,产生段码,依次控制6个LED的亮灭,使得某一时刻有且仅有一个LED点亮,同时产生对应的,将点亮的LED数码管赋值显示为相应的数码予以显示。由于扫描频率较高,6位LED数码管序列将显示持续稳定的0至5的数码。
3VHDL代码
①实现代码libraryieeeuseieeestd_logic_1164alluseieeestd_logic_u
sig
edall
e
titytest1201isportclk_i
i
std_logiccatoutstd_logic_vector5dow
to0第4页
这是第十二个实验,test1201为文件名定义三个端口,一个时钟输入,一个控
制哪个数码管工作的cat控制信号,一
f数字电路与逻辑设计实验报告a_outoutstd_logic_vector6dow
to0个控制数码管上的哪些灯亮
e
dtest1201
architectureaoftest1201issig
altmpstd_logic_vector6dow
to0sig
alc
ti
tegerra
ge0to149999sig
alcat_tmpstd_logic_vector5dow
to0begi
processclk_i
begi
ifclk_i
eve
ta
dclk_i
1the
ifc
t24999the
cat_tmp