LED灯是与EP2C5T144C8的某些引脚相连的,其正极接3.3V电源,当与LED灯相连接的引脚位低电平时,对应的灯就会亮,即运用电平的高低来控制LED灯的亮与灭。
二 程序设计
本实验就是设计VHDL程序来控制LED灯的亮与灭。
管脚分配如表2.1-1。
表2.1-1
实验符号 |
对应标号 |
管脚 |
LEDn[7] |
D37 |
PIN_75 |
LEDn[6] |
D36 |
PIN_74 |
LEDn[5] |
D35 |
PIN_73 |
LEDn[4] |
D34 |
PIN_72 |
LEDn[3] |
D33 |
PIN_71 |
LEDn[2] |
D32 |
PIN_70 |
LEDn[1] |
D31 |
PIN_69 |
LEDn[0] |
D30 |
PIN_65 |
三 实验电路
LED灯电路原理图如图2.1所示:
四 实验步骤
点亮LED灯的实验步骤如下:
1.选择开始>程序>Altera>Quartus II软件。或者双击桌面上的Quartus II的图标运行Quartus II软件,出现如图2.1.1所示。如果是第一次打开Quartus II软件,可能还会有其他的提示信息,使用者可以根据自己的实际情况进行设计后进入图2.1.1所示界面。
2.选择软件中的菜单File>New Project Wizard,新建一个过程。如图2.1.2所示。
图2.1 LED灯电路
3.点击图2.1.2中的【Next】进入工作目录,工程名的设定对话框如图2.1.3所示。第一个输入框为工程目录输入框,用户可以输入如:FPGA等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。的哥输入框为工程名称输入框,第三个输入框位顶层实体名称输入框。用户可以设定EXP1,一般情况下工程名称与实体名称相同。使用者也可以根据自己的实际情况来设定。
4.点击【Next】,进入下一个设定对话框,按默认选项直接点击【Next】进行器件选择对话框,如图<?XML:NAMESPACE PREFIX = ST1 />2.1.4-A和图2.1.4-B所示。这里我们选择Cyclone II系列芯片EP2C5T144C8。
首先在对话框的左上方的Family下拉菜单中选取Cyclone II, 在中间右边的Speed grade下拉菜单中选取8,在左下方的Available devices中选取EP2C5T144C8,点击【Next】完成器件的选取,进入EDA TOOL设定界面如图2.1.5所示。
5.按默认选项,点击【Next】出现新建工程以前所有的设定信息,如图2.1.6所示,点击Finish完成新建工程的建立,如图2.1.7所示。
6.点击File>New,新建一个VHDL文件。如图
2.1.8所示。
7.点击OK,将VHDL程序写入后,如图
2.1.9所示,并点击File>Save,无需做任何更改,点击OK即可。如图2.1.10所示。
8.按照自己的想法,在新建的VHDL文件中编写VHDL程序。
<?XML:NAMESPACE PREFIX = O />
9.代码书写结束后,选择Processing>Start Compilation对编写的代码进行编译,直到编译通过。
10.编译通过后,对试验中用到的LED进行管脚绑定。选择Assignments> Pins,会出现管脚分配对话框,如图2.1.11所示。
11.首先选择对应的引脚,然后在location中按表2.1-1中端口引脚对应关系输入VHDL设计中对应的端口名称引脚号,如图2.1.12所示。
表2.1-1
实验符号 |
对应标号 |
管脚 |
LED[7] |
D37 |
PIN_75 |
LED[6] |
D36 |
PIN_74 |
LED[5] |
D35 |
PIN_73 |
LED[4] |
D34 |
PIN_72 |
LED[3] |
D33 |
PIN_71 |
LED[2] |
D32 |
PIN_70 |
LED[1] |
D31 |
PIN_69 |
LED[0] |
D30 |
PIN_65 |
12.对于复用的引脚,需要做进一步处理。选择Assignments> Settings--> Device and Pin Options---,在弹出的对话框中首先选择Configuration标签,在Configuration中选择Passive Serial(can use Configuration Device)一项,再选择Dual Purpose Pins标签,在ASD0,nCS0选项中选择Use as regular IO,如图2.1.13所示。配置结束后点击确认即可。
13.在剩下的Settings对话框红点击OK。然后再编译一次。
14.编译无误后,选择Tools>Programmer,进入程序下载界面。使用USB电缆时的界面如图2.1.14所示;使用ByteBlaster下载线下载时的界面如图2.1.15所示。然后点击Start,将LED_light.sof文件下载到FPGA芯片中。(注:初次使用USB电缆下载时,需要安装USB-Blaster驱动)。
15.观察实验结果是否与程序设计相吻合。
五 参考程序
---------------------------------库说明-------------------------------
library ieee; --IEEE标准库
use ieee.std_logic_1164.all; --调用库中的程序包
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
--------------------------------实体说明------------------------------
entity LED_light is --LED_light 是实体名
port(LED : out std_logic_vector(7 downto 0)); --定义输出端口
end LED_light;
-------------------------------结构体说明-----------------------------
architecture behav of LED_light is --behav 是结构体名
begin
LED<="11110000"; --点亮4个LED,关闭另外4个LED
end behav;
文章评论(0条评论)
登录后参与讨论