EDA 共阴极动态显示数码管代码
时间: 2023-07-02 17:22:54 浏览: 257
这里是一个使用 Verilog HDL 编写的共阴极动态显示数码管的代码示例。
```
module display(
input wire [3:0] num,
output reg [6:0] seg
);
reg [3:0] count = 4'd0;
reg [3:0] digit = 4'd1;
always @ (posedge clk) begin
count <= count + 1;
if (count == 4'd15) begin
count <= 4'd0;
digit <= digit + 1;
if (digit == 4'd5) digit <= 4'd1;
end
end
always @ (*) begin
case (digit)
4'd1: seg = 7'b111_1110; // 0
4'd2: seg = 7'b011_0000; // 1
4'd3: seg = 7'b110_1101; // 2
4'd4: seg = 7'b111_1001; // 3
default: seg = 7'b111_1111;
endcase
if (count < num) seg[6] = 1'b0;
end
endmodule
```
这个代码示例与前面的例子类似,但是使用了共阴极的数码管。在这个示例中,`seg` 输出信号是一个七位二进制数字,每一位表示一个 LED 灯的状态。共阴极的数码管需要将输出信号设置为低电平才能点亮每个 LED 灯,因此在 `always @ (*)` 语句块中每个数字的输出信号都被设置为相反的值。
另外,如果当前计数器的值小于要显示的数字,那么第七个 LED 灯会被熄灭,以显示一个小数点。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)