`

试验一 LED控制实验

 
阅读更多

刚买了一个红色飓风二代的板子抓紧时间学习哈。

实验内容:

编写按键控制LED的程序和3/8译码器的程序,并在开发板上实现它们。

管脚对应:

push button SW6 SW5 SW4 SW3
FPGA Pin P51 P52 P57 P58
 
器件 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8
FPGA Pin P204 P203 P200 P199 P198 P197 P196 P194
信号名称 VD8 VD7 VD6 VD5 VD4 VD3 VD2 VD1

时钟 50MHz P76

复位 SW2 P152

`timescale 1ns / 1ps
module sw_led(clk, rst, sw0, sw1, sw2, sw3, led0, led1, led2, led3, led4, led5, led6, led7);
    input        	clk;
    input        	rst;
    input        	sw0;
    input 		  	sw1;
    input 		  	sw2;
    input 		  	sw3;
    output 		  	led0;
    output 		   led1;
    output 			led2;
    output 			led3;
    output 			led4;
    output 			led5;
    output 			led6;
    output 			led7;

    wire		 		led0;
	wire				led1;
	 wire				led2;
	 wire 			led3;
	 wire				led4;
	 wire				led5;
	 wire				led6;
	 wire				led7;

	 wire   [3 :0] sw;
	 reg    [7 :0] led;

	 assign   sw =	{sw0,sw1,sw2,sw3};
	 assign   {led0,led1,led2,led3,led4,led5,led6,led7} = led;

	 always @ ( posedge clk or negedge rst)
	 	begin
			if(!rst)
				led<='b0;
			else
				case ( sw )

				4'b1110:  led <= 8'b0000_0001;
				4'b1101:  led <= 8'b0000_0010;
				4'b1011:  led <= 8'b0000_0100;
				4'b0111:  led <= 8'b0000_1000;
				4'b1100:  led <= 8'b0001_0000;
				4'b1001:  led <= 8'b0010_0000;
				4'b0011:  led <= 8'b0100_0000;
				4'b0110:  led <= 8'b1000_0000;
				default:  led <= 8'b0000_0000;	

				endcase
		end
endmodule

 代码注意:因为开发板中的四个按钮中的默认输入为高电平,所以这里的编码看起来有点儿怪。

Macro Statistics
# ROMs                                                      : 1
 16x8-bit ROM                                            : 1

综合后利用了一个16x8-bit的ROM。

一个三八译码器:

module translater(clk,rst,din,dout);  
	input         clk,rst ;
	input [2 :0 ] din     ;
	output[7 :0 ] dout    ;
	reg   [7 :0 ] dout    ;
always @ ( posedge clk or negedge rst )
	if( !rst ) 
		dout <= 8'b0000_0000 ;
	else 
		case( {~din[2],~din[1],~din[0]} )
			3'b000: dout <= 8'b0000_0001 ;
			3'b001: dout <= 8'b0000_0010 ;
			3'b010: dout <= 8'b0000_0100 ;
			3'b011: dout <= 8'b0000_1000 ;
			3'b100: dout <= 8'b0001_0000 ;
			3'b101: dout <= 8'b0010_0000 ;
			3'b110: dout <= 8'b0100_0000 ;
			3'b111: dout <= 8'b1000_0000 ;
		endcase
endmodule

 

分享到:
评论

