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语言或汇编语言程序,将代码烧录到单片机中,然后观察数码管的实际显示效果。 总的来说,...
总之,数码管试验是一个很好的实践项目,它涵盖了微控制器基础、GPIO控制、中断、定时器以及简单的显示控制技术。通过这个试验,开发者不仅能掌握STM32F103C8T6的基本操作,还能了解如何利用有限的硬件资源实现高效...
8. **数码管引脚配置**:不同数量位的数码管(如单位、双位、四位)有不同的引脚数,例如单位数码管通常有8个引脚,而四位数码管有12个引脚。引脚标号可以通过查阅资料或实际测量确定。 9. **使用注意事项**:点亮...
这个“数码管动态显示试验工程”是针对初学者和专业人士的一个实践项目,旨在帮助他们理解并掌握如何用Verilog HDL(硬件描述语言)来设计和实现7段数码管的显示译码器以及数码管的动态扫描显示。 首先,7段数码管...
在电子工程领域,数码管(Digital Display...通过这个实验,学生不仅可以掌握数码管的工作原理和驱动方法,还能深入了解微控制器的中断系统、定时器应用,以及Proteus仿真的实用性,为后续的电子项目设计打下坚实基础。
在实验代码中,你需要编写函数来控制数码管的段码,比如用位操作来设置P0端口的电平,以达到显示特定数字的目的。此外,对于动态扫描显示,还需要定时器来控制每个数码管位的点亮时间,以实现高速扫描而避免人眼察觉...
本案例中提到的"显示器试验 八个数码管"是针对微处理器或微控制器的一项实验,它涉及到数字显示技术以及控制逻辑。下面将详细解析这个实验的关键知识点。 首先,"八个数码管"是指使用了8个七段数码管进行数字或字母...
单片机指示灯和数码管的中断控制实验报告 本实验报告旨在掌握单片机指示灯和数码管的中断控制原理,并学会中断程序设计。实验内容包括绘制实验电路原理图、采用外部中断原理完成实验、编写 C51 程序实现指定功能、...
本试验主题为“数码管的动态显示试验”,主要基于89S52这款经典的单片机,目的是通过编程控制数码管显示0到999的任意数值。下面将详细解析这一知识点。 89S52是一款基于8051内核的微控制器,具有8KB的可编程Flash...
实验设备包括计算机一台,WAVE6000软件模拟器,XLISP软件,XL1000单片机综合仿真试验仪一台(8个用共阳接法连接的8段数码管,89C51一片,9针对9针的串口线一条,USB电缆一条)。 五、实验基本原理与方法 实验的...
#### 四、单片机控制数码管实例解析 在提供的部分内容中,使用单片机控制数码管显示数字“2”的过程被详细地阐述了。 1. **程序分析**: - **P0口**:用于控制数码管的显示字形。通过给P0口赋值0xA4(即10100100)...
在15_七段数码管显示实验中,开发者会学习如何控制单片机的IO口驱动数码管,实现数字和字符的显示。这涉及到单片机的并行输出、定时器设置、扫描显示等技术。例如,静态显示是通过每个段分别连接到单片机的IO口,...
使用8个数码管中的一个数码管,循环显示数字0~9,到9回0,数字变化的时间间隔为1s。
实验08_交通灯控制实验 实验09_Windows中断C 实验11_数模转换器 实验12_模数转换器 实验13_数字录音机 实验14_串行通信实验 实验15_DMA传送C 实验16_集成电路测试 实验17_电子琴 实验19_步进电机控制实验 实验20_小...
本报告涵盖了四个关键实验,分别是数据传输实验、点亮二极管、单片机流水灯实验和数码管显示实验。这些实验旨在帮助学生掌握单片机的编程、硬件连接和调试技能。 **数据传输实验** 在数据传输实验中,主要目标是...
实验内容可能包括基础操作,如LED灯控制、串行通信、定时器应用、中断处理等,进阶实验则可能涉及A/D转换、D/A转换、电机控制等复杂系统。 实验部分包括实验1到实验7,涵盖了从简单的单片机初始化和基本输入输出...
* 实验四:七段数码管实验,验证了数码管显示数字的原理。 六、实验总结 * 本次实验中,我们掌握了基本的 I/O 实验、简单并行接口实验、可编程并行接口 8255 实验和七段数码管实验的原理和方法。 * 我们学习了如何...
本设计报告关注的是一个基于唐都-PIT试验箱的小型步进电机控制系统,该系统利用8255并行接口电路、LED七段数码管和8086CPU来实现对步进电机的调速、方向控制。 设计目标旨在培养学生解决计算机应用问题的能力,提高...
音响放大器设计是电子工程领域中的一个重要组成部分,特别是在音频系统中。这个名为"音响放大器.rar_equalvuw_multisim_...通过Multisim的仿真和实验,可以提高对电路原理的理解,同时也锻炼了实际操作和问题解决能力。