数字电路课程设计数字钟大学论文Word文档格式.docx

上传人:b****1 文档编号:13519615 上传时间:2022-10-11 格式:DOCX 页数:21 大小:360.88KB
下载 相关 举报
数字电路课程设计数字钟大学论文Word文档格式.docx_第1页
第1页 / 共21页
数字电路课程设计数字钟大学论文Word文档格式.docx_第2页
第2页 / 共21页
数字电路课程设计数字钟大学论文Word文档格式.docx_第3页
第3页 / 共21页
数字电路课程设计数字钟大学论文Word文档格式.docx_第4页
第4页 / 共21页
数字电路课程设计数字钟大学论文Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数字电路课程设计数字钟大学论文Word文档格式.docx

《数字电路课程设计数字钟大学论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字电路课程设计数字钟大学论文Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

数字电路课程设计数字钟大学论文Word文档格式.docx

2.3.2修改时间

当sw1处于低电平状态,sw0处于高电平状态,进入当前时间修改功能。

通过按键key0分别选择修改时、分或秒,通过按键key1对选择修改的时间进行+1操作。

2.3.3闹钟

当sw1出于高电平状态,sw0出于低电平状态,进入闹铃功能。

通过按键key0分别选择改变时、分或秒,通过按键key2对选择改变的时间进行+1操作,当数字钟到当前时间,LEDG0发光。

2.3.4秒表

当sw1及sw0都处于高电平状态,进入秒表功能。

通过按键key0进行秒表计时的开始及暂停,通过按键key3对秒表进行清零。

3系统以及模块硬件电路设计

3.1硬件原理图

图3.1系统示意图

图3.2按键电路

图3.3状态选择按键

图3.4闹钟使用的led

3.2管脚定义

程序代码

引脚

功能作用

clk

PIN_N2

提供50MHz的时钟信号

s1

PIN_N25

选择功能状态

s2

PIN_G26

k1

切换改变时间功能的时、分、秒;

切换闹钟功能设置闹钟时间的时、分、秒;

秒表功能的开始与暂停

k2

PIN_N23

改变时间功能的+1

k3

PIN_P23

闹钟功能设置闹钟时间的+1

k4

PIN_W26

秒表功能的清零

LED

PIN_AE22

闹钟时间到来时指示

dclkh1[0]

PIN_N9

连接HEX7,

显示时高位

dclkh1[1]

PIN_P9

dclkh1[2]

PIN_L7

dclkh1[3]

PIN_L6

dclkh1[4]

PIN_L9

dclkh1[5]

PIN_L2

dclkh1[6]

PIN_L3

dclkh2[0]

PIN_M4

连接HEX6,

显示时低位

dclkh2[1]

PIN_M5

dclkh2[2]

PIN_M3

dclkh2[3]

PIN_M2

dclkh2[4]

PIN_P3

dclkh2[5]

PIN_P4

dclkh2[6]

PIN_R2

dclkm1[0]

PIN_R3

连接HEX5,

显示分高位

dclkm1[1]

PIN_R4

dclkm1[2]

PIN_R5

dclkm1[3]

PIN_T9

dclkm1[4]

PIN_P7

dclkm1[5]

PIN_P6

dclkm1[6]

PIN_T2

dclkm2[0]

PIN_T3

连接HEX4,

显示分低位

dclkm2[1]

PIN_R6

dclkm2[2]

PIN_R7

dclkm2[3]

PIN_T4

dclkm2[4]

PIN_U2

dclkm2[5]

PIN_U1

dclkm2[6]

PIN_U9

dclks1[0]

PIN_W24

连接HEX3,

显示秒高位

dclks1[1]

PIN_U22

dclks1[2]

PIN_Y25

dclks1[3]

PIN_Y26

dclks1[4]

PIN_AA26

dclks1[5]

PIN_AA25

dclks1[6]

PIN_Y23

dclks2[0]

PIN_Y24

连接HEX2,

显示秒低位

dclks2[1]

PIN_AB25

dclks2[2]

