电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx

上传人:b****5 文档编号:20725513 上传时间:2023-01-25 格式:DOCX 页数:11 大小:18.17KB
下载 相关 举报
电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx_第1页
第1页 / 共11页
电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx_第2页
第2页 / 共11页
电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx_第3页
第3页 / 共11页
电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx_第4页
第4页 / 共11页
电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx

《电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

电子钟程序的设计模块有时钟初始化模块时钟工作模块Word文件下载.docx

、电子钟

module 

clock(work_state,clock_on,clk_6MHz,clk_4Hz,in_set,display_set,clk_1024Hz,up,down,out1,out2,out3,out4,out5,out6,out7,out8,speaker);

input 

work_state,clk_1024Hz,up,down,display_set,clk_6MHz,in_set,clock_on,clk_4Hz;

output 

out1,out2,out3,out4,out5,out6,out7,out8,speaker;

wire[2:

0] 

in_set;

reg[3:

out1,out2,out3,out4,out5,out6,out7,out8;

reg[2:

display_state;

reg[7:

hour,minute,second,year,month,day,day_max;

hour_set,minute_set,second_set,day_set,month_set,year_set,day_set_max;

integer 

century=20;

i=0;

reg 

speaker;

clock_hour,clock_minute,clock_second;

high,med,low;

reg[13:

divider,origin;

counter;

out;

wire 

carry;

//*****各初始值设置时对应的状态********//

parameter 

state_yorh=3'

b100, 

//设置年或小时对应的按键状态

state_morm=3'

b010, 

//设置月或分对应的按键状态

state_dors=3'

b001;

//设置日或秒对应的按键状态

//***初始化时钟:

08年08月08日00:

00:

00*****//

initial

begin

year<

=8;

year_set<

month<

month_set<

day<

day_set<

hour<

=0;

minute<

second<

clock_hour<

clock_minute<

clock_second<

display_state<

end

//******电子钟正常工作状态下/work_state等于0时,时钟处于工作状态*******//

always 

@(posedge 

clk_1024Hz) 

//频率选择1024HZ

if(i>

=1023)

i<

if(work_state)

=second_set;

=minute_set;

=hour_set;

=day_set;

=month_set;

=year_set;

else 

if(second>

=59)

if(minute>

if(hour>

=23)

if(day>

=day_max)

=1;

if(month>

=12)

if(year>

=99)

else

=year+1;

=month+1;

=day+1;

=hour+1;

=minute+1;

=second+1;

=i+1;

//******数码管显示状态设置*******//

display_set)

if(display_state>

=2)

=display_state+1;

//*闹钟模块设置,用clock_on控制闹钟,闹钟铃声播放时间为一分钟,可手动关闭闹钟**//

clk_6MHz)

begin 

if(clock_on)

if(clock_hour==hour&

&

clock_minute==minute)

speaker<

=out;

//*************设置时钟的初值*************************//

/*用up来触发,当down=0时,一个上升沿触发来时加1,否则减1.***/

@( 

posedge 

up)

if(!

work_state) 

//时间处于正常工作状态时,使要设置的初始值保持同步

second_set<

=second;

minute_set<

=minute;

hour_set<

=hour;

=day;

=month;

=year;

if(display_state==1)//当display_state==1时,则是设置年月日的初始值,否则是设置时间.

if(down==0)

case(in_set)

state_yorh:

if(year_set>

=year_set+1;

end 

state_morm:

if(month_set>

=month_set+1;

state_dors:

if(day_set>

=day_set_max)

=day_set+1;

endcase

if(year_set<

=0)

=99;

=year_set-1;

if(month_set<

=1)

=12;

=month_set-1;

if(day_set<

=day_set_max;

=day_set-1;

if(display_state==0)

if(hour_set>

=hour_set+1;

if(minute_set>

=minute_set+1;

if(second_set>

=second_set+1;

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

当前位置:首页 > 初中教育 > 理化生

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

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