用vhdl设计十六路彩灯控制器程序仿真图报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计报告题目用VHDL设计十六路彩灯控制器课程名称创新电子系统设计院部名称信息技术学院专业电子信息工程班级08电子信息工程(1)班学生姓名学号课程设计地点实验楼课程设计学时60学时指导教师金陵科技学院教务处成绩2一、课程设计目的与要求.................................................................3二、课程设计的题目及内容.............................................................3三、设计过程.....................................................................................43.1模块设计.............................................................................................................43.2时序制电路模块程序及器件原理图..................................................................53.3显示模块电路程序及器件原理图.....................................................................63.4顶出模块设计程序及器件原理图.....................................................................8四、设计结果...................................................................................10(1)仿真波形图....................................................................................................10①时序控制模块仿真波形:...............................................................................10②显示模块仿真波形:.......................................................................................10③多路彩灯控制仿真波形:...............................................................................10(2)管脚连接对应表................................................................................................11(3)硬件实物图........................................................................................................11五、总结...........................................................................................133一、课程设计目的与要求“创新电子系统设计”课程是专业教学计划中设置的独立实践环节,其主要目的为加强对学生创新意识、创新精神和创新能力的培养,鼓励和倡导学生积极参加学科竞赛、课外科技和科研活动、创造发明活动和各类社会实践活动,提高学生综合素质,促进学生个性发展。要求学生能在老师的指导下,自主完成一个较复杂综合电子系统设计与制作的全过程,或者通过参加各类各级和通信、电子相关课外科技活动及竞赛得到真正的实战训练。二、课程设计的题目及内容题目:用VHDL语言设计十六路彩灯控制器内容:1.设计一个多路彩灯控制器,十六种彩灯能循环变化,有清零开关,可以变化彩灯闪动频率即是可以选择快慢两种节拍。2.整个系统有三个输入信号,分别为控制快慢的信号OPT,复位清零信号CLR,输出信号是16路彩灯输出状态。系统框图如:图2.1.1系统总体框图3.主要模块组成:时序控制电路模块和显示电路模块,时序控制电路是根据输入信号的设置得到相应的输出信号,并将此信号作为显示电路的时钟信号;显示电路输入时钟信号的周期,有规律的输出设定的六种彩灯变化类型。4三、设计过程3.1模块设计时序控制模块:CLK为输入时钟信号,电路在时钟上升沿变化;CLR为复位清零信号,高电平有效,一旦有效时,电路无条件的回到初始状态;OPT为频率快慢选择信号,低电平节奏快,高电平节奏慢;CLKOUT为输出信号,CLR有效时输出为零,否则,随OPT信号的变化而改变。我们假设时序控制电路所产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的1/4和1/8,因而输出时钟控制信号可以通过对输入时钟的计数来获得。当opt为低电平时,输出没经过两个时钟周期进行翻转,实现四分频的快节奏;当opt为高电平时,输出每经过四个时钟周期进行翻转,实现把八分频的慢节奏。显示控制电路的模块框图如图所示,输入信号clk和clr的定义与时序控制电路一样,输入信号led[15...0]能够循环输出16路彩灯16种不同状态的花型。对状态的所对应的彩灯输出花型定义如下:S0:0000000000000000S1:0001000100010001S2:0010001000100010S3:0011001100110011S4:0100010001000100S5:0101010101010101S6:0110011001100110S7:0111011101110111S8:1000100010001000S9:1001100110011001S10:1010101010101010S11:1011101110111011S12:1100110011001100S13:1101110111011101S14:1110111011101110S15:1111111111111111多路彩灯在多种花型之间的转换可以通过状态机实现,当复位信号clr有效时,彩灯恢复初始状态s0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应输出的花型,这里的时钟周期即时时序控制电路模块产生的输出信号,它根据opt信号的不同取值得到两种快慢不同的时钟频率。5clr图3.1.1花型循环转变示意原理图3.2时序制电路模块程序及器件原理图libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymetronomeis--定义实体port(clk:instd_logic;--时钟信号clr:instd_logic;--复位信号opt:instd_logic;--快慢控制信号clkout:outstd_logic--输出时钟信号);endmetronome;architecturertlofmetronomeissignalclk_tmp:std_logic;signalcounter:std_logic_vector(1downto0);--定义计数器beginprocess(clk,clr,opt)s1S00S15S2s14S5S3S4s6s12s11s10S9S8S7s136beginifclr='1'then--清零clk_tmp='0';counter=00;elsifclk'eventandclk='1'thenifopt='0'then--四分频,快节奏ifcounter=01thencounter=00;clk_tmp=notclk_tmp;elsecounter=counter+'1';endif;else--八分频,慢节奏ifcounter=11thencounter=00;clk_tmp=notclk_tmp;elsecounter=counter+'1';endif;endif;endif;endprocess;clkout=clk_tmp;--输出分频后的信号endrtl;图3.2.1时序控制原理图3.3显示模块电路程序及器件原理图libraryieee;useieee.std_logic_1164.all;entityoutputisport(clk:instd_logic;--输入时钟信号clr:instd_logic;--复位信号led:outstd_logic_vector(15downto0));--彩灯输出7endoutput;architecturertlofoutputistypestatesis--状态机状态列举(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);signalstate:states;beginprocess(clk,clr)beginifclr='1'thenstate=s0;led=0000000000000000;elsifclk'eventandclk='1'thencasestateiswhens0=state=s1;whens1=state=s2;led=0001000100010001;whens2=state=s3;led=0010001000100010;whens3=state=s4;led=0011001100110011;whens4=state=s5;led=0100010001000100;whens5=state=s6;led=0101010101010101;whens6=state=s7;led=0110011001100110;whens7=state=s8;led=0111011101110111;whens8=state=s9;led=1000100010001000;whens9=state=s10;led=1001100110011001;8whens10=state=s11;led=1010101010101010;whens11=state=s12;led=1011101110111011;whens12=state=s13;led=1100110011001100;whens13=state=s14;led=1101110111011101;whens14=state=s15;led=1110111011101110;whens15=state=s1;led=1111111111111111;endcase;endif;endprocess;endrtl;图3.3.1显示模块器件图3.4顶出模块设计程序及器件原理图libraryieee;useieee.std_logic_1164.all;entitycotopisport(clk:instd_logic;clr:instd_logic;9opt:instd_logic;led:outstd_logic_vector(15downto0));--八路彩灯输出endcolorled;architecturertlofcolorlediscomponentmetonomeis--定义元件:时序控制电路port(clk:instd_logic;clr:instd_logic;opt:instd_logic;clkout:outstd_logic);endcomponentmetonome;component

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功