基于FPGA的设计 双色点阵 并行转串行驱动 仿真 实物验证通过

开始讲解双色led灯。

·先打开cords双色led显示字符,打开酷的时候就能看到所有的代码,用的是七四五九五来驱动的。这里可以先综合一下,等会可以看到一个电路图。这里是顶层,通过key可以来选择红色或者绿色,这里是红色的驱动,这个是绿色的驱动,这个是行列的驱动。

·因为它是五九五八位,八加八正好是十六行,十六列就在这里,编译成功了。编译成功之后就能看到rtr,顶层代码的连线关系图就在这里,比较容易理解。

·第一个模块就是分屏模块,通过分屏器可以得到它的函数,函数就是十六行每一行切换的频率。这个是每一个图片切换的频率,假如显示第一个好字,显示第二个好字和第一个好字切换的时间,显示的是好好学习。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·这里是一个行驱动,通过行时钟去切换每一行,这里的行得到的是十六位的数据,用四四笔的画成了十六行,每一行给出一个一。这里就是零到七,就是前八行,这里八到十五就是后面的八行。

·来到这里就可以控制行驱动,为什么这里是用了两三?因为绿色跟红色也是行驱动,它们长驱动一样才会亮,如果不显示就是通过这里来区分的。

·下面这里是行驱动,就是十六行的行驱动,后面这里就是列驱动,列驱动的数据是来自这里,所有的字数据就放在这里面。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·先来看这个比较简单,分屏模块采用的就是计数器的原理,第一个计数器conte一,conte一这里分屏加加加加到最大值就回到你,同时会给出函标之位。

·下面这图像的驱动时钟也是一样的,用ctrl计数器加加加加到最大值,这里就会给出一个标志位一。刚刚给的行标志位就会来到这里,每来一次这里就会加一,每来一次就加加到f,它就会回到零。对应的就有点类似于三八一码七,这里是四十六,用四五二四位二进去数来译出了十六,十六行的每一行依旧代表选中的是哪一行。

·这里可以先跑一下反针,先把这里跑一下,继续讲代码。行驱动得到值之后就会拆分出来,拆分出来就拆到了顶层,把它拆成了前,因为这里七四hc五九五是高八位,低八位,一次只能输八位,再拆成两段,得到驱动之后就放到这里面就行了。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·驱动模块放这里,来看数据,数据就存在这里面,这里存的是第一个好字,就是用w一、w二,一共是三个,学习四个字本质上就三个字,每个字就放在这里面。

·这里图片,始终在进进来,图片始终进来,当它是零就显示第一个字,因为它是滚动显示的,所以先显示一半,就是左边的一半全部是零就是不亮,右边的一半就是好字的一半。

·这里下一个图片始终加一加一之后就把好字就完整显示去,再过一下一个图片切换始终就是显示好字的右半部分,就是子字,剩下的这里就是另外一个好字,那个女字就显示出来了,这里是显示第二个好字,这样就可以把好选项依次类推下去就可以把它显示出来完成。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·当这里到最后一个值的时候,它又回到这里,第一个这里,一就是这里,它又显示了一个好字,这样就构成滚动,滚动的不停的在显示,好好学习。

·这里如果是行驱动,如果是零,那么它显示的就第一行数据,一显示第二行,这里就正好是完整的一个数字,十六行十六列就可以显示出来。

·十六行十六列得到的数据就是这里,它就放到了七四hc595里面,把病情数据就转换成了创新数据。病情数据怎么转换创新数据这个你要去看一下,七hc595的时序,如果你不看这个时序是很难理解。

·这里这个是锁存时装,锁存时装只要一给上升员就可以把移位计算器里面数据放到输出计算器里面。这里是移位计算器,只要每来一个上升员就可以把数据往右移位,先放进来的是低位数据,所以这里在发数据的时候,时钟的一半这里有个计时器,看头就类似于前面的分频器的计时器。

·这个看头一半的时候,这里会给出高电瓶就可以把数据的数据给移位,当它最大值的时候这里有加一就可以改变t的位置,改变t的位置就可以改变数据,这样一次类推执行八次。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·这里为什么是七?因为零也算一个数,零到七就正好是八个,执行八次之后,这个数据就可以锁住了,锁住这里就会给出个高电瓶,就可以将移位计程区的数据发展数据计算器里面锁住,就可以得到我们要的。

·不管是行驱动还是列驱动,反正只要是改变这个数据就可以了,所以这几个模块就调用了八次,你这里可以看出七六次。

·这里来看下反转,反转在这里,各个模块的这边点下这个死度,不然看不到这个数据,这里各个模块反转都有,在这里点开就可以看到,这里每个模块都有,看这个名字想看哪个模块就a的worf,哪个模块加进去就可以。

·这里把它删掉,有一个自己的波形,如果你会不会用这种方法就用第一种方法就可以,这种方法比较简单,这里复位一下,复位,然后再让,因为不然不让就看不到数据,再躲回,然后把拉到最右边,拉到最右边这里就能看到,这里是要显示的数据,给它缩小一点,这个零零幺,零零零幺就是一半好像刚说了好字的,那么完。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·整的一个好字是在这里,完整这个好字是这个是一个好字,本来是1后面跟3个0,但是左边是不显示的,左边不显示所以这里就000,左边就全部是0,后面右边8位就是1010,正好是这个好字的一半,这里就是完整的一个好字。

·这里可以看到完整的一个好字,每一行的数据通过这个行选择就可以输到这个列上,可以看到这里如果是0输出来的,这里行是0输出的就是第一列的1000,当它到第二行的时候输出来就是100fc,第三、二行的时候就是1这条黑暗的1000是这样对应着下来,就可以把一个字给显示出来了。

基于FPGA的设计双色点阵并行转串行驱动仿真实物验证通过

·字显示出来要放到下面这里进行驱动,驱动就刚才说的这里,先这个时钟是在动的,然后在移位时钟的上升也可以把数据锁移位,然后到这个锁存时钟的上升,也就是这里就可以把移位数据给锁到输出计算器里面,这样就可以得到要的一个效果。

·下面这里就是看不一看不二看不三看不四就是行和列的,下面这个就是红绿的最后这个,整个代码和反针就这样了,比较容易理解。

他们点个赞,感谢收听,有问题可以留言与我们联系讨论,且代码不易,点赞收藏支持一下,有其他想法或者建议也可以留言讨论,大家共同进步,感谢您的支持,谢谢。