数码扫描显示电路设计
学 院: 物理与电子信息学院 专 业: 电子信息与科学技术
班 级 : 电子2班
学 号:
姓 名:
2014年 4月 11 日
一、设计实验目的:
1.学习 7 段数码显示译码器设计; 了解教学系统中 6 位八段数码管显示电路的工作原理,设计标准扫描驱动电路模块,以备下一个实验用。
2.学习 VHDL 的 select 语句应用及多层次设计方法。
在isplever 软件平台上,熟练运用VHDL 语言,完成数码扫描显示电路的VHDL 语言编程、编译、综合、仿真,使用EDA 实验箱,实现数码扫描显示电路的硬件功能。
二、设计实验说明及要求:
1、静态扫描显示电路组成:计数器、显示译码器、扫描电路组成。在静态扫描显示电路中最关键的是如何在每一个数码管静态显示固定的数字,
三、数字时钟组成及功能:
1、计数器:用来产生实现数码管分配;
2、扫描显示译码器:完成对7字段数码管显示的控制;
四、系统硬件要求:
1、时钟信号为10MHz ;
2、FPGA 芯片型号引脚指定后,下载到芯片 ispLSI1032E-70LJ84 中
3、6个7段扫描共阳级数码显示管;
五、设计内容及步骤:
1、设计思路:
静态扫描显示电路的主要组成为:计数器、显示译码器、扫描电路组成。 固定显示P1032E ,因为需要6个数码管,所以用七进制计数器即可,计数器从0到6计数,到6后归0,接着开始从0到6计数。
然后扫描电路(即时钟信号)根据每个时刻的计数器计数值,输出相应的数码管,从而选择控制。
当扫描到一个数码管,根据此时需要输出的数值,利用显示译码器翻译为相应的数码管显示编码即可。
此为本程序设计的整体思路。
2、端口说明:
clk 时钟信号
data 数码管7段显示数据端口
choice 数码管选择显示控制端口
3、源程序和注释:
固定显示P1032E
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY alpher IS --实体alpher
PORT(
clk : IN STD_LOGIC; --时钟信号
choice : OUT STD_LOGIC_VECTOR(5 downto 0); --数码管选择显示控制
data : OUT STD_LOGIC_VECTOR(7 downto 0)); --数码管7段显示数据
END alpher;
ARCHITECTURE a OF alpher IS --结构体a
SIGNAL count : STD_LOGIC_VECTOR(3 downto 0);
BEGIN
clk1_label:
PROCESS (clk) --进程控制计数
BEGIN
IF clk'event and clk='1' THEN
count
END IF;
END PROCESS clk1_label;
WITH count SELECT --数码管选择显示控制
choice
"101111" WHEN "0001",
"110111" WHEN "0010",
"111011" WHEN "0011",
"111101" WHEN "0100",
"111110" WHEN "0101",
"111111" WHEN OTHERS;
WITH count SELECT --数码管7段显示数据
data
"11111001" WHEN "0001", --显示1
"11000000" WHEN "0010 --显示0
"10110000" WHEN "0011", --显示3
"10100100" WHEN "0100", ---显示2
"10000110" WHEN "0101", --显示E
"11111111" WHEN OTHERS;
END a;
--定义信号count 计数
4
、仿真输出:
5、硬件连线:
(1)FPGA 芯片引脚分配
Clk--3,choice (0)--choice (5)---4-9引脚,data (0)-data (7)---11-18引脚
(2)外部硬件与FPGA 的接线
6、硬件实现:
(1)在ispLSI1032E-70LJ84中编译通过,然后分配好引脚,仿真成功后。开始下载硬件调试。一开始不太懂得下载,下了好几次都没有成功,系统提示下载不了,在检查数据接线后,也没找出问题,后来在同学的帮助下把程序下载到了硬件。
但是数码管显示的是数字却不是预期的目标,我的数码管显示数字是一个一个显示的,经过仔细分析和检查,任然没有发现问题,问过老师之后才知道说是扫描太慢,所以是一个一个显示的,然后把clk 的时钟信号
此时,得到的就是最后的程序了。
六、心得体会
通过这次课程设计,我对EDA 技术有了更进一步的了解,以前的实验一直电子设计自动化这门课程的实验都是在isplever 的上面实现的,所以对EDA 的实验箱和实验硬件上一点都不了解。
在这次实验中对eda 的实验硬件有了更深的认识。比如:如何把vhdl 的程序装到实验的硬件中,然后如何的连接实验箱上的管脚。
VHDL 是EDA 技术的重要组成部分,其具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化,结构化设计方面,表现了强大的生命力和应用潜力
。
Vhdl 其主要的也是最大的优点就在于编程者可以专心致力与其功能的实
现,而不需要对不影响功能的与工艺有关的因素花费过多时间和精力。一个简单的原理要把应用及与其他功能综合起来就很困难。以前学习的时候,没有把各部分内容联系起来,都是一些零散的,独立的。通过设计也巩固了书本上的知识。
通过在上网查询本次实验相关资料。丰富了对EDA 的了解。同时还学到了一些书本上没有的知识。比如:vhdl 源程序的阅读时候,可以先按顺序的大概理解一遍,然后把整个程序分块理解,尤其是各个模块之间是如何实现联系的。
本次课程设计也体现的自己很多不足之处。首先,对软件的使用还不是特别熟练(实验中软件平台不能装载程序到硬件中时,开始一点不知道如何去设置软件参数);其次,对VHDL 语言的掌握程度还有所欠缺。不过在老师和同学的指导下,完成了本次实验。总的来说,这是设计的收获还是不小的。
谢谢老师的悉心指导。
数码扫描显示电路设计
学 院: 物理与电子信息学院 专 业: 电子信息与科学技术
班 级 : 电子2班
学 号:
姓 名:
2014年 4月 11 日
一、设计实验目的:
1.学习 7 段数码显示译码器设计; 了解教学系统中 6 位八段数码管显示电路的工作原理,设计标准扫描驱动电路模块,以备下一个实验用。
2.学习 VHDL 的 select 语句应用及多层次设计方法。
在isplever 软件平台上,熟练运用VHDL 语言,完成数码扫描显示电路的VHDL 语言编程、编译、综合、仿真,使用EDA 实验箱,实现数码扫描显示电路的硬件功能。
二、设计实验说明及要求:
1、静态扫描显示电路组成:计数器、显示译码器、扫描电路组成。在静态扫描显示电路中最关键的是如何在每一个数码管静态显示固定的数字,
三、数字时钟组成及功能:
1、计数器:用来产生实现数码管分配;
2、扫描显示译码器:完成对7字段数码管显示的控制;
四、系统硬件要求:
1、时钟信号为10MHz ;
2、FPGA 芯片型号引脚指定后,下载到芯片 ispLSI1032E-70LJ84 中
3、6个7段扫描共阳级数码显示管;
五、设计内容及步骤:
1、设计思路:
静态扫描显示电路的主要组成为:计数器、显示译码器、扫描电路组成。 固定显示P1032E ,因为需要6个数码管,所以用七进制计数器即可,计数器从0到6计数,到6后归0,接着开始从0到6计数。
然后扫描电路(即时钟信号)根据每个时刻的计数器计数值,输出相应的数码管,从而选择控制。
当扫描到一个数码管,根据此时需要输出的数值,利用显示译码器翻译为相应的数码管显示编码即可。
此为本程序设计的整体思路。
2、端口说明:
clk 时钟信号
data 数码管7段显示数据端口
choice 数码管选择显示控制端口
3、源程序和注释:
固定显示P1032E
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY alpher IS --实体alpher
PORT(
clk : IN STD_LOGIC; --时钟信号
choice : OUT STD_LOGIC_VECTOR(5 downto 0); --数码管选择显示控制
data : OUT STD_LOGIC_VECTOR(7 downto 0)); --数码管7段显示数据
END alpher;
ARCHITECTURE a OF alpher IS --结构体a
SIGNAL count : STD_LOGIC_VECTOR(3 downto 0);
BEGIN
clk1_label:
PROCESS (clk) --进程控制计数
BEGIN
IF clk'event and clk='1' THEN
count
END IF;
END PROCESS clk1_label;
WITH count SELECT --数码管选择显示控制
choice
"101111" WHEN "0001",
"110111" WHEN "0010",
"111011" WHEN "0011",
"111101" WHEN "0100",
"111110" WHEN "0101",
"111111" WHEN OTHERS;
WITH count SELECT --数码管7段显示数据
data
"11111001" WHEN "0001", --显示1
"11000000" WHEN "0010 --显示0
"10110000" WHEN "0011", --显示3
"10100100" WHEN "0100", ---显示2
"10000110" WHEN "0101", --显示E
"11111111" WHEN OTHERS;
END a;
--定义信号count 计数
4
、仿真输出:
5、硬件连线:
(1)FPGA 芯片引脚分配
Clk--3,choice (0)--choice (5)---4-9引脚,data (0)-data (7)---11-18引脚
(2)外部硬件与FPGA 的接线
6、硬件实现:
(1)在ispLSI1032E-70LJ84中编译通过,然后分配好引脚,仿真成功后。开始下载硬件调试。一开始不太懂得下载,下了好几次都没有成功,系统提示下载不了,在检查数据接线后,也没找出问题,后来在同学的帮助下把程序下载到了硬件。
但是数码管显示的是数字却不是预期的目标,我的数码管显示数字是一个一个显示的,经过仔细分析和检查,任然没有发现问题,问过老师之后才知道说是扫描太慢,所以是一个一个显示的,然后把clk 的时钟信号
此时,得到的就是最后的程序了。
六、心得体会
通过这次课程设计,我对EDA 技术有了更进一步的了解,以前的实验一直电子设计自动化这门课程的实验都是在isplever 的上面实现的,所以对EDA 的实验箱和实验硬件上一点都不了解。
在这次实验中对eda 的实验硬件有了更深的认识。比如:如何把vhdl 的程序装到实验的硬件中,然后如何的连接实验箱上的管脚。
VHDL 是EDA 技术的重要组成部分,其具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化,结构化设计方面,表现了强大的生命力和应用潜力
。
Vhdl 其主要的也是最大的优点就在于编程者可以专心致力与其功能的实
现,而不需要对不影响功能的与工艺有关的因素花费过多时间和精力。一个简单的原理要把应用及与其他功能综合起来就很困难。以前学习的时候,没有把各部分内容联系起来,都是一些零散的,独立的。通过设计也巩固了书本上的知识。
通过在上网查询本次实验相关资料。丰富了对EDA 的了解。同时还学到了一些书本上没有的知识。比如:vhdl 源程序的阅读时候,可以先按顺序的大概理解一遍,然后把整个程序分块理解,尤其是各个模块之间是如何实现联系的。
本次课程设计也体现的自己很多不足之处。首先,对软件的使用还不是特别熟练(实验中软件平台不能装载程序到硬件中时,开始一点不知道如何去设置软件参数);其次,对VHDL 语言的掌握程度还有所欠缺。不过在老师和同学的指导下,完成了本次实验。总的来说,这是设计的收获还是不小的。
谢谢老师的悉心指导。