【Easy CPLD570】Verilog实现8x8LED矩阵灯显示.pdf

【Easy CPLD570】Verilog实现8x8LED矩阵灯显示.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【Easy CPLD570】Verilog实现8x8LED矩阵灯显示

Verilog实现8x8LED矩阵灯显示 1 原理图 8x8的矩阵LED ,行H1-H8为共阳,采用三极管增加驱动,但此实验板采用5V供电,因 此无论行控制信号输出高电平或是低电平,都会导致LED有供电,只是供电强弱不一样,但 都可能点亮LED,所以实现时需要将不供电时输出高阻z ,同理对数据信号V1-V8 。 此矩阵显示原理也是分时显示每一列数据,轮流显示速率较快,让人眼无法反映识别出 来,避免闪烁。 2 CPLD 代码 module LED_array ( clk_24m, reset_n, Hline, //行位选信号线。 Vline //列数据信号线。 ); input wire clk_24m; input wire reset_n; 第1 页, 共5 页 output wire [7:0] Hline; output wire [7:0] Vline; /****************************************************************************** 24M 时钟分频,用于内部控制及计数等。 ******************************************************************************/ reg [14:0] count_div1; wire condition_732; //732 Hz 时钟信号。 always @ (posedge clk_24m or negedge reset_n) begin if(reset_n == 1b0) count_div1 = 15h0000; else count_div1 = count_div1 + 15h0001; end /****************************************************************************** condition_732: 732Hz时钟信号,高电平持续一个24MHz 时钟周期,其余时间为低电平。 ******************************************************************************/ assign condition_732 = count_div1[14:0]; //24MHz/2^15=732Hz 。 /****************************************************************************** 对行输出IO轮流赋值,相当于分时显示每一列数据,轮转速度要快,才能让显示不闪烁。 ******************************************************************************/ reg [7:0] Hshift; always @ (posedge clk_24m or negedge reset_n) begin if(reset_n == 1b0) Hshift = 8h01; //初值为1,时刻都只有一个bit为高。 else if (condition_732 == 1b1) //采用732Hz时钟, 对IO赋值进行轮转。 Hshift = { Hshift[6:0],Hshift[7] }; //通过移位实现输出IO轮流赋值。 else; end /****************************************************************************** 行控制信号寄存器值赋值给行输出信号线,不点灯时赋值高阻。 ******************************************************************************/ assign Hline[0] = Hshift[0] == 1b1 ? 1b0 :1bz; assign Hline[1] = Hshift[1] == 1b1 ? 1b0 :1bz; as

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档