display-开发板上四位七段数码管的显示模块
2013-04-03 10:13
309 查看
原理:
时分复用(轮流控制八位数码管的显示)
共阳连接(这样另一端为0的时候,会显示,为1的时候,不显示)
module display(
input wire clk,
input wire [15:0] digit,//显示的数据
output reg [ 3:0] node, //4个数码管的位选
output reg [ 7:0] segment);//七段+小数点
reg [3:0] code = 4'b0;
reg [15:0] count = 15'b0;
always @(posedge clk) begin
case (count[15:14])
//不同时间段显示不同的位。
2'b00 : begin
node <= 4'b1110;
code <= digit[3:0];
end
2'b01 : begin
node <= 4'b1101;
code <= digit[7:4];
end
2'b10 : begin
node <= 4'b1011;
code <= digit[11:8];
end
2'b11 : begin
node <= 4'b0111;
code <= digit[15:12];
end
endcase
case (code)//十六进制的显示,这是共阳连接,当信号为低电平时,显示。
4'b0000: segment <= 8'b11000000;
4'b0001: segment <= 8'b11111001;
4'b0010: segment <= 8'b10100100;
4'b0011: segment <= 8'b10110000;
4'b0100: segment <= 8'b10011001;
4'b0101: segment <= 8'b10010010;
4'b0110: segment <= 8'b10000010;
4'b0111: segment <= 8'b11111000;
4'b1000: segment <= 8'b10000000;
4'b1001: segment <= 8'b10010000;
4'b1010: segment <= 8'b10001000;
4'b1011: segment <= 8'b10000011;
4'b1100: segment <= 8'b11000110;
4'b1101: segment <= 8'b10100001;
4'b1110: segment <= 8'b10000110;
4'b1111: segment <= 8'b10001110;
default: segment <= 8'b00000000;
endcase
count <= count + 1;
end
endmodule
时分复用(轮流控制八位数码管的显示)
共阳连接(这样另一端为0的时候,会显示,为1的时候,不显示)
module display(
input wire clk,
input wire [15:0] digit,//显示的数据
output reg [ 3:0] node, //4个数码管的位选
output reg [ 7:0] segment);//七段+小数点
reg [3:0] code = 4'b0;
reg [15:0] count = 15'b0;
always @(posedge clk) begin
case (count[15:14])
//不同时间段显示不同的位。
2'b00 : begin
node <= 4'b1110;
code <= digit[3:0];
end
2'b01 : begin
node <= 4'b1101;
code <= digit[7:4];
end
2'b10 : begin
node <= 4'b1011;
code <= digit[11:8];
end
2'b11 : begin
node <= 4'b0111;
code <= digit[15:12];
end
endcase
case (code)//十六进制的显示,这是共阳连接,当信号为低电平时,显示。
4'b0000: segment <= 8'b11000000;
4'b0001: segment <= 8'b11111001;
4'b0010: segment <= 8'b10100100;
4'b0011: segment <= 8'b10110000;
4'b0100: segment <= 8'b10011001;
4'b0101: segment <= 8'b10010010;
4'b0110: segment <= 8'b10000010;
4'b0111: segment <= 8'b11111000;
4'b1000: segment <= 8'b10000000;
4'b1001: segment <= 8'b10010000;
4'b1010: segment <= 8'b10001000;
4'b1011: segment <= 8'b10000011;
4'b1100: segment <= 8'b11000110;
4'b1101: segment <= 8'b10100001;
4'b1110: segment <= 8'b10000110;
4'b1111: segment <= 8'b10001110;
default: segment <= 8'b00000000;
endcase
count <= count + 1;
end
endmodule
相关文章推荐
- VERILOG实现四位七段数码管显示
- android 显示(display)模块驱动详解(1)
- div_显示隐藏简单例子2(displayDiv.js)
- webrtc之视频显示模块--video_render
- C#--Winform项目核心模块-基于DataTable显示全部成绩
- lvdisplay命令_Linux lvdisplay 命令用法详解:显示逻辑卷属性
- 关于 semantic ui 用 v-if 控制模块显示 下拉弹窗出不来的问题
- Snowball开发板通信模块介绍
- S3C2440开发板上BMP图片的显示之三
- 2015/11/3用Python写游戏,pygame入门(3):字体模块、事件显示和错误处理
- 在table中<tr>的display:block显示布局错乱
- Xilinx basys2开发板 数码管动态显示 以及 数码管封装
- 在部署一个IIS7程序时的问题 模块列表中不存在为此处理程序指定的一个或多个模块。如果您尝试添加脚本 映射,则 IsapiModule 或 CgiModule 不会显示在模块列表中
- 7.windbg script - 显示所有模块文件头
- f12,看到有些input标签没有display=none的表述,为什么该input却没有显示在页面上,即为什么隐藏了?
- 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
- discuz x3在DIY模块中调用伪静态不成功,显示动态链接的解决办法
- SharePoint显示来自相同网站集另一个站点的列表 Display SharePoint list from another site
- 【转】游戏玩家的图形显示设置指南 (The Gamer's Graphics & Display Settings Guide)
- jquery控制css的display(控制元素的显示与隐藏)