资源描述:
《LCD1602电子钟》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//lcd1602控制模块,在液晶上显示两行,第一行为"WelcometoQC!",第二行为"LCDDISPLAY"//从CGROM中取出数据显示//lcd_e:1-使能有效,0-使能无效//lcd_rw:1-读操作,0-写操作lcd_rs:1-输入数据,0-输入指令moduleLCD1602(clkin,//48mHzresetin,//时钟,复位信号输入lcd_data,//lcd数据总线lcd_e,lcd_rw,lcd_rs//lcd控制信号);inputclkin,resetin;output[7:0]lcd_data;outpu
2、tlcd_e,lcd_rw,lcd_rs;reg[7:0]lcd_data;reglcd_e,lcd_rw,lcd_rs;reg[31:0]count;reg[7:0]hou,min,sec;wireclk_div;parameterset_Func=8'b0000_0001,set_DispSwitch=8'b0000_0010,set_EntryMd=8'b0000_0100,clr_Disp=8'b1000_1000,set_DDAd1=8'b0001_0000,set_DDAd2=8'b0010_0000,Display1=8'b
3、0100_0000,Display2=8'b1000_0000,scan=8'b1000_0001,Over=8'b0000_0000;reg[7:0]lcd_state;reg[7:0]delay_cnt;reg[3:0]char_cnt;reg[7:0]data1[13:0];reg[7:0]data2[13:0];//分频时钟defparamGen_ClkDiv.divdFACTOR=240,Gen_ClkDiv.divdWIDTH=7;//分频出100k的时钟gen_divdGen_ClkDiv(.reset(!resetin),
4、.clkin(clkin),.clkout(clk_div));//端口名称关联//(8'h77;8'hB5;8'hD5;8'hE1;8'hC5;8'hB5;8'h77;8'hFF;8'h7F;8'hBF;8'hDF;8'hE1;8'hC7;8'hBF;8'h7F;8'hFF");--"天""人"initialbegindata1[0]<=8'h43;//--"ClockbyEric!"data1[1]<=8'h6C;data1[2]<=8'h6F;data1[3]<=8'h63;data1[4]<=8'h6B;data1[5]<=8'h
5、20;data1[6]<=8'h62;data1[7]<=8'h79;data1[8]<=8'h20;data1[9]<=8'h45;data1[10]<=8'h72;data1[11]<=8'h69;data1[12]<=8'h63;data1[13]<=8'h20;data2[0]<=8'h20;//--"00:00:00"data2[1]<=8'h20;data2[2]<=8'h20;data2[3]<=8'h30;data2[4]<=8'h30;data2[5]<=8'h3A;data2[6]<=8'h30;data2[7]<=8
6、'h30;data2[8]<=8'h3A;data2[9]<=8'h30;data2[10]<=8'h30;data2[11]<=8'h20;data2[12]<=8'h20;data2[13]<=8'h20;count<=0;endalways@(negedgeresetinorposedgeclk_div)beginif(!resetin)beginhou<=0;min<=0;sec=0;end//count<=0;elsebegindata2[3]=hou/10;data2[4]=hou%10;data2[6]=min/10;dat
7、a2[7]=min%10;data2[9]=sec/10;data2[10]=sec%10;count<=count+1;if(count==99999)begincount<=0;sec<=sec+1;if(sec==59)beginsec<=0;min<=min+1;if(min==59)beginmin<=0;hou<=hou+1;if(hou==23)beginhou<=0;endendendendendendalways@(negedgeresetinorposedgeclk_div)if(!resetin)beginlcd_s
8、tate<=clr_Disp;delay_cnt<=1'b0;char_cnt<=1'b0;lcd_e<=1'b0;endelsebegincase(lcd_state)clr_Disp://