Zedboard---实验五点亮另一个数码管
2017-04-21 16:40
357 查看
Zedboard—实验五点亮另一个数码管
本节实验将点亮上节实验中的另一个数码管。通过频率为500kHz的ssdcat信号来选通两位数码管。开关输入将用到低位switch[3:0]和高位switch[7:4]。计数1ms
输入时钟信号频率为100MHz,计数器计数100000个周期,产生一个脉冲。这里使用一个寄存器来实现:integer count = 0; reg ms_pulse = 0; always @(posedge clk) if (count == 99999) begin count <= 0; ms_pulse <= 1; end else begin count <= count+1; ms_pulse <= 0; end
上述代码实现每隔1个毫秒产生一个脉冲,由此产生ssdcat信号:
always @(posedge clk) if (ms_pulse) ssdcat <= ~ssdcat;
不要忘了初始化ssdcat为零:
initial ssdcat = 0;
如上设计,可以看到两个数码管同时显示,但是没有之前那么亮。当然,显示数字是相同的,因为驱动ssd输出值都是通过Switch[3:0]。
是两个数码管显示不同
交替显示两个数码管,同样输入也使用case语句。声明digit的4位输入:wire [3:0] digit;
接下来设置数字显示值,并且适应位选信号:
assign digit = ssdcat? switch[3:0] : switch[7:4];
代码文件
top.v`timescale 1ns / 1ns
module top
(
input clk,
input [7:0] switch,
output reg [7:0] led,
output reg [6:0] ssd,
output reg ssdcat
);
always @(posedge clk) led <= switch;
wire [3:0] digit;
always @(posedge clk)
case (digit)
0: ssd <= 7'b1111110;
1: ssd <= 7'b0110000;
2: ssd <= 7'b1101101;
3: ssd <= 7'b1111001;
4: ssd <= 7'b0110011;
5: ssd <= 7'b1011011;
6: ssd <= 7'b1011111;
7: ssd <= 7'b1110000;
8: ssd <= 7'b1111111;
9: ssd <= 7'b1110011;
10: ssd <= 7'b1110111;
11: ssd <= 7'b0011111;
12: ssd <= 7'b1001110;
13: ssd <= 7'b0111101;
14: ssd <= 7'b1001111;
15: ssd <= 7'b1000111;
endcase
integer count = 0;
reg ms_pulse = 0;
always @(posedge clk)
if (count == 99999)
begin
count <= 0;
ms_pulse <= 1;
end
else
begin
count <= count+1;
ms_pulse <= 0;
end
always @(posedge clk) if (ms_pulse) ssdcat <= ~ssdcat;
assign digit = ssdcat ? switch[3:0] : switch[7:4];
endmodule
硬件效果
原文连接
相关文章推荐
- Zedboard---实验四驱动7段数码管
- 我的 FPGA 学习历程(08)—— 实验:点亮单个数码管
- 2*8键盘数码管显示实验
- STC89C52单片机实验1-点亮一个发光二极管
- ZedBoard--(4)嵌入式Linux下的LED实验(PS + PL)
- Verilog 扫描数码管 5461BS 实验代码
- 数据结构实验之串二:字符串匹配(查看一个字符串是否为另一个字符串的子串)
- nios II--实验7——数码管IP硬件部分
- 新手必看Micropython只四位数码管显示实验
- 【实验】动态显示二位七段数码管
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块
- 按键盘数码管流动显示实验
- PIC16F877A开发板 数码管动态扫描实验
- 数码管显示单元的实验
- 点亮LED(跑马灯实验和流水灯实验)
- 2.计数器-点亮数码管
- 实验2:small rtos51-------数码管控制
- ZigBee基础实验-点亮第一个LED
- 两位数码管循环显示00~99的实验
- Zedboard学习(三):PL下流水灯实验 标签: fpgazynqPL 2017-07-05 11:09 21人阅读 评论(0)