PIN_AB26

dclks2[3]

PIN_AC26

dclks2[4]

PIN_AC25

dclks2[5]

PIN_V22

dclks2[6]

PIN_AB23

4系统的Verilog设计

//顶层模块

moduleclock(clk,dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2,s,h,state,s1,s2,k1,k2,k3,k4,LED);

inputclk;

//声明输入端口,连接50M晶振

inputs1,s2;

//声明输入端口,控制功能转换

inputk1,k2,k3,k4;

//声明输入端口,连接按键,对功能内部进行设置

outputLED;

//声明输出端口,连接LED,闹钟指示

outputs,h;

//声明输出端口,为各功能提供秒信号

outputstate;

//声明输出端口,表示当前状态

output[6:

0]dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2;

//声明输出端口,连接数码管,

reg[31:

0]c,e;

regs,h;

regb;

reg[1:

0]state;

wire[7:

0]cs0,cm0,ch0,cs1,cm1,ch1,cs2,cm2,ch2,cs3,cm3,ch3;

//分别连接四个状态的时分秒

reg[7:

0]clks,clkm,clkh,clks1,clkm1,clkh1;

wire[6:

0]k,a,d;

regLED;

regclkf;

always@(negedgek1)//检测k1

begin

if(state==2'

b01)

begin

if(k==2'

d2)

k<

=2'

d0;

else

=k+1'

d1;

end

elseif(state==2'

b10)

if(a==2'

a<

=a+1'

b11)

begin

b<

=~b;

end

end

always@(negedgek4)//检测k4

if(d==1'

b1)

d<

=1'

b0;

=d+1'

b1;

always@(posedgeclkf)//定义状态

case({s1,s2})

2'

b00:

state=2'

b01:

b10:

d2;

b11:

d3;

default:

endcase

always@(posedgeclk)//提供1Hz信号

if(c==32'

d24999999)

begin

s<

=~s;

h<

=~h;

c<

end

else

=c+1'

always@(posedgeclk)//提供200Hz信号

if(e==32'

d125999)

clkf<

=~clkf;

else

e<

=e+1'

always@(posedgeclkf)//检验时间是否到设定的闹钟

if(cs2==cs0&

&

cm2==cm0&

ch2==ch0)

LED<

always@(posedgeclkf)

if(state==1'

b0)

clks<

=cs0;

clkm<

=cm0;

clkh<

=ch0;

elseif(state==2'

d1)

clks1<

=cs1;

clkm1<

=cm1;

clkh1<

=ch1;

=cs2;

=cm2;

=ch2;

d3)

=cs3;

=cm3;

=ch3;

de2timeu0(.cs0(cs0),.cm0(cm0),.ch0(ch0),.s(s),.state(state),.clkf(clkf),.clks1(clks1),.clkm1(clkm1),.clkh1(clkh1));

de2timechangeu1(.cs1(cs1),.cm1(cm1),.ch1(ch1),.state(state),.k2(k2),.k(k));

de2alarmu2(.cs2(cs2),.cm2(cm2),.ch2(ch2),.a(a),.k3(k3),.state(state));

de2timeru3(.cs3(cs3),.cm3(cm3),.ch3(ch3),.b(b),.h(h),.clkf(clkf),.d(d));

bdtransformu4(.clks(clks),.clkm(clkm),.clkh(clkh),.dclks1(dclks1),.dclks2(dclks2),.dclkm1(dclkm1),.dclkm2(dclkm2),.dclkh1(dclkh1),.dclkh2(dclkh2),.clkf(clkf));

endmodule

//正常时间显示模块

modulede2time(clks1,clkm1,clkh1,s,state,cs0,cm0,ch0,clkf);

inputs;

inputclkf;

inputclks1,clkm1,clkh1;

outputcs0,cm0,ch0;

inputstate;

wires;

wireclkf;

0]clks1,clkm1,clkh1;

wire[1:

0]cs0;

0]cm0;

0]ch0;

always@(posedges)

d0||state==2'

d2||state==2'

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1