18数码管扫描显示郑凯Word下载.docx
- 文档编号:939622
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:8
- 大小:426.41KB
18数码管扫描显示郑凯Word下载.docx
《18数码管扫描显示郑凯Word下载.docx》由会员分享,可在线阅读,更多相关《18数码管扫描显示郑凯Word下载.docx(8页珍藏版)》请在冰点文库上搜索。
实验名称
数码管扫描显示
实验时间
实验地点
实验设备号
一、实验程序设计
分工如下:
每个人单独完成一个大实验。
第23个实验:
冯冠玺
第18,19个实验:
郑凯各模块示意图:
一.分频器模块
二.显示模块
三.计数器模块
总模块:
实验程序源代码:
moduleeighteen(inputStartStop,inputclk,input_clr,output[3:
0]AN,output[7:
0]Seg);
wire[30:
0]counter;
//时钟计数器
wirec0,c1,c2,c3;
//进位
wire[15:
0]Data;
//保存需要显示的数字,每4位一个数码管
//startstop:
自增与否
Fdivfdiv(clk,counter);
SHOWshow(Data,counter[19:
18],AN,Seg);
Adderad0(_clr,StartStop,counter[25],Data[3:
0],c0);
//第一个clk来临的时候,即counter[25]=1时,计数一次,又隔了一个counter[24],变为0,再一个变为1,再计数
Adderad1(_clr,StartStop,c0,Data[7:
4],c1);
Adderad2(_clr,StartStop,c1,Data[11:
8],c2);
Adderad3(_clr,StartStop,c2,Data[15:
12],c3);
endmodule
////分频模块
moduleFdiv(inputCP,output[30:
0]counter);
reg[30:
0]counter={30{1'
b0}};
always@(posedgeCP)
begin
counter<
=counter+1'
b1;
endendmodule
//显示模块
moduleSHOW(input[15:
0]data,input[1:
0]Bit_Sel,output[3:
reg[3:
0]AN;
//板子上4个数码管的编号
reg[7:
0]Seg;
0]code[0:
15]={8'
b00000011, //二维数组记录数码管数字显示码
8'
b10011111,
b00100101,
b00001101,
b10011001,
b01001001,
b01000001,
b00011111,
b00000001,
b00001001,
b00010001,
b11000001,
b01100011,
b10000101,
b01100001,
b01110001};
always@(Bit_Sel)//Bit_Sel控制每个数码管的亮起时间
case(Bit_Sel)
0:
AN<
=4'
b0111;
//data保存需要显示的数字,每4位一个数码管Seg<
=code[data[15:
12]];
//高位数码管
end1:
b1011;
//第二个数码管亮起Seg<
=code[data[11:
8]];
end2:
b1101;
Seg<
=code[data[7:
4]];
end
3:
b1110;
=code[data[3:
0]];
endcase
二、仿真波形
//计数模块
moduleAdder(input_CLR,inputstartstop,inputCLK,outputreg[3:
0]Q,outputregCO);
always@(negedge_CLRorposedgeCLK)
if(_CLR==0)
CO<
=1'
b0;
Q<
b0000;
end
elseif(startstop)begin
if(Q==4'
b1001)
else
=Q+1'
三、电路图
四、引脚配置(约束文件)
NET"
AN[3]"
LOC=P17;
NET"
AN[2]"
LOC=P18;
AN[1]"
LOC=N15;
AN[0]"
LOC=N16;
Seg[7]"
LOC=T17;
Seg[6]"
LOC=T18;
Seg[5]"
LOC=U17;
Seg[4]"
LOC=U18;
Seg[3]"
LOC=M14;
Seg[2]"
LOC=N14;
Seg[0]"
LOC=M13;
Seg[1]"
LOC=L14;
_clr"
LOC=T5;
clk"
LOC=V10;
StartStop"
LOC=V8;
五、思考与探索
1.一开始并不知道为什么要设counter这个变量,而且不懂显示模块里为什么要用到
counter[19:
18],后来仔细一步步根据clk的传入推导得知counter[19:
18]是保证每个数码的刷新显示时间,以确保人眼能够同时看到4个数码管同时亮起。
2.停止计数了;
4个点均亮;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 18 数码管 扫描 显示