基于FPGA的液晶数字钟程序Word下载.docx

上传人:b****1 文档编号:13080588 上传时间:2022-10-04 格式:DOCX 页数:11 大小:15.58KB
下载 相关 举报
基于FPGA的液晶数字钟程序Word下载.docx_第1页
第1页 / 共11页
基于FPGA的液晶数字钟程序Word下载.docx_第2页
第2页 / 共11页
基于FPGA的液晶数字钟程序Word下载.docx_第3页
第3页 / 共11页
基于FPGA的液晶数字钟程序Word下载.docx_第4页
第4页 / 共11页
基于FPGA的液晶数字钟程序Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于FPGA的液晶数字钟程序Word下载.docx

《基于FPGA的液晶数字钟程序Word下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的液晶数字钟程序Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

基于FPGA的液晶数字钟程序Word下载.docx

0]LCD1602_DATA,//LCD1602数据总线

outputLCD1602_E,//LCD1602使能

outputLCD1602_RS,//LCD1602指令数据选择

outputLCD1602_RW,//LCD1602读写选择

inputsw1,sw2,sw3,sw4,

outputled

);

//0~(8*16-1)=128

//16bits->

0123456789ABCDEF<

-

wire[127:

0]row1_val="

theFPGAclock"

;

//wire[127:

0]row2_val="

Amy-studioPub"

wire[3:

0]second_L,second_H;

0]miniute_L,miniute_H;

0]hour_L,hour_H;

0]sw_code;

////////////////////例化LCD1602驱动//////////////////////

lcd1602_driveu0(

.clk(clk),

.rst(rst),

//LCD1602InputValue

.row1_val(row1_val),

//.row2_val(row2_val),

.second_L(second_L),

.second_H(second_H),

.miniute_L(miniute_L),

.miniute_H(miniute_H),

.hour_L(hour_L),

.hour_H(hour_H),

.lcd_data(LCD1602_DATA),

.lcd_e(LCD1602_E),

.lcd_rs(LCD1602_RS),

.lcd_rw(LCD1602_RW)

////////////////////时钟例化//////////////////////

watchwatch(

.clk(clk),

.sw_code(sw_code),

.led(led)

///////////////按键例化/////////////////////////

keykey(

.sw1(sw1),

.sw2(sw2),

.sw3(sw3),

.sw4(sw4),

.sw_code(sw_code)

endmodule

//////////////////lcd1602驱动模块////////////////////////

modulelcd1602_drive(

inputclk,//50MHz时钟

inputrst,//复位信号

input[127:

0]row1_val,//第一行字符

//input[127:

0]row2_val,//第二行字符

input[3:

0]second_L,

0]second_H,

0]miniute_L,

0]miniute_H,

0]hour_L,

0]hour_H,

outputreg[7:

0]lcd_data,//数据总线

outputlcd_e,//使能信号

outputreglcd_rs,//指令、数据选择

outputlcd_rw//读、写选择

//+++++++++++++++++++++++++++++++++++++

//分频模块开始

reg[15:

0]cnt;

//计数子

reg[7:

0]date[9:

0];

initial

begin

date[0]="

0"

date[1]="

1"

date[2]="

2"

date[3]="

3"

date[4]="

4"

date[5]="

5"

date[6]="

6"

date[7]="

7"

date[8]="

8"

date[9]="

9"

end

always@(posedgeclk,negedgerst)

if(!

rst)

cnt<

=0;

else

=cnt+1'

b1;

//500Khz~1MHz皆可

wirelcd_clk=cnt[15];

//(2^16/50M)=1.31ms

//-------------------------------------

//分频模块结束

//LCD1602驱动模块开始

//格雷码编码共40个状态

parameterIDLE=8'

h00;

//写指令初始化

parameterDISP_SET=8'

h01;

//显示模式设置

parameterDISP_OFF=8'

h03;

//显示关闭

parameterCLR_SCR=8'

h02;

//显示清屏

parameterCURSOR_SET1=8'

h06;

//显示光标移动设置

parameterCURSOR_SET2=8'

h07;

//显示开及光标设置

//显示第一行

parameterROW1_ADDR=8'

h05;

//写第1行起始地址

parameterROW1_0=8'

h04;

parameterROW1_1=8'

h0C;

parameterROW1_2=8'

h0D;

parameterROW1_3=8'

h0F;

parameterROW1_4=8'

h0E;

parameterROW1_5=8'

h0A;

parameterROW1_6=8'

h0B;

parameterROW1_7=8'

h09;

parameterROW1_8=8'

h08;

parameterROW1_9=8'

h18;

parameterROW1_A=8'

h19;

parameterROW1_B=8'

h1B;

parameterROW1_C=8'

h1A;

parameterROW1_D=8'

h1E;

parameterROW1_E=8'

h1F;

parameterROW1_F=8'

h1D;

//显示第二行

parameterROW2_ADDR=8'

h1C;

//写第2行起始地址

parameterROW2_0=8'

h14;

parameterROW2_1=8'

h15;

parameterROW2_2=8'

h17;

parameterROW2_3=8'

h16;

parameterROW2_4=8'

h12;

parameterROW2_5=8'

h13;

parameterROW2_6=8'

h11;

parameterROW2_7=8'

h10;

parameterROW2_8=8'

h30;

parameterROW2_9=8'

h31;

parameterROW2_A=8'

h33;

parameterROW2_B=8'

h32;

parameterROW2_C=8'

h36;

parameterROW2_D=8'

h37;

parameterROW2_E=8'

h35;

parameterROW2_F=8'

h34;

reg[5:

0]current_state,next_state;

//现态、次态

//FSM:

always1

always@(posedgelcd_clk,negedgerst)

if(!

rst)current_state<

=IDLE;

elsecurrent_state<

=next_state;

always2

always

case(current_state)

IDLE:

next_state=DISP_SET;

DISP_SET:

next_state=DISP_OFF;

DISP_OFF:

next_state=CLR_SCR;

CLR_SCR:

next_state=CURSOR_SET1;

CURSOR_SET1:

next_state=CURSOR_SET2;

CURSOR_SET2:

next_state=ROW1_ADDR;

ROW1_ADDR:

next_state=ROW1_0;

ROW1_0:

next_state=ROW1_1;

ROW1_1:

next_state=ROW1_2;

ROW1_2:

next_state=ROW1_3;

ROW1_3:

next_state=ROW1_4;

ROW1_4:

next_state=ROW1_5;

ROW1_5:

next_state=ROW1_6;

ROW1_6:

next_state=ROW1_7;

ROW1_7:

next_sta

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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