基于FPGA的广告显示屏的设计Word文件下载.doc
- 文档编号:14565799
- 上传时间:2022-10-23
- 格式:DOC
- 页数:14
- 大小:515.50KB
基于FPGA的广告显示屏的设计Word文件下载.doc
《基于FPGA的广告显示屏的设计Word文件下载.doc》由会员分享,可在线阅读,更多相关《基于FPGA的广告显示屏的设计Word文件下载.doc(14页珍藏版)》请在冰豆网上搜索。
2.器件选择
CycloneIIILCD12864独立按键
3.开发环境
QuartusIIEDA教学实验箱
三硬件设计
1. 系统电路图
该系统电路主要功能:
系统开始工作后,12864自动显示预设中文字符,在液晶的最后一行显示时间,可以通过独立按键对月,日,时,分,秒进行调整。
2各模块电路图
2.1时钟分频模块
LCD时钟分频信号模块时间显示计数分频信号模块
通过对系统时钟进行分频,得到clk_lcd和clk1,分别驱动12864和计时时钟信号。
2.2计时显示模块
计时显示模块
计时显示模块是系统的核心模块。
系统开始工作后,LCD显示预设中文字符,在液晶的最后一行显示时间,可以通过按键对月,日,时,分,秒进行调整。
四软件设计
1.信号流程图
2.模块信号流程图
2.1计数信号流程图
通过对系统时钟的分频,来达到驱动液晶和芯片工作的目的。
2.2计时调时信号流程图
通过实时查询来判断月,日,时,分,秒。
按键可以随时调整显示的时间。
五测试结果
在EDA实验箱上运行,结果显示如下,达到设计预期目的。
六问题分析
对功能寄存器的正确操作是操作LCD12864的重要工作组成部分。
最初上电实验时,液晶无任何显示的主要原因就是没有正确操作寄存器。
七总结
经过一学期的紧张学习,我们基本掌握了电子设计的设计流程,熟练使用keil软件,protues软件,QuartusII软件,能通过实践来实现一些小题目,达到了预期的学习目标。
借此机会向一直兢兢业业工作的张老师表示感谢,向一直共同进取,相互学习的同学表示感谢。
在今后的日子里,我们会更加努力学习,积极进取,努力在硬件设计方面做出些成绩。
参考文献
[1]夏宇闻.Verilog数字系统设计[M].北京:
北京航空航天大学出版社.2008.
[2]吴厚航.深入浅出玩转FPGA[M].北京:
北京航空航天大学出版社.2010.
[3]FPGA/CPLD组学小组.
[4]EDN博客.http:
//
附程序代码:
时钟分频程序模块
moduledivclk_clk1(CLK_LCD,rst,clk1);
inputCLK_LCD,rst;
outputclk1;
regclk1;
reg[15:
0]cnt2;
always@(posedgeCLK_LCDornegedgerst)
begin
if(!
rst)//rst按键按下为低电平
begin
cnt2<
=16'
b0;
clk1<
=0;
end
elseif(cnt2==49)
=~clk1;
else
cnt2<
=cnt2+1'
b1;
end
endmodule
moduledivclk_lcd(clk0,rst,clk_lcd);
inputclk0,rst;
outputclk_lcd;
regCLK_LCD;
//LCD时钟信号
reg[23:
0]cnt1;
always@(posedgeclk0ornegedgerst)
begin
if(!
rst)
begin
cnt1<
=24'
CLK_LCD<
end
elseif(cnt1==199999)
=~CLK_LCD;
else
cnt1<
=cnt1+1'
endmodule
计时调时模块
modulelcd_time_key(clk0,clk1,rst,key4,key3,
key2,key1,key0,month,day,hour,min,sec);
inputclk0,clk1,rst,key4,key3,key2,key1,key0;
outputmonth[7:
4],month[3:
0],day[7:
4],
day[3:
0],hour[7:
4],hour[3:
0],
min[7:
4],min[3:
0],sec[7:
4],sec[3:
0];
reg[7:
0]hour,min,sec;
reg[7:
0]month,day;
wireseccar,mincar;
always@(posedgetemp_sec)
if(sec==8'
h59)
begin
sec<
end
elseif(sec[3:
0]==9)
sec[3:
0]<
sec[7:
4]<
=sec[7:
4]+1;
else
sec[3:
=sec[3:
0]+1;
end
assignseccar=(sec==8'
h59)?
1:
0;
always@(negedgetemp_min)
if(min==8'
min<
elseif(min[3:
min[3:
min[7:
=min[7:
min[3:
=min[3:
assignmincar=(min==8'
always@(negedgetemp_hour)
if(hour==8'
h23)
hour<
elseif(hour[3:
hour[3:
hour[7:
=hour[7:
elsehour[3:
=hour[3:
always@(negedgetemp_month)
if(month==8'
h12)
month<
elseif(month[3:
month[3:
month[7:
=month[7:
elsemonth[3:
=month[3:
always@(negedgetemp_day)
if(day==8'
h31)
day<
elseif(day[3:
day[3:
day[7:
=day[7:
elseday[3:
=day[3:
reg[4:
0]key_rst;
always@(posedgeclk0ornegedgerst)
if(!
rst)key_rst<
=5'
b11111;
elsekey_rst<
={key4,key3,key2,key1,key0};
0]key_rst_r;
always@(posedgeclk0ornegedgerst)
if(!
rst)key_rst_r<
elsekey_rst_r<
=key_rst;
wire[4:
0]key_an=key_rst_r&
(~key_rst);
reg[19:
0]cnt;
always@(posedgeclk0ornegedgerst)
rst)cnt<
=20'
d0;
elseif(key_an)cnt<
=20'
elsecnt<
=cnt+1'
0]low_sw;
always@(posedgeclk0ornegedgerst)
rst)low_sw<
elseif(cnt==20'
hfffff)
low_sw<
reg[4:
0]low_sw_r;
if(!
rst)low_sw_r<
elselow_sw_r<
=low_sw;
0]sw_ctrl=
low_sw_r[4:
0]&
(~low_sw[4:
0]);
wiretemp_sec,temp_min,
temp_hour,temp_month,tri_day;
assigntemp_se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 广告 显示屏 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)