`

试验四 数码管控制实验

F# 
阅读更多

1,循环显示1-F。

module Seven_LED( 
              clk,
              rst,
              led_out
                );
           
input  clk,rst;
output [11:0] led_out;
reg    [11:0] led_out;
   
reg  [3:0] data;
reg [24:0] Mega_cnt;
wire       slow_clk;

/***********************************/
always @(posedge clk or negedge rst)
begin
if(!rst)
  begin
  Mega_cnt<=0;
  end
else
  begin
  Mega_cnt<=Mega_cnt+1;
  end
end

assign slow_clk = Mega_cnt[24];
/***********************************/

always @ (posedge slow_clk or negedge rst)
   begin
     if(!rst)
        data <= 0;
     else 
        data <= data + 1;
   end


always @ (data)
   case(data)
   4'd0 : led_out = 12'b1111_1100_1111;
   4'd1 : led_out = 12'b0110_0000_1111;
   4'd2 : led_out = 12'b1101_1010_1111;
   4'd3 : led_out = 12'b1111_0010_1111;
   4'd4 : led_out = 12'b0110_0110_1111;
   4'd5 : led_out = 12'b1011_0110_1111;
   4'd6 : led_out = 12'b1011_1110_1111;
   4'd7 : led_out = 12'b1110_0000_1111;
   4'd8 : led_out = 12'b1111_1110_1111;
   4'd9 : led_out = 12'b1111_0110_1111;
   4'd10: led_out = 12'b1110_1110_1111;
   4'd11: led_out = 12'b0011_1110_1111;
   4'd12: led_out = 12'b1001_1100_1111;
   4'd13: led_out = 12'b0111_1010_1111;
   4'd14: led_out = 12'b1001_1110_1111;
   4'd15: led_out = 12'b1000_1110_1111;
endcase

endmodule

 

2,显示1234

module seg_led(clk,rst,
			s0,s1,s2,s3,
			d0,d1,d2,d3,d4,d5,d6,d7
			);

	input      clk,rst       ;
	output     s0,s1,s2,s3   ;
	output     d0,d1,d2,d3,d4,d5,d6,d7 ;

	reg [1 :0 ] state ;
	reg [3 :0 ] sn ;
	reg [7 :0 ] data ;
	reg [15:0 ] cnt ;
	
	wire       s0,s1,s2,s3   ;
	wire       d0,d1,d2,d3,d4,d5,d6,d7 ; 

	assign     {s3,s2,s1,s0} = sn ;
	assign     {d7,d6,d5,d4,d3,d2,d1,d0} = data ;

	always @ ( posedge clk )
		if( !rst )
			cnt<=16'b0;
		else
			cnt<=cnt+16'b1;

	wire clk_slow = cnt[15] ;

	always @ ( posedge clk_slow or negedge rst )
		if( !rst )
			state<=2'b00;
		else
			state<=state+2'b01;

	always @ ( posedge clk_slow or negedge rst )
		if( !rst )
			begin
				sn<=4'b0;
				data<=8'b0;
			end
		else
			case(state)
				2'b00:
					begin
						sn<=4'b0001;
						data<=8'b0110_0000;
					end
				2'b01:
					begin
						sn<=4'b0010;
						data<=8'b1101_1010;
					end
				2'b10:
					begin
						sn<=4'b0100;
						data<=8'b1111_0010;
					end
				2'b11:
					begin
						sn<=4'b1000;
						data<=8'b0110_0110;
					end
			endcase


endmodule

 动态扫描的方法显示。

分享到:
评论

相关推荐

    单片机\数码管显示实验程序

    在实验过程中,伟福试验箱提供了实践平台,它通常集成了必要的电源、单片机、数码管模块以及调试接口。使用者可以通过编写C语言或汇编语言程序,将代码烧录到单片机中,然后观察数码管的实际显示效果。 总的来说,...

    数码管试验_数码管_STM32F103_articlengy_

    总之,数码管试验是一个很好的实践项目,它涵盖了微控制器基础、GPIO控制、中断、定时器以及简单的显示控制技术。通过这个试验,开发者不仅能掌握STM32F103C8T6的基本操作,还能了解如何利用有限的硬件资源实现高效...

    试验二数码管显示.docx

    8. **数码管引脚配置**:不同数量位的数码管(如单位、双位、四位)有不同的引脚数,例如单位数码管通常有8个引脚,而四位数码管有12个引脚。引脚标号可以通过查阅资料或实际测量确定。 9. **使用注意事项**:点亮...

    数码管动态显示试验工程

    这个“数码管动态显示试验工程”是针对初学者和专业人士的一个实践项目,旨在帮助他们理解并掌握如何用Verilog HDL(硬件描述语言)来设计和实现7段数码管的显示译码器以及数码管的动态扫描显示。 首先,7段数码管...

    8只数码管闪烁显示基于proteus的试验仿真

    在电子工程领域,数码管(Digital Display...通过这个实验,学生不仅可以掌握数码管的工作原理和驱动方法,还能深入了解微控制器的中断系统、定时器应用,以及Proteus仿真的实用性,为后续的电子项目设计打下坚实基础。

    shumaguan.rar_proteus 数码管_proteus实验

    在实验代码中,你需要编写函数来控制数码管的段码,比如用位操作来设置P0端口的电平,以达到显示特定数字的目的。此外,对于动态扫描显示,还需要定时器来控制每个数码管位的点亮时间,以实现高速扫描而避免人眼察觉...

    显示器试验 八个数码管

    本案例中提到的"显示器试验 八个数码管"是针对微处理器或微控制器的一项实验,它涉及到数字显示技术以及控制逻辑。下面将详细解析这个实验的关键知识点。 首先,"八个数码管"是指使用了8个七段数码管进行数字或字母...

    单片机指示灯和数码管的中断控制实验报告.doc

    单片机指示灯和数码管的中断控制实验报告 本实验报告旨在掌握单片机指示灯和数码管的中断控制原理,并学会中断程序设计。实验内容包括绘制实验电路原理图、采用外部中断原理完成实验、编写 C51 程序实现指定功能、...

    数码管的动态显示试验

    本试验主题为“数码管的动态显示试验”,主要基于89S52这款经典的单片机,目的是通过编程控制数码管显示0到999的任意数值。下面将详细解析这一知识点。 89S52是一款基于8051内核的微控制器,具有8KB的可编程Flash...

    数码管动态显示数码管动态显示数码管动态显示

    实验设备包括计算机一台,WAVE6000软件模拟器,XLISP软件,XL1000单片机综合仿真试验仪一台(8个用共阳接法连接的8段数码管,89C51一片,9针对9针的串口线一条,USB电缆一条)。 五、实验基本原理与方法 实验的...

    数码管原理与应用篇.pdf

    #### 四、单片机控制数码管实例解析 在提供的部分内容中,使用单片机控制数码管显示数字“2”的过程被详细地阐述了。 1. **程序分析**: - **P0口**:用于控制数码管的显示字形。通过给P0口赋值0xA4(即10100100)...

    单片机试验开发 的介绍 包括仿真 数码管等

    在15_七段数码管显示实验中,开发者会学习如何控制单片机的IO口驱动数码管,实现数字和字符的显示。这涉及到单片机的并行输出、定时器设置、扫描显示等技术。例如,静态显示是通过每个段分别连接到单片机的IO口,...

    51单片机使用8个数码管中的一个数码管,循环显示数字0~9,到9回0,数字变化的时间间隔为1s。

    使用8个数码管中的一个数码管,循环显示数字0~9,到9回0,数字变化的时间间隔为1s。

    计算机接口 程序设计实验 汇编实现

    实验08_交通灯控制实验 实验09_Windows中断C 实验11_数模转换器 实验12_模数转换器 实验13_数字录音机 实验14_串行通信实验 实验15_DMA传送C 实验16_集成电路测试 实验17_电子琴 实验19_步进电机控制实验 实验20_小...

    单片机原理与应用试验报告

    本报告涵盖了四个关键实验,分别是数据传输实验、点亮二极管、单片机流水灯实验和数码管显示实验。这些实验旨在帮助学生掌握单片机的编程、硬件连接和调试技能。 **数据传输实验** 在数据传输实验中,主要目标是...

    《单片机原理及应用--基于Proteus和Keil C》(第4版)实验及实验报告.zip

    实验内容可能包括基础操作,如LED灯控制、串行通信、定时器应用、中断处理等,进阶实验则可能涉及A/D转换、D/A转换、电机控制等复杂系统。 实验部分包括实验1到实验7,涵盖了从简单的单片机初始化和基本输入输出...

    北邮微原硬件实验.pdf

    * 实验四:七段数码管实验,验证了数码管显示数字的原理。 六、实验总结 * 本次实验中,我们掌握了基本的 I/O 实验、简单并行接口实验、可编程并行接口 8255 实验和七段数码管实验的原理和方法。 * 我们学习了如何...

    微机课程设计报告 小型步进电机控制系统设计(附程序清单)

    本设计报告关注的是一个基于唐都-PIT试验箱的小型步进电机控制系统,该系统利用8255并行接口电路、LED七段数码管和8086CPU来实现对步进电机的调速、方向控制。 设计目标旨在培养学生解决计算机应用问题的能力,提高...

    音响放大器.rar_equalvuw_multisim_小型音响放大器_数码管_音频放大器

    音响放大器设计是电子工程领域中的一个重要组成部分,特别是在音频系统中。这个名为"音响放大器.rar_equalvuw_multisim_...通过Multisim的仿真和实验,可以提高对电路原理的理解,同时也锻炼了实际操作和问题解决能力。

Global site tag (gtag.js) - Google Analytics