EDA课设交通灯注释程序Word文件下载.docx
《EDA课设交通灯注释程序Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA课设交通灯注释程序Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
dout4:
outstd_logic_vector(7downto0));
endentitycnt04s;
architectureartofcnt04sis--结构体定义
signalcnt2b:
std_logic_vector(1downto0);
--定义信号
begin
process(clk,en04m,en04b)is--(EN代表允许计数信号)
begin
if(clk'
eventandclk='
1'
)then
ifen04m='
thencnt2b<
=cnt2b+1;
--当有始终信号前提下,EN为1,开始计数
elsifen04b='
--当有始终信号前提下,EN为1,开始计数
0'
=cnt2b-cnt2b-1;
--不计数,保持不变
endif;
endif;
endprocess;
--结束进程
process(cnt2b)is
casecnt2bis
when"
00"
=>
dout4<
="
00000100"
;
--计数器计数对应在数码管上的显示数字4
01"
00000011"
--计数器计数对应在数码管上的显示数字3
10"
00000010"
--计数器计数对应在数码管上的显示数字2
11"
00000001"
--计数器计数对应在数码管上的显示数字1
whenothers=>
00000000"
--计数器计数对应在数码管上的显示数字0
endcase;
endarchitectureart;
--结束结构体
--cnt20s.vhd(20s倒计时模块)
entitycnt20sis
port(sb,sm,clk,en20:
dout20m,dout20b:
endentitycnt20s;
architectureartofcnt20sis
signalcnt5b:
std_logic_vector(4downto0);
process(sb,sm,clk,en20,cnt5b)is
if(sb='
orsm='
)thencnt5b<
=cnt5b-cnt5b-1;
elsif(clk'
)then
ifen20='
thencnt5b<
=cnt5b+1;
elsifen20='
process(cnt5b)is
casecnt5bis--数码管显示电路程序
00000"
dout20m<
00100000"
dout20b<
00100100"
00001"
00011001"
00100011"
00010"
00011000"
00100010"
00011"
00010111"
00100001"
00100"
00010110"
00101"
00010101"
00110"
00010100"
00111"
00010011"
01000"
00010010"
01001"
00010001"
01010"
00010000"
01011"
00001001"
01100"
00001000"
01101"
00000111"
01110"
00000110"
01111"
00000101"
10000"
10001"
10010"
10011"
--cnt40s.vhd(40秒倒计时模块)
entitycnt40sis--(定义实体,实体名为cn40s,40秒计数器)
port(sb,clk,en40:
--(端口说明,输入类型)
dout40m,dout40b:
--(端口说明,输出类型)
endentitycnt40s;
--(实体说明结束)
architectureartofcnt40sis--(实体的结构体名称以及所属关系)
signalcnt6b:
std_logic_vector(5downto0);
--(6个数对应以下信号)--义信号)
process(sb,clk,en40,cnt6b)is
ifsb='
thencnt6b<
=cnt6b-cnt6b-1;
ifen40='
=cnt6b+1;
elsifen40='
process(cnt6b)is
casecnt6bis--数码管显示电路程序
000000"
dout40m<
01000000"
dout40b<
01000100"
--(44)
000001"
00111001"
01000011"
000010"
00111000"
01000010"
000011"
00110111"
01000001"
000100"
00110110"
000101"
00110101"
000110"
00110100"
000111"
00110011"
001000"
00110010"
001001"
00110001"
001010"
00110000"
001011"
00101001"
001100"
00101000"
001101"
00100111"
001110"
00100110"
001111"
00100101"
010000"
010001"
010010"
010