EDA实现LED名字显示.docVIP

  • 21
  • 0
  • 约5.23千字
  • 约 7页
  • 2017-01-30 发布于重庆
  • 举报
EDA实现LED名字显示

一、实验目的 学会利用 EDA技术实现全硬件方式的LED点阵显示; 学会利用EDA工具软件MuxplusⅡ编写VHDL程序。 二、实验原理 1、LED的显示原理 16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线(SEL0-SEL3),其汉字扫描码由16位段地址(0-15)输入。 通过时钟的每列扫描显示完整汉字。 列循环扫描:通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉。因此要控制扫描的频率,不能太低,否则,就会造成视觉上的不连续,本设计的扫描频率不得低于50Hz,扫描。 2、汉字的存储 用动态分时扫描技术使LED点阵模块显示图像,,,,16×16共256个小方格的矩形框中,, 3、 汉字显示 本设计所使用的16×16的点阵, EDA实验箱上有其接口电路,列选信号为SEL0,SEL1,SEL2,SEL3,经4线16线译码器输出16列,从左起为第一列,列选信号是由一个4位向量SEL[3..0]控制;行选信号为H0~H15,是由16个行信号组成的,每一行由一个单独的位来控制,高电平有效。例如“0000”表示第0列,“0000000000000001”表示第一行的点亮。由于列是由一个向量决定,而每一时刻的值只能有一个固定的值,因而只能使某一列的若干个点亮,因此就决定了只能用逐列扫描的方法。 三、实验内容 (1)设计一个16×16的LED点阵显示器; (2)输出 “晶”、“晶”三个汉字,在EDA试验箱上进行仿真调试。 四、实验程序及分析 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ljj is port(enable,clk:in std_logic; sel:out std_logic_vector(3 downto 0); r : out std_logic_vector(15 downto 0)); end ljj; architecture count of ljj is signal lie : std_logic_vector(3 downto 0); signal next1 :std_logic_vector (1 downto 0); begin a1: process(clk,enable) begin if clkevent and clk=1 then if enable=1 then if lie1111 then lie =lie+0001; else lie =0000; end if; end if; end if; sel=lie; end process; a2 : process(enable, clk) begin if clkevent and clk=1 then if enable=1 then case next1 is when 00= case lie is When 0000=r=0000000000000000; When 0001=r=0000000000000000; When 0010=r=1111111111111110; When 0011=r=0000000000000001; When 0100=r=0000000000000010; When 0101=r=0011111111110000; When 0110=r=0000000000000000; When 0111=r=0001000000000000; When 1000=r=0011000000000110; When 1001=r=0001111000001100; When 1010=r=0001000110010000; When 1011=r=0001000001100000; When 1100=r=0111000110010000; When 1101=r=1101001000001000; When 1110=r=0001010000000100; When 1111=r

文档评论(0)

1亿VIP精品文档

相关文档