基于fpga的LCD显示万年历.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于fpga的LCD显示万年历

接着我的上一篇博文,终于完善好了,前几天太忙了,没有及时上传,呵呵,今 天晚上刚比较早刚好凌晨,及时上传一下,实现了从 年的时钟,其 实万年历和十万年历,都是差不多,等到地球能转到 9999 年再改代码也不迟, 哈哈!! 我这里有顶层和底层文件, 顶层主要是调用模块和做按键处理, 具体按键防抖动 原理,参见偶的以前的博文,我写完这个万年历的代码,还没来得及优化,占用 了太多了逻辑门,可以进一步优化。 大致思路是:第一次按下 KEY1 的时候,所有计时停止,再按 KEY1 ,年就闪 烁,按下 KEY2 和 KEY3 进行加减。再按 KEY1 ,月就闪烁,按下 KEY2 和 KEY3 进行加减 依次为调 年-月- 日-星期- 时分秒, 再次按一下 KEY1 ,进入正常 运行模式。 好了先上顶层模块 module LCD ( rst, clk, rw, rs, en, data, key1,key2,key3 ); input clk,rst; input key1,key2,key3; output rs,en,rw; output [7:0] data; reg key1_out,key2_out,key3_out; wire clk,rst; wire rs,en,rw; wire [7:0] data; disp U1 ( .clk(clk), .rst(rst), .rs(rs), .en(en), .rw(rw), .data(data), .key1(key1_out), .key2(key2_out), .key3(key3_out) ); //=============key1 ,key2,key3 按键防抖动 ================// reg key1_reg1,key1_reg2; reg key2_reg1,key2_reg2; reg key3_reg1,key3_reg2; reg [31:0] count; always @(posedge clk) begin count=count+1; if(count==500000) begin count=0; key1_reg1=key1; key2_reg1=key2; key3_reg1=key3; end key1_reg2=key1_reg1; key2_reg2=key2_reg1; key3_reg2=key3_reg1; key1_out = key1_reg2 (!key1_reg1); key2_out = key2_reg2 (!key2_reg1); key3_out = key3_reg2 (!key3_reg1); end endmodule 底层模块: module disp ( rst, clk, rw, rs, en, data, key1,key2,key3 ); input clk,rst; input key1,key2,key3; output rs,en,rw; output [7:0] data; reg rs,en_sel; reg [7:0] data; reg [14:0] year; reg [7:0] shi,fen,miao,month,dat; reg [31:0]count,count1; //LCD CLK 分频计数器 reg lcd_clk; //2 行 32 个数据寄存器 reg [7:0] one_1,one_2,one_3,one_4,one_5,one_6,one_7,one_8,one_9,one_10,one_11,on

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档