基于FPGA控制的LED汉字滚动显示器设计

[09-12 18:34:35]   来源:http://www.88dzw.com  EDA/PLD   阅读:8311

文章摘要:CNT[16…14]&CNT[2..O]作为ROM地址发生器。3.2 ROMZI模块利用LPM参数化模块库中单口ROM,利用QualtusⅡ中的MegaWizard Plug-In Manager定制而成,定制前首先要制作LPM ROM初始化文件,其中存储待显示汉字的字模数据,然后按照LPM MegaWizardPlug-In Manager的向导提示,结合设计要求进行定制。图3为所定制ROM中的初始化汉字“元旦生日开心快乐”的字型码。数据分配模块MUX要求能在8个时钟作用下,从ROM中读出一行(一个汉字的8个字型码)分别送到数据分配器中的WLl~WL8输出端。图4为数据分配模块在扫描时钟作用

基于FPGA控制的LED汉字滚动显示器设计,标签:eda技术,eda技术实用教程,http://www.88dzw.com

  CNT[16…14]&CNT[2..O]作为ROM地址发生器。

  3.2 ROMZI模块

  利用LPM参数化模块库中单口ROM,利用QualtusⅡ中的MegaWizard Plug-In Manager定制而成,定制前首先要制作LPM ROM初始化文件,其中存储待显示汉字的字模数据,然后按照LPM MegaWizardPlug-In Manager的向导提示,结合设计要求进行定制。

  图3为所定制ROM中的初始化汉字“元旦生日开心快乐”的字型码。数据分配模块MUX要求能在8个时钟作用下,从ROM中读出一行(一个汉字的8个字型码)分别送到数据分配器中的WLl~WL8输出端。图4为数据分配模块在扫描时钟作用下读取的字模数据,比较图3和图4可知,仿真结果正确,能满足题目要求。



  3.3 移位模块YW

  移位模块YW是整个设计的核心,行扫描实现左移,是通过每来一个移位时钟,将每一行的字模按位左移一位,扫描时钟到来时送出移位后的新字模。通过8次移位,可将一个汉字移出点阵平面,按类似的道理,也可以将一个汉字经8次移位后移进点阵平面。本例(图2)中,CNT YW为移位时钟的计数值,以WLl~WL8为欲显示汉字的原始字模,L10~L80为移位后从列上送出的8行显示字模信息,LLl~LL8为8个原始字模信息未送出位的暂存信号。设计中需要16个移位时钟,通过前8个时钟将WLl~WL8字模移进LED点阵平面,再经后8个时钟,将汉字又一位一位地移出。    移位设计参考文献中有关移位寄存器的设计,分计数值为“0000"和非"0000"两部分处理,对第一行字模的处理为:


  其他行可按相同方法处理,具体参见如下的程序:


  右移处理方法与上面左移相反,如对第一行可按如下方法处理:


  上移时的部分程序按以下思路编制:L10~L70在CNT_YW为初态“0000”时,各信号均赋值X“00”,非初态时,均进行上移一位。即:L10<=L20;L20<=L30;…;L60<=L70;L70<=L80;对于L80,在汉字移进LED过程中即前8个状态各移进一个新行,在移出LED即后8个状态时,都补进X“00”。程序如下:


  下移程序可按相反思路去编。

  3.4 显示模块DISP设计

  显示模块DISP是以CNT_SM为扫描计数器,是对1kHz进行三位循环计数,由前述的时钟计数产生模块产生,WLl~WL8为待送出显示的8个8位字型码,由前述的移位模块YW提供;SW[7..O]为行扫描输出信号,连接至点阵的8个行;DATA[7..0]为行扫描时对应的列输出字型码,对外连至点阵的8列。该模块参考文献中数码管动态显示程序进行设计如下:

上一页  [1] [2] [3]  下一页


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD
分类导航
最新更新
热门排行