完整word版数电实验实验报告Quartus数码管循环显示Word文档下载推荐.docx
《完整word版数电实验实验报告Quartus数码管循环显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整word版数电实验实验报告Quartus数码管循环显示Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
![完整word版数电实验实验报告Quartus数码管循环显示Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-2/2/ce3e5662-fd55-41ca-917e-1642016516b1/ce3e5662-fd55-41ca-917e-1642016516b11.gif)
OUTSTD_LOGIC_VECTOR(5DOWNTO0)--输出cat(数码管选通控制信号)端
);
ENDsweep;
ARCHITECTUREsweep_archOFsweepIS
SIGNALsweep_arc:
STD_LOGIC_VECTOR(5DOWNTO0);
--声明内部信号(选通控制信号)
SIGNALb:
STD_LOGIC_VECTOR(6DOWNTO0);
--声明内部信号(相同段信号)
BEGIN
PROCESS(sweep_arc)
BEGIN
IF(clk'
eventandclk='
1'
)THEN
IFclr='
0'
THEN--状态清零
sweep_arc<
="
011111"
;
b<
0000000"
;
ELSE
casesweep_arcIS--选通控制信号
WHEN"
=>
111110"
111101"
111011"
110111"
101111"
WHENOTHERS=>
ENDCASE;
CASEsweep_arcIS--相同段信号
1011011"
0110011"
1111001"
1101101"
0110000"
1111110"
ENDIF;
sweep<
=sweep_arc;
a<
=b;
ENDPROCESS;
END;
仿真:
管脚:
2、
(1)结果:
循环显示:
012345—123450—234501—345012—450123—501234—012345
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYsweep2IS
PORT(clk:
--clk输入时钟
sweep2:
OUTSTD_LOGIC_VECTOR(5DOWNTO0);
--输出数码管相同段
a:
OUTSTD_LOGIC_VECTOR(6DOWNTO0)--输出cat(数码管选通控制信号)端
);
ENDsweep2;
ARCHITECTUREarc_sweep2OFsweep2IS
SIGNALnumber:
INTEGERRANGE0TO6;
--状态声明(6种状态,7种状态值)
SIGNALn:
--声明数码管(6个管,7个值)
SIGNALflag:
INTEGERRANGE0TO50;
--同一状态运行次数
PROCESS(clk)
eventANDclk='
IFn>
5THEN
n<
=0;
ELSEn<
=n+1;
flag<
=flag+1;
ENDIF;
IFflag>
20THEN
number<
=number+1;
IFnumber>
CASEnumberIS
WHEN0=>
--状态0,输出012345
CASEnIS
WHEN0=>
sweep2<
WHEN1=>
WHEN2=>
WHEN3=>
WHEN4=>
WHEN5=>
WHENOTHERS=>
111111"
ENDCASE;
WHEN1=>
----状态1,输出123450
WHEN2=>
--状态2,输出234501
WHEN3=>
--状态3,输出345012
WHEN4=>
--状态4,输出450123
WHEN5=>
--状态5,输出501234
WHENOTHERS=>
ENDCASE;
ENDarc_sweep2;
仿真时将循环次数改为1方便观察波形,共6种状态
2、
(2)结果:
012345—12345X—2345XX—345XXX—45XXXX—5XXXXX—XXXXXX—XXXXX0—XXXX01—XXX012—XX0123—X01234—012345
ENTITYsweep3IS
sweep3:
ENDsweep3;
ARCHITECTUREarc_sweep3OFsweep3IS
INTEGERRANGE0TO12;
--状态声明(12种状态,13种状态值)
IFclk'
THEN
11THEN
sweep3<
--状态1,输出12345X
--状态2,输出2345XX
--状态3,输出345XXX
--状态4,输出45XXXX
--状态5,输出5XXXXX
WHEN6=>
--状态6,输出XXXXXX
WHEN7=>
--状态7,输出XXXXX0
WHEN8=>
--状态8,输出XXXX01
WHEN9=>
--状态9,输出XXX012
WHEN10=>
--状态10,输出XX0123
WHEN11=>
--状态11,输出X01234
--ENDIF;
ENDarc_sweep3;
仿真时将循环次数改为1方便观察波形,共12种状态