1、88点阵实验报告 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 数字电路课程设计报告基于FFPA的8*8点阵显示器的设计 (软件部分)学院名称: 电气信息工程学院 专 业: 通信工程 班 级: 08通信2W 姓 名: 孙立波(朱容海) 学 号: 08313219 指导教师姓名:朱幼莲 宋 伟 2010年12月序言 一、 课题要求(1)技术要求(2)功能要求(3) 本人的工作二、设计原理及其框图(1)8*8点阵的工作原理和方案 (2)单元电路设计,仿真与分析(3)顶层电路设计,仿真与分析(4)硬件电路设计与安装图三、 成品调试(1)下载调试(2)收获及体会序
2、言 面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。可编程逻辑器件已经成为当今世界上最富吸引力的半导体器件,在现代电子系统设计中扮演着越来越重要的角色。过去的几年里,可编程器件市场的增长主要来自大容量的可编程逻辑器件CPLD和FPGA。本课程
3、设计主要阐述基于FPGA和VHDL语言实现在8*8点阵上的汉字静态显示、一屏一屏显示以及滚动显示。在实际学习中我们应该从应用的角度看待这门课程,初步掌握基本设计工具和设计方法,在课程实践中应锻炼自己的实际设计思想、创新思维和创造能力,力求提高自己的工程实践能力和自主创新能力。一、课题要求(1)技术要求软件要求:能够使用EDA编写程序及仿真设计,能够较为熟练的掌握Quartus软件并使用该软件进行编程、仿真和调试。硬件要求:FPGA(EP2C5T144C8)引脚识别和连接。(2)功能要求1.静态显示“王”字;2.一屏一屏的显示“江技师”;3.滚动的显示数字“19”。(3) 本人的工作 通过查阅资
4、料,了解8*8点阵的工作原理和FPGA芯片的基本工作原理并负责软件的编写,仿真和调试。二、设计原理及其框图(1)8*8点阵的工作原理和方案若要用点阵发光二极管显示汉字,首先要将汉字放在一个方块内,方格块分成8*8共64个小方格,在方块内写上汉字,在字笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了一个汉字二进制数据。 下图是一只8*8阵列的点阵发光显示器,该点阵发光显示器是由8*8阵列组成,共8行,每行8只发光二极管,共64只发光像素,每列的8只发光二极管的所有负极(阴极)相连。每行发光管的正极相连,点阵发光显示器在同一时间只能点亮一列,每列点亮的情况是根据从显示器P1P8送入
5、的数据点亮,要使一个字符在显示器整屏显示,点阵发光显示器就必须通过快速逐列点亮,而且是周而复始的循环点亮,使人眼的暂留视觉效应形成一个全屏字符。8*8点阵二极管示意图原理框图:(2)单元电路设计,仿真与分析:静态显示“王”字程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_Unsigned.all;use ieee.std_logic_ARITH.all;ENTITY jingxian isport(clk:in std_logic; en:in std_logic; lie:out std_logic_vector(
6、7 downto 0); -列 hang:out std_logic_vector(7 downto 0);-行End jingxian;Architecture a of jingxian issignal st1:std_logic_vector(7 downto 0);signal osc:std_logic;signal osd:std_logic;signal d_ff:std_logic_vector(27 downto 0);signal data:std_logic_vector(7 downto 0);signal d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,
7、d10,d11,d12,d13,d14,d15:std_logic_vector(7 downto 0);Beginhang=data;lie=st1;d0=00000010;d1=10010010;d2=10010010;d3=11111110;d4=10010010;d5=10010010;d6=00000010;d7=2e8)then d_ff(27 downto 0)=0000000000000000000000000000;else d_ff(27 downto 0)=d_ff+1;end if;osc=not d_ff(10);end process first;second:pr
8、ocess(osc,en)begin if(osc=1 and oscevent) then if(en=1)then if st1(7 downto 0)=00000000or st1(7 downto 0)=01111111 then st1(7 downto 0)=11111110;data=d0; elsif st1(7 downto 0)=11111110then st1(7 downto 0)=11111101;data=d1; elsif st1(7 downto 0)=11111101then st1(7 downto 0)=11111011;data=d2; elsif st
9、1(7 downto 0)=11111011then st1(7 downto 0)=11110111;data=d3; elsif st1(7 downto 0)=11110111then st1(7 downto 0)=11101111;data=d4; elsif st1(7 downto 0)=11101111then st1(7 downto 0)=11011111;data=d5; elsif st1(7 downto 0)=11011111then st1(7 downto 0)=10111111;data=d6; elsif st1(7 downto 0)=10111111th
10、en st1(7 downto 0)=01111111;data=d7; end if; else st1=00000000; data=00000000; end if; end if;end process second;end a;波形图::.一屏一屏显示“江技师”程序:Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity pingxian isPort( Clk,en:in std_logic; lie:out std_lo
11、gic_vector(7 downto 0);-列 hang:out std_logic_vector(7 downto 0);-行End pingxian;Architecture a of pingxian issignal st1:std_logic_vector(7 downto 0);signal osc:std_logic;signal osd:std_logic;signal d_ff:std_logic_vector(27 downto 0);signal data:std_logic_vector(7 downto 0);signal d0,d1,d2,d3,d4,d5,d6
12、,d7:std_logic_vector(7 downto 0);signal lie0:std_logic_vector(6 downto 0);beginhang=data;lie=st1;D0=01000001when lie0(6 downto 0)=0000000else00001000when lie0(6 downto 0)=0000001else00111100when lie0(6 downto 0)=0000010else00000000;D1=01000001when lie0(6 downto 0)=0000000else00101101when lie0(6 down
13、to 0)=0000001else10101000when lie0(6 downto 0)=0000010else00000000;D2=01000001when lie0(6 downto 0)=0000000else11111010when lie0(6 downto 0)=0000001else11111111when lie0(6 downto 0)=0000010else00000000;D3=01000001when lie0(6 downto 0)=0000000else00101101when lie0(6 downto 0)=0000001else10100000when
14、lie0(6 downto 0)=0000010else00000000;D4=01000001when lie0(6 downto 0)=0000000else00001000when lie0(6 downto 0)=0000001else00111100when lie0(6 downto 0)=0000010else00000000;D5=00101100when lie0(6 downto 0)=0000000else00110000when lie0(6 downto 0)=0000001else11111100when lie0(6 downto 0)=0000010else00
15、000000;D6=01010010when lie0(6 downto 0)=0000000else11111111when lie0(6 downto 0)=0000001else00000010when lie0(6 downto 0)=0000010else00000000;D7=2e8)thend_ff(27 downto 0)=0000000000000000000000000000;elsed_ff(27 downto 0)=d_ff+1;end if;osc=not d_ff(10);osd=not d_ff(25);end process first;second:proce
16、ss(osc,en)beginif(osc=1 and oscevent)then if(en=1)then if st1(7 downto 0)=00000000or st1(7 downto 0)=01111111then st1(7 downto 0)=11111110;data=d0; elsif st1(7 downto 0)=11111110then st1(7 downto 0)=11111101;data=d1; elsif st1(7 downto 0)=11111101then st1(7 downto 0)=11111011;data=d2; elsif st1(7 do
17、wnto 0)=11111011then st1(7 downto 0)=11110111;data=d3; elsif st1(7 downto 0)=11110111then st1(7 downto 0)=11101111;data=d4; elsif st1(7 downto 0)=11101111then st1(7 downto 0)=11011111;data=d5; elsif st1(7 downto 0)=11011111then st1(7 downto 0)=10111111;data=d6; elsif st1(7 downto 0)=10111111then st1
18、(7 downto 0)=01111111;data=d7; end if; else st1=00000000; data=00000000; end if;end if;end process second;third:process(osd,en)beginif(osd=1 and osdevent and en=1)then if lie0(6 downto 0)=0000010then lie0(6 downto 0)=0000000; else lie0(6 downto 0)=lie0+1; end if;end if;end process third;end a;波形图::滚
19、动显示“19”程序:Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity gun isPort( Clk,en:in std_logic; lie:out std_logic_vector(7 downto 0);-列 hang:out std_logic_vector(7 downto 0);-行End gun;Architecture a of gun issignal st1:std_logic_vector(7 downto
20、 0);signal osc:std_logic;signal osd:std_logic;signal d_ff:std_logic_vector(27 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(6 downto 0);beginhang=data;lie=st1;D0= 11111111when lie0=0000000else-19第0列 1001000
21、1when lie0=0000001else-19第1列 10010001when lie0=0000010else-19第2列 10010001when lie0=0000011else-19第3列 11110001when lie0=0000100else-19第4列 00000000when lie0=0000101else-19第5列 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 00000000; -以上为字库0 D1= 10010001when lie0=0000001else-19第
22、1列 10010001when lie0=0000010else-19第2列 10010001when lie0=0000011else-19第3列 11110001when lie0=0000100else-19第4列 00000000when lie0=0000101else-19第5列 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 11111111when lie0=0000000else-19第0列 00000000; -以上为字库1D2= 10010001when lie0=000001
23、0else-19第2列 10010001when lie0=0000011else-19第3列 11110001when lie0=0000100else-19第4列 00000000when lie0=0000101else-19第5列 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 11111111when lie0=0000000else-19第0列 10010001when lie0=0000001else-19第1列 00000000; -以上为字库2D3= 10010001when li
24、e0=0000011else-19第3列 11110001when lie0=0000100else-19第4列 00000000when lie0=0000101else-19第5列 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 11111111when lie0=0000000else-19第0列 10010001when lie0=0000001else-19第1列 10010001when lie0=0000010else-19第2列 00000000;-以上为字库3D4= 1111000
25、1when lie0=0000100else-19第4列 00000000when lie0=0000101else-19第5列 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 11111111when lie0=0000000else-19第0列 10010001when lie0=0000001else-19第1列 10010001when lie0=0000010else-19第2列 10010001when lie0=0000011else-19第3列00000000;-以上为字库4D5=
26、00000000when lie0=0000101else-19第5列 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 11111111when lie0=0000000else-19第0列 10010001when lie0=0000001else-19第1列 10010001when lie0=0000010else-19第2列 10010001when lie0=0000011else-19第3列 11110001when lie0=0000100else-19第4列00000000;-以上是
27、字库5D6= 11111111when lie0=0000110else-19第6列 00000000when lie0=0000111else-19第7列 11111111when lie0=0000000else-19第0列 10010001when lie0=0000001else-19第1列 10010001when lie0=0000010else-19第2列 10010001when lie0=0000011else-19第3列 11110001when lie0=0000100else-19第4列 00000000when lie0=0000101else-19第5列00000000;-以上是字库6D7= 00000000when lie0=0000111els
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1