可编程实验报告2.docx
- 文档编号:9551709
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:9
- 大小:141.17KB
可编程实验报告2.docx
《可编程实验报告2.docx》由会员分享,可在线阅读,更多相关《可编程实验报告2.docx(9页珍藏版)》请在冰豆网上搜索。
可编程实验报告2
广东水利电力职业技术学院
实验报告
课程名称可编程逻辑器件
实验项目名称彩灯控制器设计
学生班级12电子
(2)班
学生姓名许炎庆
2013年04月22日
前言
课堂上老师叫我们实验的基本步骤及基本思路,然后我们应用所学知识自己编程序,再测试程序,最后下载在下载板。
动手去实验它,亲手把那个看起来颇为复杂的东西给弄个明白,才能更加深刻的将知识印入脑中,有利加强学生的动手能力,同时能促进同组人的分工更为合理和团结精神的培养。
目录
1.实验目的与要求
2.实验方案设计及其原理
3.硬件要求
4.设计步骤
5.源程序和下载结果
6.实验结果分析
7.实验收获和体验
1.实验目的与要求
(1)彩灯控制器要有多种花型变化,
(2)多种花型可以自动变换,循环往复,
(3)彩灯变化快慢的节拍可以选择,
(4)具有清零开关。
目的:
进一步熟悉EDA的VHDL的程序设计方法,熟练所学课程一些基本常用的软件,如此次的QuartusII,实操该软件的基本操作,学习掌握VHDL的描述方法,进一步掌握应用EDA常用工具进行组合逻辑电路的设计、分析、仿真等技巧。
同时使自己能够编码程序,理解并学会。
2.实验设计方案及原理
设计一个具有4种节奏看快慢,多种花型循环变化的彩灯控制器。
首先通过多个进程把50mhz输入脉冲经过多级分频,最后分成四个不同频率的脉冲,同时通过数据选择器的俩个开关来控制其对应的脉冲作为输入。
由此,整个系统需要3个输入信号:
系统时钟信号clk,系统清零信号rst,和控制彩灯节奏快慢的选择开关speed.7个输出信号row(3...0)控制彩灯的组选和e,y,g控制红,绿,黄的亮灭用于模仿彩灯。
3.硬件要求
主芯片EPM240T100C5,2个开关、12个LED灯。
4.设计步骤
首先对输入的脉冲clk进行多级分频,让有不同的频率,然后再通过数据选择器控制其相对应的脉冲,再把脉冲输入编写好的程序中(定义在程序内部中,及在内部进行),最后测试,下载,再通过下载板看到结果。
5.源程序和下载结果
该实验编好的程序如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitydyis
port(b,clk:
instd_logic;
s:
instd_logic_vector(1downto0);
a:
outstd_logic_vector(3downto0);
r,y,g:
outstd_logic);
end;
architectureduofdyis
signalp:
integerrange0to26;
signalclk_1,clk_2,clk_3,clk_4:
std_logic;
signalw:
std_logic;
begin
process(clk)
variablecnt1:
integerrange0to500;
variablecnt2:
integerrange0to100;
begin
ifclk'eventandclk='1'then
ifcnt1=500then
cnt1:
=0;
ifcnt2=100then
cnt2:
=0;
clk_1<=notclk_1;
else
cnt2:
=cnt2+1;
endif;
else
cnt1:
=cnt1+1;
endif;
endif;
endprocess;
process(clk_1)
variablecnt1:
integerrange0to25;
begin
ifclk_1'eventandclk_1='1'then
ifcnt1=25then
cnt1:
=0;
clk_2<=notclk_2;
else
cnt1:
=cnt1+1;
endif;
endif;
endprocess;
process(clk_2)
variablecnt1:
integerrange0to5;
begin
ifclk_2'eventandclk_2='1'then
ifcnt1=5then
cnt1:
=0;
clk_3<=notclk_3;
else
cnt1:
=cnt1+1;
endif;
endif;
endprocess;
process(clk_3)
variablecnt1:
integerrange0to2;
begin
ifclk_3'eventandclk_3='1'then
ifcnt1=3then
cnt1:
=0;
clk_4<=notclk_4;
else
cnt1:
=cnt1+1;
endif;
endif;
endprocess;
process(s)
begin
casesis
when"00"=>w<=clk_1;
when"01"=>w<=clk_2;
when"10"=>w<=clk_3;
when"11"=>w<=clk_4;
endcase;
endprocess;
process(w)
begin
ifw'eventandw='1'then
ifp=26then
p<=0;
else
p<=p+1;
endif;
endif;
endprocess;
process(b,p)
variabler1,y1,g1:
std_logic;
variablea_1:
std_logic_vector(3downto0);
begin
ifb='0'then
a_1:
="1111";r1:
='0';y1:
='0';g1:
='0';
else
casepis
when0=>a_1:
="0111";r1:
='1';y1:
='1';g1:
='0';
when1=>a_1:
="1011";r1:
='1';y1:
='1';g1:
='0';
when2=>a_1:
="1101";r1:
='1';y1:
='1';g1:
='0';
when3=>a_1:
="1110";r1:
='1';y1:
='1';g1:
='0';
when4=>a_1:
="0111";r1:
='0';y1:
='1';g1:
='1';
when5=>a_1:
="1011";r1:
='0';y1:
='1';g1:
='1';
when6=>a_1:
="1101";r1:
='0';y1:
='1';g1:
='1';
when7=>a_1:
="1110";r1:
='0';y1:
='1';g1:
='1';
when8=>a_1:
="0111";r1:
='1';y1:
='0';g1:
='1';
when9=>a_1:
="1011";r1:
='1';y1:
='0';g1:
='1';
when10=>a_1:
="1101";r1:
='1';y1:
='0';g1:
='1';
when11=>a_1:
="1110";r1:
='1';y1:
='0';g1:
='1';
when12=>a_1:
="0111";r1:
='1';y1:
='1';g1:
='1';
when13=>a_1:
="1011";r1:
='1';y1:
='1';g1:
='1';
when14=>a_1:
="1101";r1:
='1';y1:
='1';g1:
='1';
when15=>a_1:
="1110";r1:
='1';y1:
='1';g1:
='1';
when16=>a_1:
="0110";r1:
='1';y1:
='0';g1:
='0';
when17=>a_1:
="0110";r1:
='0';y1:
='1';g1:
='0';
when18=>a_1:
="0110";r1:
='0';y1:
='0';g1:
='1';
when19=>a_1:
="1001";r1:
='0';y1:
='0';g1:
='1';
when20=>a_1:
="1001";r1:
='0';y1:
='1';g1:
='0';
when21=>a_1:
="1001";r1:
='1';y1:
='0';g1:
='0';
when22=>a_1:
="1001";r1:
='0';y1:
='1';g1:
='0';
when23=>a_1:
="1001";r1:
='0';y1:
='0';g1:
='1';
when24=>a_1:
="0110";r1:
='0';y1:
='0';g1:
='1';
when25=>a_1:
="0110";r1:
='0';y1:
='1';g1:
='0';
when26=>a_1:
="0110";r1:
='1';y1:
='0';g1:
='0';
endcase;
endif;
a<=a_1;r<=r1;y<=y1;g<=g1;
endprocess;
enddu;
测试结果
引脚分配
6.实验结果分析
实验的开始,总是有点小问题,因为编写的程序有一点小小的不同,该程序就无法执行,所以总需要经过多次的修改,往复地测试,直到成功。
实验中通过俩开关的不同变换使其相应的时钟有不同的频率,从而在下载板上看到快慢不同的花型。
当按下清零开关时,灯全部熄灭。
7.实验收获和体验
能够让我们更加熟悉的对其软件的操作外,减少一些细节的出错率。
最重要的是通过此次实验能让我们知道编写程序的基本语法与一些基本注意的地方。
同时能够从多次失败的结果总结出经验,编程的时候应该细心谨慎,通过自己动手,可以有自己理清思路,一点点地提高自己的程序编写能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)