基于FPGA的字符显示屏的设计.docx

上传人:b****3 文档编号:3816832 上传时间:2022-11-25 格式:DOCX 页数:15 大小:649.24KB
下载 相关 举报
基于FPGA的字符显示屏的设计.docx_第1页
第1页 / 共15页
基于FPGA的字符显示屏的设计.docx_第2页
第2页 / 共15页
基于FPGA的字符显示屏的设计.docx_第3页
第3页 / 共15页
基于FPGA的字符显示屏的设计.docx_第4页
第4页 / 共15页
基于FPGA的字符显示屏的设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于FPGA的字符显示屏的设计.docx

《基于FPGA的字符显示屏的设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的字符显示屏的设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于FPGA的字符显示屏的设计.docx

基于FPGA的字符显示屏的设计

EDA电子设计自动化

 

基于FPGA的字符显示屏的设计

 

学院:

通信与信息工程学院

专业:

电子与通信工程

姓名:

毛岩琪

学号:

S100131058

一需求分析

1.功能描述:

本设计主要功能是12864的LCD来显示汉字。

参考LCD12864datasheet,由verilog硬件描述语言设计,最后通过LCD显示屏的中文显示,显示字符包括:

第一行:

重庆邮电大学;第二行:

EDA—电子设计实验;第三行:

制作者—毛岩琪;第四行:

制作日期10-12-22。

同时由独立按键rst来对LCD进行刷新。

2.其他要求:

本设计可以直接运行教学实验箱的模式七。

二总体设计

1.设计思路

参考LCD12864资料,由verilog硬描述件语言设计,最后通过LCD显示屏显示。

整个设计模块主要包括对LCD12864的初始化,时钟分频,字符查找显示等。

同时由独立按键rst来对LCD进行刷新。

2.器件选择

CycloneIIILCD12864独立按键

3.开发环境

QuartusIIEDA教学实验箱

三硬件设计

1.系统电路图

该系统电路主要功能:

系统开始工作后,12864自动显示预设中文字符,分行显示,第一行:

重庆邮电大学;第二行:

EDA—电子设计实验;第三行:

制作者—毛岩琪;第四行:

制作日期10-12-22。

2各模块电路图

2.1时钟分频模块

LCD时钟分频信号模块

通过对系统时钟进行分频,得到clk_lcd,驱动LCD12864工作。

2.2显示模块

显示模块

显示模块是系统的核心模块。

系统开始工作后,LCD12864显示预设中文字符。

四软件设计

1.系统框图

2.模块流程图

2.1计数模块框图

通过对系统时钟的分频,来达到驱动液晶和芯片工作的目的。

2.2显示模块框图

经过上面操作后,LCD完成初始化,系统上电后,开始显示预设字符

五测试结果

在EDA实验箱上运行,结果显示如下,达到设计预期目的。

六问题分析

刚开始LCD时钟不显示,后经查找程序发现,对寄存器的赋初始值有问题。

在制作过程中对寄存器的的操作有待提高,对这种复杂的器件初始化操作还有待进一步加强。

经过此次设计,基本学会了基于FPGA对LCD12864的字符显示设计和阅读datasheet的技巧。

七总结:

经过一学期的EDA的学习,基本掌握了电子设计的流程,熟悉了keil,protues,QuartusII等开发工具,基本达到了预期的学习目的。

最后感谢张老师的辛勤指导,感谢樊忠,张灵至等同学热心帮助。

参考文献

[1]夏宇闻.Verilog数字系统设计[M].北京:

北京航空航天大学出版社.2008.

[2]吴厚航.深入浅出玩转FPGA[M].北京:

北京航空航天大学出版社.2010.

[3]FPGA/CPLD组学小组.

[4]EDN博客.http:

//

附程序代码:

modulelcd_dis(clk0,rst,RW,EN,RS,DATA);

inputclk0;

inputrst;

outputRW;

outputEN;

outputregRS;

outputreg[7:

0]DATA;

regclk1;

regCLK_LCD;

reg[23:

0]cnt1;

reg[15:

0]cnt2;

//***时钟分频***//

always@(posedgeclk0ornegedgerst)

begin

if(!

rst)

begin

cnt1<=24'b0;

CLK_LCD<=0;

end

elseif(cnt1==199999)

begin

cnt1<=0;

CLK_LCD<=~CLK_LCD;

end

else

cnt1<=cnt1+1'b1;

end

always@(posedgeCLK_LCDornegedgerst)

begin

if(!

rst)//rst按键按下为低电平

begin

cnt2<=16'b0;

clk1<=0;

end

elseif(cnt2==49)

begin

cnt2<=0;

clk1<=~clk1;

end

else

cnt2<=cnt2+1'b1;

end

//***12864初始化***//

reg[8:

0]state;

regflag;

reg[6:

0]char_cnt;

reg[7:

0]data_disp;

parameterIDLE=9'b00000000,

CLEAR=9'b00000001,

SETFUNCTION=9'b00000010,点阵字符

SWITCHMODE=9'b00000100,闭

SETMODE=9'b00001000,

SHIFT=9'b00010000,

SETDDRAM=9'b00100000,

WRITERAM=9'b01000000,

STOP=9'b10000000;

assignRW=1'b0;

assignEN=(flag==1)?

CLK_LCD:

1'b0;

always@(posedgeCLK_LCDornegedgerst)

begin

if(!

rst)

RS<=1'b0;

elseif(state==WRITERAM)

RS<=1'b1;

