资源描述:
《电子钟程序的设计模块有时钟初始化模块、时钟工作模块.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、电子钟:程序的设计模块有:时钟初始化模块、时钟工作模块、时钟设置模块、闹钟设置模块、闰年的月份天数判断模块、数码管显示模块、闹钟铃声模块及其它的设置模块。程序使用8个输入分别与8个按键连接,用按键8对应时钟工作状态(work_state),当work_state为0时,时钟正常工作,当work_state为1时,进入时钟设置状态。按键7对应输入端口display_set控制时钟显示状态(display_state),每按2次(用于产生上升沿触发)则数码管的输出不同。Display_state与work_state相结合使用,以区分设置
2、的参数。按键6~4对应输入个脚in_set,该参数共有三位,用以表示三个状态:state_yorh (设置年或小时)、state_morm(设置月份或分钟)、 state_dors(设置日期或秒钟)。按键3~2对应数值设置端口up各down。Up用于产生上升沿触发,当down为0时,则每一个上升沿产生时,相应的参数加1,当down为1时,则每一个上升沿产生时,相应的参数减1。按键1与输入端口clock_on相连,用于闹钟的开与关,当 clock_on为1时开闹钟,否则关闹钟。扬声器与输出端口speaker相连,用于输出闹钟铃声。是用G
3、W48教学实验箱仿真的 、电子钟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
4、,out7,out8,speaker;wire[2:0] in_set;reg[3:0] out1,out2,out3,out4,out5,out6,out7,out8;reg[2:0] display_state;reg[7:0] hour,minute,second,year,month,day,day_max;reg[7:0] hour_set,minute_set,second_set,day_set,month_set,year_set,day_set_max;integer century=20;integer i=0;r
5、eg speaker;reg[7:0] clock_hour,clock_minute,clock_second;reg[3:0] high,med,low; reg[13:0] divider,origin; reg[7:0] counter; reg out; wire carry;//*****各初始值设置时对应的状态********//parameter state_yorh=3'b100, //设置年或小时对应的按键状态 stat
6、e_morm=3'b010, //设置月或分对应的按键状态 state_dors=3'b001; //设置日或秒对应的按键状态//***初始化时钟:08年08月08日00:00:00*****//initial begin year<=8; year_set<=8; month<=8; month_set<=8; day<=8; day_set<=8; hour<
7、=0; minute<=0; second<=0; clock_hour<=0; clock_minute<=0; clock_second<=0; display_state<=0; end //******电子钟正常工作状态下/work_state等于0时,时钟处于工作状态*******//always @(posedge clk_1024Hz) //频率选择1024HZ b
8、egin if(i>=1023) begin i<=0; if(work_state)