1824|0

21

帖子

0

资源

一粒金砂(中级)

【Perf-V评测】之 8段数码管 [复制链接]

本帖最后由 eew_3sqZMg 于 2021-1-28 17:32 编辑

澎峰的Demo里还真没有七段数码管的实验,可能这种太基础的大佬们都没看在眼里。对我等小白来说做个数码管实验还是能找找存在感滴。标题叫8段数码管是因为目前七段数码管都带一个小数点DP,因此就成了8段,但大家还是习惯叫七段数码管。搜索了一番我的盒子,总算找到俩个数码管。比较MINI,不知道是共阴还是共阳。

image.png 用万用表测量了一下,是共阳极二极管。

image.png image.png

其中左上角1号脚和右下角6号脚是公共阳极,2-5号,7-10分别对应于f\g\e\d\dp\c\b\a段发光二极管。数码管有了,接着确定该怎么跟板子连接。Perf-V的板子最容易连接的就是开发板的arduino接口,接口每个引脚都有200欧的限流电阻,可以用杜邦线将数码管跟接口连接。

这里,用开发板的D5-D12分别连接数码管的a\b\c\dp\3.3v\d\e\g\f引脚。

时钟选择开发板外部输入的50MHz时钟作为输入。

电源输入选择板子上的3.3v电源输入。

接下来开始写verilog代码:

module decoder_7_seg(
input CLK,
input [3:0] D,
output reg [7:0] SEG
);
always @(posedge CLK)
begin
case(D)
4'd0: SEG <= 8'b00000011;
4'd1: SEG <= 8'b10011111;
4'd2: SEG <= 8'b00100101;
4'd3: SEG <= 8'b00001101;
4'd4: SEG <= 8'b10011001;
4'd5: SEG <= 8'b01001001;
4'd6: SEG <= 8'b01000001;
4'd7: SEG <= 8'b00011111;
4'd8: SEG <= 8'b00000001;
4'd9: SEG <= 8'b00001001;
default: SEG <= 8'b11111111;
endcase
end
endmodule

编译、综合实现过程都类似,分配引脚时尤其要注意高低位跟数码管的分段对应好,xdc引脚约束如下:

set_property IOSTANDARD LVCMOS33 [get_ports {D[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {D[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {D[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {D[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {SEG[0]}]
set_property PACKAGE_PIN K13 [get_ports {D[0]}]
set_property PACKAGE_PIN L14 [get_ports {D[1]}]
set_property PACKAGE_PIN T15 [get_ports {D[3]}]
set_property PACKAGE_PIN N14 [get_ports CLK]
set_property IOSTANDARD LVCMOS33 [get_ports CLK]
set_property PACKAGE_PIN N13 [get_ports {SEG[7]}]
set_property PACKAGE_PIN R11 [get_ports {SEG[6]}]
set_property PACKAGE_PIN R10 [get_ports {SEG[5]}]
set_property PACKAGE_PIN T5 [get_ports {SEG[4]}]
set_property PACKAGE_PIN R6 [get_ports {SEG[3]}]
set_property PACKAGE_PIN R13 [get_ports {SEG[2]}]
set_property PACKAGE_PIN R7 [get_ports {SEG[1]}]
set_property PACKAGE_PIN T13 [get_ports {SEG[0]}]
set_property PACKAGE_PIN M14 [get_ports {D[2]}]

烧写到板子上,用拨码开关SW4对应D0,SW3对应D1,SW2对应D2,SW1对应D3输入,拨动拨码开关就会将对应的二进制转化为相应的十进制数显示出来。

sw1 sw2 sw3 sw4 :0000 ---->段码: 8'b00000011 ----> 数字0

sw1 sw2 sw3 sw4 :0001 ----> 段码:8'b10011111; ----->数字1

sw1 sw2 sw3 sw4 :0010 ----> 段码:8'b00100101; ----->数字2

sw1 sw2 sw3 sw4 :0011 ----> 段码:8'b00001101;----->数字3

sw1 sw2 sw3 sw4 :0100 ----> 段码:8'b10011001; ----->数字4

sw1 sw2 sw3 sw4 :0101 ----> 段码: 8'b01001001; ----->数字5

sw1 sw2 sw3 sw4 :0110 ----> 段码: 8'b01000001; ----->数字6

sw1 sw2 sw3 sw4 :0111 ----> 段码:8'b00011111; ----->数字7

sw1 sw2 sw3 sw4 :1000 ----> 段码:8'b00000001; ----->数字8

sw1 sw2 sw3 sw4 :1001 ----> 段码:8'b00001001; ----->数字9

image.png

image.png

image.png image.png image.png

image.png

 

image.png

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/8 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表