相关推荐

    LED控制实验一.zip

    下面我们将详细探讨这个主题,特别是基于"LED控制实验一.zip"文件中的"实验一"内容。 首先,LED是一种半导体器件,当电流通过它时,会发出光。其亮度与通过它的电流成正比,因此可以通过调节电流来控制LED的亮度。...

    实验七按键控制LED亮灭

    你需要定义模块(entity)和结构(architecture),并在其中编写代码来实现按键检测和LED控制。 4. **按键消抖**:由于机械按键在按下和释放时可能会产生多次脉冲,为了准确识别一次按键操作,需要在软件中加入消抖...

    LED控制实验

    LED控制实验是一个基础而重要的实践环节,特别是在电子技术、计算机硬件和嵌入式系统的学习中。这个实验通常涉及使用微控制器或单片机对LED(Light Emitting Diode,发光二极管)进行编程控制,以实现不同亮度、闪烁...

    GPIO输出实验-单路LED控制

    标题中的“GPIO输出实验-单路LED控制”指的是在嵌入式系统中使用GPIO(General Purpose Input/Output)端口来控制单个LED灯的工作。GPIO是微控制器或嵌入式处理器上的一种通用接口,可以配置为输入或输出,用于与...

    plc实验led控制

    plc实验 led控制,按实验要求使led变化 0 1 2 3 4 5 6 7 8 9

    单片机综合实验LED灯控制器.pdf

    该实验是关于单片机应用的一个综合实验,目标是设计并实现一个LED灯控制器,主要使用C8051F310型号的单片机。实验的主要目的是深入理解定时/计数器、中断和IO端口的工作原理,并熟练掌握它们的编程技术以及中断程序...

    实验1:LED灯控制实验.pdf

    LED 灯控制实验报告摘要 本实验报告的主要目的是介绍 LED 灯控制实验的设计、实现和测试过程。该实验是为计算机和物联网等相关专业的学生设计的,旨在让学生掌握物联网应用技术的基本原理和实践技能。 一、实验...

    实验一_GPIO口实验_led1和led2_

    实验一的标题"实验一_GPIO口实验_led1和led2_"表明我们将通过GPIO接口来控制两个LED灯——LED1和LED2。在实际操作中,通常会将这些LED连接到微控制器的GPIO引脚,以便通过编程来控制它们的状态,即亮或灭。在这个...

    VHDL实验2 LED控制器设计

    VHDL实验2的主要任务是设计一个LED控制器,该控制器基于硬件描述语言VHDL,用于控制一组LED灯的行为。实验的准备工作至关重要,因为它确保了硬件与软件的正确连接和功能实现。 首先,实验者需要将usb-blaster连接到...

    单个按键控制4个LED实验报告.pdf

    由于资源有限,实验设计通过巧妙的逻辑控制,仅使用一个I/O口来控制4个LED。 3. **按键检测**:按键通常连接到单片机的输入端口。当按键未按下时,电路为高电平;按下时,电路被短路,变为低电平。实验中,通过监测...

    LED实验 嵌入式相关

    代码中可能包含了头文件的引用,定义了相关寄存器和库函数,以及main函数中的LED控制逻辑。具体实现细节,如引脚定义、延时函数的具体实现方式(如忙等待或使用定时器)、中断处理等,都会因微控制器平台的不同而...

    单片机实验,IO输入输出实验,LED动态扫描显示实验, 音频控制实验, 定时计数器实验, 阵列式键盘实验, 串行口通信实验

    3. **音频控制实验**:这通常涉及到音频信号的数字化处理,单片机可能需要采集音频信号,然后通过D/A转换器输出。实验可能包括音量控制、频率合成等,需要用到模数转换器(ADC)和数模转换器(DAC)。 4. **定时...

    labview LED控制实验.rar_LED串口控制_Labview控制实验_labview 控制led_labview通信原

    总的来说,Labview LED控制实验是学习LabVIEW串口通信和硬件交互的一个理想实践。通过这个实验,不仅可以增强你的编程技能,还能让你理解物理世界与虚拟世界的交互方式,为未来的嵌入式系统项目打下坚实基础。

    实验2_按键控制LED灯.zip

    实验2_按键控制LED灯.zip是一个关于嵌入式系统编程的实践项目,主要涉及STM32微控制器如何处理用户输入并控制外部硬件设备,具体来说就是LED灯的开关操作。STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于...

    .GPIO输出控制实验-控制Led亮灭

    在这个实验中,“GPIO输出控制实验-控制Led亮灭”旨在教我们如何通过GPIO引脚来控制LED灯的亮灭状态,这是一个基础且重要的实践技能。 GPIO引脚可以被配置为输入或输出模式。在这个实验中,我们关注的是GPIO的输出...

    GPIO-led-key.zip_DSP 流水灯实验_DSP2812按键实验_GPIO LED KEY实验_LED key_gp

    “GPIO流水灯实验”是指通过编程控制GPIO端口输出不同的电平,使得一组LED按照特定顺序亮起和熄灭,形成类似水流流动的效果。在这个实验中,我们将学习如何配置DSP2812的GPIO端口为输出模式,设置相应的电平,并通过...

    实验6:按键控制LED实验.docx

    实验6:“按键控制LED实验”是EDA技术及应用课程中的一个重要实践环节,旨在让学生进一步熟悉FPGA(Field-Programmable Gate Array)开发流程,并掌握基本的硬件接口操作。在这个实验中,我们将使用Verilog HDL...

    按键控制LED实验.pdf

    《按键控制LED实验》 在电子工程领域,Arduino是一个非常受欢迎的开源硬件平台,它使得初学者和专业工程师都能方便地进行嵌入式系统开发。本实验主要介绍如何利用Arduino来实现按键控制LED的功能,从而深入理解I/O...

    实验报告 LED计数电路绘制及测试.docx

    实验报告“LED计数电路绘制及测试”是华中科技大学计算机组成原理课程的一部分,旨在让学生通过Logisim软件学习和实践数字逻辑电路的设计。Logisim是一款常用的逻辑电路设计工具,适合初学者使用,它提供了丰富的...

Global site tag (gtag.js) - Google Analytics