秒表设计:数码管显示,能清零、暂停;层次化设计
1、实验目的
设计软件(quartusii 及实验板(DE2-115)的熟悉及使用
2、实验内容
(1)模100计数器设计:数码管显示,能清零;
(2)秒表设计:数码管显示,能清零、暂停
3、实验设备
(1)DE2-115实验板一块
(2)高配置计算机一台
4、实验原理
74LS161 符号图及功能表
5、实验步骤
(1)计数器设计,创建元件符号;
a. 模100计数器设计及元件符号创建:
图1 模100计数器设计
图2 模100计数器元件符号
b. 模60计数器设计及元件符号创建:
图3 模60计数器设计
扫描二维码关注公众号,回复:
17464251 查看本文章
![](/qrcode.jpg)
图4 模100计数器元件符号
c. 分频电路元件符号设计
图5 分频电路元件符号
(2)调用七段译码器元件7447及计数器元件符号,创建顶层原理图
图6 顶层原理图
(3)顶层设计文件编译、分配管脚、下载、测试
图7 输入管脚分配
图8 输出管脚分配
图9 程序下载
图10 暂停
图11 清零
6、实验要求
(1)采用模块化设计方式
图11 模块
(2)画出计数器的仿真图
a. 模100计数器仿真图
图12 模100计数器仿真图
b. 模60计数器仿真图
图13 模60计数器仿真图
c. 秒表仿真图
图14 秒表仿真图
分频电路代码:
module fenpin(clk,clr,clk0,clk1,clk2,clk3,clk4);
input clk,clr;
output clk0,clk1,clk2,clk3,clk4;
reg clk0,clk1,clk2,clk3,clk4;
reg[12:0] cnter0;
reg[4:0] cnter1,cnter2,cnter3,cnter4;
always@(posedge clk or negedge clr)
if (~clr)
cnter0<=0;
else
if (cnter0==2500)
begin
cnter0<=0; clk0<=1'b1;
end
else
begin
cnter0<=cnter0+1; clk0<=0;
end
always@(posedge clk0 or negedge clr)
if (~clr)
cnter1<=0;
else
if(cnter1==9)
begin
cnter1<=0; clk1<=1'b1;;
end
else
begin
cnter1<=cnter1+1;clk1<=0;
end
always@(posedge clk1 or negedge clr)
if (~clr)
cnter2<=0;
else
if (cnter2==9)
begin
cnter2<=0; clk2<=1'b1;;
end
else
begin
cnter2<=cnter2+1;clk2<=0;
end
always@(posedge clk2 or negedge clr)
if (~clr)
cnter3<=0;
else
if (cnter3==9)
begin
cnter3<=0; clk3<=1'b1;;
end
else
begin
cnter3<=cnter3+1;clk3<=0;
end
always@(posedge clk3 or negedge clr)
if (~clr)
cnter4<=0;
else
if(cnter4==9)
begin
cnter4<=0; clk4<=1'b1;;
end
else
begin
cnter4<=cnter4+1;clk4<=0;
end
endmodule