FPGA电子钟LEDLCD显示分析和总结.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目的和意义 数字电子钟是数字电路中的一个经典学习内容。我们选用电子钟作为最后结课项目的目的,是为了学习 verilog 语言、FPGA 的基本知识、由顶层至底层的设计思路。使我们对 EDA 知识有了个基本的了解,也掌握了基础的知识,同时锻炼了我们团队合作的精神,特别是在接口的确定上,我们学到了更多。 原理 电子钟的计数和调节功能 数字电子钟的核心内容是三个计数器,即秒钟计数器、分钟计数器和时钟计数器。秒钟计数器的时钟为 1 秒的时钟,当秒钟计数器计满 60,则输出一个计满信号。秒钟的计满信号作为分钟计数器的时钟,同样,分钟计数器计满 60 后, 则输出一个分钟计满信号,这个信号作为时钟计数器的时钟。同时,三个计数器里面的计数值,会实时的经过译码等操作,显示在 7 段 LED 数码管和 LCD 上。原理图如图 2.1. Sec_clk min_clk hour_clk 秒钟 分钟 时钟 计数 计数 计数 器 器 器 LED,LCD显示图 2.1 LED,LCD显示 当然,作为一个电子钟,必须具备调节时间的功能。我们使用四个按键作为时间调节按钮,分别对应秒钟调节、分钟调节、时钟调节和确定按钮。其原理图如 2.2. S1 S2 S3 Osc_clk S4 M Sec_clk U min_clk X hour_clk 图 2.2 电子钟计数器调节原理 当电子钟不需要调节时,电子钟计数器的时钟信号是和晶振(PLL 和分频器) 相连的,即,此时,电子钟会自动计数。 若 S4 键按下,进入调节状态,那么电子钟的三个计数器的时钟信号,会连 链接到按键 S1、S2、S3 上,这样,只要按一次S1(S2 或者 S3),计数器中的计数值就会增加一个。即实现了按键调节时钟的功能。若调节完毕,再按 S4 键, 计数器的时钟信号又连接到晶振(PLL 和分频器)上去,再次进入自动计时状态。 计数器的显示 LED 数码管的显示 LED 数码管的示意图如下图 2.3(DE-2 中的数码管多一个小数点): 图 2.3 七段数码管的示意图 只要点亮相应的码段,即可显示相应的数字。所以, LED 数码管的显示要通过一个简单的译码器,译码表如下: LCD 显示 表 1 LED 数码管的译码表 DE-2 板载的液晶为 16x2 液晶。液晶的原理此处不作说明,只需往相应的端口写相应的逻辑和数据即可。一般来说,液晶的驱动,都是先写液晶的设置,再写地址,再写显示的数据。 CFAH1602BTMCJP 型液晶的指令表如表 2. 表 2 CFAH1602BTMCJP 型液晶的中文指令表 驱动液晶的过程中,注意液晶各条指令的执行时间,否则有可能出现液晶设置或者显示失败。 各部分功能实现和仿真波形 计数器的实现 三个计数器即使用最简单的 if-else 结构。 always @ (posedge inclk) begin if (rst==1) begin outcnt = 0; outtri = 0; end else if (outcnt == 59) //计满 59 即输出溢出信号,并归零begin outcnt = 0; outtri = 0; else end end begin end  outcnt = outcnt + 1; outtri = 1 ; outcnt_h = outcnt / 10; // 将计数值的十位数取出 outcnt_l = outcnt % 10; // 将计数值的个位数取出 仿真波形: 图 3.1 计数器 60 的仿真波形 从波形里可以看出,当outcnt 计数至59 时,outtri 的时钟即变化一次。outcnt_h、 outcnt_l 分别为计数值 outcnt 的高位和低位。 LCD 显示的实现 LCD 的操作,包括两个部分,一是 LCD 驱动时钟的产生(500Hz),一是 LCD 的设置和数据的显示。如图 3.2。 图 3.2 LCD 模块的时钟和驱动部分 第一部分 500Hz 的产生,主要实现方式和一个计数器相似,此处无需不作详叙。第二部分采用状态机来对 LCD 进行驱动。状态机如图 3.3 所示。 图 3.3 LCD 驱动状态机的示意图 状态功能的说明: clear_lcd: clear display set_disp_mode: function set: 8bit,1-line,5*8dot disp_on: display on ,cursor closed,no blink shift_down: Assign cursor moving direction and enable the shift of entire display. write_addr: write address write_data

文档评论(0)

mph + 关注
官方认证
内容提供者

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

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档