欢迎来到天天文库
浏览记录
ID:10747645
大小:288.57 KB
页数:9页
时间:2018-07-08
《西工大数电实验 彩灯控制电路》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验四彩灯控制电路一、实验目的:1、熟悉QuartusII界面,掌握软件的基本操作2、掌握使用硬件描述语言编辑的方式完成电路的设计与功能的仿真3、完成实验要求电路二、实验设备:QuartusII软件、DE0开发板三、实验原理:1、QuartusII硬件描述语言设计QuartusII中可以使用VHDL和VerilogHDL进行硬件的描述,然后生成相应的元件,在库文件中可以调用。2、DE0开发板基本使用2.1开关开发板DE0提供了10个拨动开关,分别以SW0到SW9标注。它们分别直接连接到CycloneIIIFPGA芯片上。开关拨至上方对应的FPGA输入为高电平(3.3V);当
2、开关拨至下方对应的FPGA输入为低电平(0V)。2.2LED灯板上提供了10个用户可控的发光二极管,分别以LDE0到LED9标注。它们分别连接到CycloneIIIFPGA芯片上。当FPGA对应输出端口为高电平时,点亮相应的发光二极管。发光二极管的引脚分配如图显示。2.37段数码管板上提供了4个7段共阳极数码管,分别以HEX0到HEX3标注。它们如下图所示方式连接到FPGA芯片上。当FPGA对应输出端口为低电平时,点亮数码管相应的段;当FPGA对应输出端口为高电平时,熄灭数码管相应的段。数码管的各段位置索引如下所示。4个7段共阳极数码管的各段引脚与FPGA引脚引脚分配如下所
3、示。三、实验内容:1、彩灯控制电路要求控制4个彩灯;2、两个控制信号:K1K0=00灯全灭01右移,循环显示10左移,循环显示11灯全亮3、在FPGA七段数码管上按1HZ的频率依次显示该组成员每人学号后四位四、实验结果1、源代码:libraryieee;useieee.std_logic_1164.all;entityledcontrolisport(clk:instd_logic;keyin:instd_logic_vector(1downto0);ledout:outbit_vector(3downto0);ledseg:outbit_vector(0to6));end
4、ledcontrol;architecturefwmofledcontrolissignaltmpstate:bit_vector(3downto0):="0001";beginprocess(clk)variablecounter:integer:=0;variablecounter1:integerrange0to7:=0;variablecounter2:integer:=0;beginif(clk'eventandclk='1')thencounter:=counter+1;if(counter=24999999) then--0.5s=50M/2-1=250
5、00000-1=24999999;counter:=0;casekeyiniswhen"00"=>tmpstate<="1111";when"01"=>if(tmpstate="1111"ortmpstate="0000")thentmpstate<="0001";elsetmpstate<=tmpstaterol1;endif;when"10"=>if(tmpstate="1111"ortmpstate="0000")thentmpstate<="1000";elsetmpstate<=tmpstateror1;endif;whenothers=>tmpstate<="0
6、000";endcase;--tmpstate<=tmpstaterol1;endif;if(counter2=50000000)thencounter2:=0;if(counter1=8)thencounter1:=0;elsecounter1:=counter1+1;endif;elsecounter2:=counter2+1;endif;casecounter1iswhen0=>ledseg<="1111001";when1=>ledseg<="0000000";when2=>ledseg<="1111000";when3=>ledseg<="0110000";whe
7、n4=>ledseg<="1111001";when5=>ledseg<="0000000";when6=>ledseg<="0000000";when7=>ledseg<="0010010";whenothers=>ledseg<=(others=>'0');endcase;endif;ledout<=tmpstate;endprocess;endfwm2、对该代码进行编译:3、仿真得到的波形如下图所示:4、对实物引脚进行设定5、下载到DE0开发板上进行验证:验证结果与实验预期设计相符。
此文档下载收益归作者所有