else

RS<=1'b0;

end

always@(posedgeCLK_LCDornegedgerst)

begin

if(!

rst)

begin

state<=IDLE;

DATA<=8'bzzzzzzzz;

char_cnt<=5'b0;

flag<=1'b1;

end

else

begin

case(state)

IDLE:

begin

flag<=1'b1;

state<=CLEAR;

DATA<=8'bzzzzzzzz;

end

CLEAR:

begin

state<=SETFUNCTION;

DATA<=8'b00000001;

end

SETFUNCTION:

begin

state<=SWITCHMODE;

DATA<=8'b00110000;

end

SWITCHMODE:

begin

state<=SETMODE;

DATA<=8'b00001100;

end

SETMODE:

begin

state<=SETDDRAM;

DATA<=8'b00000110;

end

SETDDRAM:

begin

state<=WRITERAM;

if(char_cnt==0)

begin

DATA<=8'b1000_0000;//Line1(80h)

end

elseif(char_cnt==16)

begin

DATA<=8'b1001_0000;//Line2(90h)

end

elseif(char_cnt==32)

begin

DATA<=8'b1000_1000;//Line3(88h)

end

elseif(char_cnt==48)

begin

DATA<=8'b1001_1000;//Line4(98h)

end

end

WRITERAM:

begin

if(char_cnt<=15)

begin

char_cnt<=char_cnt+1'b1;

DATA<=data_disp;

if(char_cnt==15)

state<=SETDDRAM;

else

state<=WRITERAM;

end

elseif(char_cnt>=16&&char_cnt<=31)

begin

char_cnt<=char_cnt+1'b1;

DATA<=data_disp;

if(char_cnt==31)

state<=SETDDRAM;

else

state<=WRITERAM;

end

elseif(char_cnt>=32&&char_cnt<=47)

begin

char_cnt<=char_cnt+1'b1;

DATA<=data_disp;

if(char_cnt==47)

state<=SETDDRAM;

else

state<=WRITERAM;

end

elseif(char_cnt>=48&&char_cnt<=64)

begin

DATA<=data_disp;

if(char_cnt==64)

begin

state<=STOP;

char_cnt<=5'b0;

flag<=1'b0;

end

else

begin

state<=WRITERAM;

char_cnt<=char_cnt+1'b1;end

end

end

STOP:

begin

flag<=1'b1;

state<=SETDDRAM;

end

default:

state<=IDLE;

endcase

end

end

//***字符显示***//

always@(char_cnt)

begin

case(char_cnt)

//重庆邮电大学

7'd0:

data_disp=8'ha2;

7'd1:

data_disp=8'ha0;

7'd2:

data_disp=8'hd6;

7'd3:

data_disp=8'hd8;

7'd4:

data_disp=8'hC7;

7'd5:

data_disp=8'hec;

7'd6:

data_disp=8'hd3;

7'd7:

data_disp=8'hca;

7'd8:

data_disp=8'hb5;

7'd9:

data_disp=8'he7;

7'd10:

data_disp=8'hb4;

7'd11:

data_disp=8'hf3;

7'd12:

data_disp=8'hd1;

7'd13:

data_disp=8'ha7;

7'd14:

data_disp=8'ha2;

7'd15:

data_disp=8'ha0;

//EDA—电子设计实验

7'd16:

data_disp="E";

7'd17:

data_disp="D";

7'd18:

data_disp="A";

7'd19:

data_disp="-";

7'd20:

data_disp=8'hb5;

7'd21:

data_disp=8'he7;

7'd22:

data_disp=8'hd7;

7'd23:

data_disp=8'hd3;

7'd24:

data_disp=8'hc9;

7'd25:

data_disp=8'he8;

7'd26:

data_disp=8'hBC;

7'd27:

data_disp=8'hC6;

7'd28:

data_disp=8'hCA;

7'd29:

data_disp=8'hB5;

7'd30:

data_disp=8'hD1;

7'd31:

data_disp=8'hE9;

//制作者—毛岩琪

7'd32:

data_disp=8'ha2;

7'd33:

data_disp=8'ha0;

7'd34:

data_disp=8'hd6;

7'd35:

data_disp=8'hc6;

7'd36:

data_disp=8'hd7;

7'd37:

data_disp=8'hF7;

7'd38:

data_disp=8'hd5;

7'd39:

data_disp=8'hdf;

7'd40:

data_disp="-";

7'd41:

data_disp="-";

7'd42:

data_disp=8'hc3;

7'd43:

data_disp=8'hab;

7'd44:

data_disp=8'hd1;

7'd45:

data_disp=8'hd2;

7'd46:

data_disp=8'he7;

7'd47:

data_disp=8'hf7;

//制作时间

7'd48:

data_disp=8'hd6;

7'd49:

data_disp=8'hc6;

7'd50:

data_disp=8'hd7;

7'd51:

data_disp=8'hF7;

7'd52:

data_disp=8'hc8;

7'd53:

data_disp=8'hd5;

7'd54:

data_disp=8'hc6;

7'd55:

data_disp=8'hda;

7'd56:

data_disp="1";

7'd57:

data_disp="0";

7'd58:

data_disp="-";

7'd59:

data_disp="1";

7'd60:

data_disp="2";

7'd61:

data_disp="-";

7'd62:

data_disp="2";

7'd63:

data_disp="2";

default:

data_disp=8'ha9;

endcase

end

endmodule

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

当前位置:首页 > 工程科技 > 能源化工

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

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