实验三数码管显示控制设计.docx
实验三数码管显示控制设计
一、实验目的
1、熟悉数码管显示控制原理。
二、实验内容
设计并实现8个数码管SMI-8同步循环显示数字0-9。
三、实验仪器
1、ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,时钟源模块。
2、并口延长线,JTAG延长线。
3、安装MAX+PLUSII10.2软件的PC机。
四、实验原理
通过计数器完成技术过程,计数时钟clk选择1Hz,计数器采用四个D触发器级联而成,效果同四位二进制计数器。计数结果D3-D0经74248译7段数码管显示,位选信号为
32768Hz,要实现八位都循环显示必须满足8位都选中一遍后才可以改变计数数据,显然32768Hz远大于IHz,所以设计能满足8位数码管按1秒循环显示,但不能满足只显示0-9。
五、实验注意事项:实验指导书中所有实验内容都是针对主板系统的核心芯片
EPIK30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。
六、实验步骤:
步骤1:输入原理图,编译,仿真,锁定引脚并下载到目标芯片。
步骤2:将信号源模块第一全局时钟接1Hz,第二全局时钟接32768Hz,拨位开关KD1作为复位控制,观察数码管是否按1秒循环显示数字0-9。
七、实验报告
1、列出数码管控制接口表,画出数码管图,列出数码管显示控制表。
八、思考题
思考设计并用VHDL实现8个数码管分别显示数字0-7。程序见附件。
0)
0)口m
03SL0103日
5u
dC:7
30*0
Ea7:
(r
00
8f25L
173
zou
60
629zap
431D00
X
tz0
0
qD20an
E61L
的;
0
libraryieee;--qiduanshumaguanxinanshuseieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityscan_ledis
port(clk:instd_logic;
timel:outstd_logic_vector(2downto0);
time2:outstd_logic_vector(6downto0));
end;
architectureartofscan_ledis
signala:std_logic_vector(3downto0):=0000;
begin
prol:process(clk)begin
ifelkeventandclk=Ithen
ifa=1000thena=“0000”;
elsea=a+1;endif;
endif;
endprocessprol;
pro2:process(a)begin
caseais
when0001=timel=111;time2=1111110;
when0010=timel=110;time2=0110000;
when0011=timel=101;time2=1101101;when0100=timel=100;time2=1111001;when0101=timel=011;time2=0110011;when0110=timel=010;time2=1011011;when0111=timel=001;time2=1011111;when1000=timel=000;time2=1110000;
whenothers=null;endcase;
endprocesspro2;endart;