欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    88 点阵汉字滚动显示文档格式.docx

    • 资源ID:8398073       资源大小:235.34KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    88 点阵汉字滚动显示文档格式.docx

    1、(1)在8*8LED发光二极管点阵上由右至左的方向滚动显示多个汉字 (2)使用FPGA芯片实现硬件设计,并提供后置配置方案(3)建立描述滚动显示多汉字信息原理的数学模型。输出预定义“北华电子”设计原理LED点阵原理以下为88点阵LED外观及引脚图及其等效电路,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式: (1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即可。若使用第二和

    2、第三种方式,则频率必须大于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。88扫描LED点阵的工作原理同8位扫描数码管类似。它有8个共阴极输出端口,每个共阴极对应有8个LED显示灯,所以其扫描译码地址需3位信号线(SEL0-SEL2),其汉字扫描码由16位段地址(0-8)输入。 通过时钟的每列扫描显示完整汉字。设计方案方案一8扫描LED点阵只要其对应的X、Y轴顺向偏压,即可使LED发亮。它有8个共阴极输出端口,每个共阴极对应有8个LED显示灯。本实验就是要通过芯片产生读时序,将字形从寄存器中读出,然

    3、后产生写时序,写入88的点阵,使其扫描显示输出。为了显示整个汉字,首先分布好汉字的排列,以列给出汉字信息(从8个Y轴线输入字模信息);然后以128HZ的时序逐个点亮每一行(行扫描),即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。LED点阵每个点都有一个红色的发光二极管。点阵内的二极管间的连接都是行共阳,列共阴(要点亮的二极管给出低电平字模信息)。本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。本实验采取行扫描方式,用列给文字信息,利用周期为1s的脉冲来控制所显示的字。汉字的存储用动态分时扫描技术使LED点阵模块显示图像,需

    4、要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像分成88共64个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以3216的数据结构组成64个字节的数据,并保存在只读存贮器ROM中。以这种方式将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。汉字显示汉字显示使用的是88的点阵,EDA实验箱上有其接口电路,列选信号为SEL0,SEL1,SEL2经4线8线译

    5、码器输出8列,从左起为第一列,列选信号是由一个3位向量SEL2.0控制;行选信号为H0H7,是由8个行信号组成的,每一行由一个单独的位来控制,高电平有效。例如“0000”表示第0列,“ 00000001”表示第一行的点亮。由于列是由一个向量决定,而每一时刻的值只能有一个固定的值,因而只能使某一列的若干个点亮,因此就决定了只能用逐列扫描的方法。例如要使第一列的2,4,6,8,行亮,则列为“001”、行为“10101010”就可以实现了。下面是各个部分的程序设计列循环扫描通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉。因此要控制扫描的频率,不能太低,否则,就会造成

    6、视觉上的不连续,本设计的扫描频率不得低于50Hz,扫描程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity dz_xs is Port(enable,clk:in std_logic; -端口定义 输入信号 Sel:out std_logic_vector(2 downto 0); -端口定义 输出信号End dz_xs;Architecture count of dz_xs is Signal lie:std_logic_vector(2 downto 0);BeginProc

    7、ess(clk,enable) -脉冲、使能信号beginIf clkevent and clk=1thenIf enable= thenIf lie000 Lie=lie-001;Else=111End if; End if;SelCase lie is -“北”字设计h000001000h8 End if;为使字母不断地循环显示,并且使每个字母之间有停顿,就需要在中间加一定的延时和循环环节。在这一环节中,可以通过修改其数值来控制每个字母的显示时间。其程序如下:process(clk) variable int: integer range 0 to 10000; if clkevent a

    8、nd clk=1then if int10000 then int:=int+1; else int:=0; if next1=”11”then next1=”00”; else= next1+1; end if; end if;end process;方案一总结:可能由于所学知识有限,基于模块化的方案一在仿真时没有成功,检查源程序也没发现问题,不得已采用了方案二。方案二:方案二没有采取模块化思想,而是每一次行扫描都需要整个的汉字信息,所以程序看起来比较冗繁。源程序:(用于汉字信息实在太多,所以这儿省略了中间的汉字信息)library ieee;use ieee.std_logic_arith

    9、.all;entity led_dianzheng is port ( clk_1khz,clk_1hz:red:out std_logic_vector(2 downto 0);-定义列共阳红色输出控制端口red7.0 com:-定义行共阴输出控制端口com7.0 end led_dianzheng;architecture behave of led_dianzheng is signal st1,st2:std_logic_vector(7 downto 0):11111110-定义信号st1,st2 -signal osc:std_logic;-定义信号osc signal osd:-

    10、定义信号osd signal clk:signal data:std_logic_vector(7 downto 0);-定义信号data signal d0,d1,d2,d3,d4,d5,d6,d7:signal cont:std_logic_vector(4 downto 0);SIGNAL Q,cnt8:begin com=data;-把信号data赋值给行共阴输出控制端口com7.0 red=cnt8;-把信号st1赋值给列共阳红色输出控制端口red7.0 -FenPin: process(clk_1khz)if clk_1khzEVENT AND clk_1khz= if Q= th

    11、en Q0); ELSE Q=Q+end if;end process FenPin;clk= Q(0);-osd= clk_1hz;-third:process(osd) begin if (osd= and osdevent) then if cont=11110 then cont00000 else cont=cont + end process third;-P1: process(clk)if (clk) thencase cnt8 iswhen data=d0; data=d2;=d3;=d4;=d5;=d6;=d7;when others = null ;end case ;e

    12、nd if ;end process P1;-P2 :if clkevent and clk = then cnt8 = cnt8+1;end process P2;-process(cont)if cont=d0= -北0d1 -北1d2 -北2d3 -北3d4 -北4d5 -北5d6 -北6d7 -北7。elsif cont=1101100001001 -子0 -子101001001 -子211111001 -子300001101 -子400001011 -子5 -子6 -子7end behave;程序电路图:仿真波形图:方案二总结:由于方案二相比较方案一来说在结构上要简单些,所以在小组成

    13、员的共同努力下,方案二顺利完成,最终成功滚动显示汉字:北华电子。开发环境介绍Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、Veril-ogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟

    14、悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。实习总结:通过这一周的实习,让我在实践中学到了很多东西,也发现了很多问题。让我认识到,有时候光靠书上的知识是远远不够的,很多时候还要考我们自己慢慢的去摸索。在这个过程中让我意识到,善于借助身边的资源的重要性,比如:有这方面知识的同学或者是上网去看看别人的实践过程,从别人的亲身经历获得的经验来帮助自己,这样能让自己少走一些弯路。同时,也要感谢赵玉刚老师给我们提供了这么好的一次实践锻炼的机会,让我们从实践中获得了相关的知识,我相信这对我们以后的发展有很大的帮助。 总的来说,这次设计的88点阵显示控制还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于解决问题,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的所有同学和指导老师再次表示忠心的感谢


    注意事项

    本文(88 点阵汉字滚动显示文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开