基于FPGA的点阵显示器课程设计报告_第1页
基于FPGA的点阵显示器课程设计报告_第2页
基于FPGA的点阵显示器课程设计报告_第3页
基于FPGA的点阵显示器课程设计报告_第4页
基于FPGA的点阵显示器课程设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路课程设计报告 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 数字电路课程设计报告基于FPGA的8*8点阵显示器 学院名称: 电 信 学 院 专 业: 电气工程及其自动化专业 班 级: 08电气2 姓 名: 韩 韬 同组姓名: 董 立 峰 学 号: 指导教师姓名: 宋伟 黄成 2010 年 12 月 一 课题要求(1)技术要求掌握较复杂逻辑的设计,调试。掌握用VHDL语言设计数字逻辑电路。掌握quartusII6.0软件的使用方法。了解8*8列共阴点阵显示器的工作原理和功能。掌握常用驱动电路的原理及使用方法。掌握EP2C5T144C8芯片的使用。(2)功能要求本设计为基于FPGA的8*8点阵显示器,运用VHDL语言编写软件,并通过硬件来实现显示汉字,及滚动,屏显等功能。主要功能:静态显示一个完整的汉字能一屏一屏动态显示多个汉字能滚动动态显示多个汉字能通过开关控制点阵显示方式(3)本人工作在此次课程设计中我主要负责软件的编写与仿真。以及软件的下载。二 设计方案1 原理图要实现8*8点阵显示器显示动态汉字的功能,主要实现两方面的设计:硬件部分和软件部分。2 硬件部分硬件部分主要包括:驱动电路,点阵显示器,端口降压电路。本次使用的点阵显示器为列共阴型点阵显示器。及当行为高电平,列为低电平是对应的发光二极管反光。硬件部分的主要功能是将软件中输出的行列信号在点阵中显示出来。3 软件部分软件部分通过调用汉字库的方式来实现汉字的显示。通过逐列扫描的方法来实现完整的汉字显示。编辑输入:首先根据课程设计与硬件要求在quartus中编写软件。功能仿真与时仿真:利用EDA工具软件对EDA设计进行模拟,验证设计和排除错误。锁定端口:结合硬件要求锁定各个端口。编程下载:把生成的编程文件通过编程器载入目标器件,以便进行硬件验证和调试,进而完成设计。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all; 库说明部分entity dian isport(clk,k,k1:in std_logic; 定义时钟信号,滚动开关k和屏显开关k1 com:out std_logic_vector(7 downto 0); 行共阳输出控制端口 lie:out std_logic_vector(7 downto 0); 列共阴输出控制端口end dian;architecture one of dian issignal st:std_logic_vector(7 downto 0);signal osc:std_logic; 列扫描控制信号signal osd:std_logic; 字库地址控制信号signal dff:std_logic_vector(24 downto 0);signal data:std_logic_vector(7 downto 0);signal d0,d1,d2,d3,d4,d5,d6,d7:std_logic_vector(7 downto 0);signal lie0:std_logic_vector(7 downto 0);begincom=data;lie=st;d0=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库0d1=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库1d2=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库2d3=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库3d4=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库4d5=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库5d6=when lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=elsewhen lie0=else; 字库6d7=2e7 thendff=000;elsedff=dff+1; dff进行加1循环osc=not dff(8); 时钟信号osc为以信号dff第8位变化频率变化 osd=not dff(24); 时钟信号osd为以信号dff第24位变化频率变化end if;end process first;second:process(osc)beginif oscevent and osc=1 thenif st(7 downto 0)= or st(7 downto 0)=thenst(7 downto 0)=;data=d0;elsif st(7 downto 0)=thenst(7 downto 0)=;data=d1;elsif st(7 downto 0)=thenst(7 downto 0)=;data=d2;elsif st(7 downto 0)=thenst(7 downto 0)=;data=d3;elsif st(7 downto 0)=thenst(7 downto 0)=;data=d4;elsif st(7 downto 0)=thenst(7 downto 0)=;data=d5;elsif st(7 downto 0)=thenst(7 downto 0)=;data=d6;elsif st(7 downto 0)=thenst(7 downto 0)=;dataif lie0(7 downto 0)= thenlie0(7 downto 0)=;else lie0if lie0= thenlie0=;else lie0=lie0-1;end if; k为0是向右滚动end case;elsif k1=0 then k1为低电平时为屏显 if lie0= or lie0=then lie0=; else lie0=lie0+1; end if;end if;end if;end process third;end one;三 单元模块设计,仿真结果分析1 程序包的说明软件中一共调用了1164,unsigned和arith三个程序包。因此要先进行库的说明。2 实体根据硬件与设计的要求定义程序的输入输出。定义了k,k1两个开关,clk为脉冲信号,com为行控制信号。Lie为列控制信号。3 汉字库的编写根据设计中要求显示的汉字,编写逐列扫描时各行的行控制信号电平高低。分别给lie1不同取值时d0-d7赋值。及在显示不同汉字时各行的高低电平。因为实际用得8*8点阵显示器为行共阳的显示器,若点阵中发光二极管发光,则该发光二极管的行控制信号应该为高电平。否则为低电平。4 分频模块为实现点阵显示器显示完整汉字,利用肉眼视觉上的延迟,运用快速逐列扫描的方式来实现显示完整的汉字。因此控制列扫描的脉冲信号周期应该较短。osc为控制列扫描的脉冲信号。osd为控制字库地址的脉冲信号。定义时钟信号osc为以信号dff第8位变化频率变化。时钟信号osd为以信号dff第24位变化频率变化。5 逐列扫描模块St为列信号,列信号为低电平时发光二极管才会发光。逐列扫描时从第0列到第7列依次为低电平。从而实现低电平逐列扫描。6 字库选择模块 通过开关k,k1控制lie1的值,从而实现对显示方式的控制。K1为1是滚动。K控制lie1的循环方式,自加一或自减一。当k1为0时,为一屏一屏显示。四 下载调试过程程序仿真。确认无误后,进行下载。下载过程中应注意下载板在断电的情况下进行ASP或JTAG接口的插拔。1 安装驱动插入USB下载线后,自动跳出窗口,进行安装。或直接进行手动安装。2 IDE环境设置Assignmentsdeviceep2c5t144c8Device&ping optionsconfigurationsUse configuration deviceepcs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论