verilog语言共阴极数码管循环显示0-9
时间: 2023-08-01 14:10:06 浏览: 111
数码管循环显示0-9_Vc_
5星 · 资源好评率100%
好的,以下是一个基于Verilog语言的共阴极数码管循环显示0-9的代码:
```
module digit_display(
input clk,
output reg [6:0] seg,
output reg [3:0] com
);
reg [3:0] cnt;
always @(posedge clk) begin
if(cnt == 0) begin
seg = 7'b1000000; //0
com = 4'b1110; //第一个数码管
end
else if(cnt == 1) begin
seg = 7'b1111001; //1
com = 4'b1101; //第二个数码管
end
else if(cnt == 2) begin
seg = 7'b0100100; //2
com = 4'b1011; //第三个数码管
end
else if(cnt == 3) begin
seg = 7'b0110000; //3
com = 4'b0111; //第四个数码管
end
else if(cnt == 4) begin
seg = 7'b0011001; //4
com = 4'b1110; //第一个数码管
end
else if(cnt == 5) begin
seg = 7'b0010010; //5
com = 4'b1101; //第二个数码管
end
else if(cnt == 6) begin
seg = 7'b0000010; //6
com = 4'b1011; //第三个数码管
end
else if(cnt == 7) begin
seg = 7'b1111000; //7
com = 4'b0111; //第四个数码管
end
else if(cnt == 8) begin
seg = 7'b0000000; //8
com = 4'b1110; //第一个数码管
end
else if(cnt == 9) begin
seg = 7'b0010000; //9
com = 4'b1101; //第二个数码管
end
cnt <= cnt + 1;
end
endmodule
```
该代码使用了一个计数器来循环显示0-9。每次计数器达到某个值时,就会将对应的数字码值输出到七段数码管的引脚上,同时通过控制共阴极数码管的引脚,使得相应的数码管被点亮。在时钟的驱动下,该代码可以实现循环显示0-9的功能。
阅读全文