baidu_38302361 2017-05-09 03:15 采纳率: 100%
浏览 2254
已采纳

基于fpga的超声波测距数码管显示

hc—sr04超声波测距模块
50M的fpga板
求可用程序

  • 写回答

2条回答 默认 最新

  • 道亦无名 博客专家认证 2017-05-14 14:00
    关注
    reg    [19:0]  count_div;    //定义分频计数寄存器
    
    always @(posedge clk)       //分频产生1k时钟
    begin
        if(count_div>=20'd100000)
        begin
            count_div<=20'd0;
            clk_1k<=1'b0;
        end
        else
        begin
            count_div <= count_div + 20'b1;
            if(count_div<=20'd50000)
                clk_1k<=1'b0;
            else
                clk_1k<=1'b1;
        end  
    end
    assign dig = dig_r;     //输出数码管选择
    assign seg = {dip,seg_r};   //输出数码管译码结果 
    always @(posedge clk_1k)      //计数进程
    begin
        count <= count + 1'b1;
    end
    always @(posedge clk_1k)         
    begin
        case(count)      //选择扫描显示数据
        3'd0:disp_dat = seg_data1; //第一个数码管
        3'd1:disp_dat = seg_data2; //第二个数码管
        3'd2:disp_dat = seg_data3; //第三个数码管
        3'd3:disp_dat = seg_data4; //第四个数码管
        endcase
        case(count)      //选择数码管显示位
        3'd0:dig_r = 4'b1000;  //选择第一个数码管显示
        3'd1:dig_r = 4'b0100;  //选择第二个数码管显示
        3'd2:dig_r = 4'b0010;  //选择第三个数码管显示
        3'd3:dig_r = 4'b0001;  //选择第四个数码管显示
        endcase 
    end
    always @(disp_dat)
    begin
        case(disp_dat[3:0])    //七段译码  
        4'h0:seg_r=7'b0000001;  //显示0
        4'h1:seg_r=7'b1001111;  //显示1
        4'h2:seg_r=7'b0010010;  //显示2
        4'h3:seg_r=7'b0000110;  //显示3
        4'h4:seg_r=7'b1001100;  //显示4
        4'h5:seg_r=7'b0100100;  //显示5
        4'h6:seg_r=7'b0100000;  //显示6
        4'h7:seg_r=7'b0001111;  //显示7
        4'h8:seg_r=7'b0000000;  //显示8
        4'h9:seg_r=7'b0000100;  //显示9
        4'ha:seg_r=7'b0100000;  //显示a
        4'hb:seg_r=7'b1100000;  //显示b
        4'hc:seg_r=7'b0110001;  //显示c
        4'hd:seg_r=7'b1000010;  //显示d
        4'he:seg_r=7'b0010000;  //显示e
        4'hf:seg_r=7'b0111000;  //显示f
    endcase
        case(disp_dat[7])    //产生小数点
        1'b0:dip=1'b1;
        dip=1'b0;
        endcase
    end
    endmodule
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 爬取豆瓣电影相关处理
  • ¥15 手机淘宝抓清除消息接口
  • ¥15 C#无selenium
  • ¥15 LD衰减计算的结果过大
  • ¥15 用机器学习方法帮助保险公司预测哪些是欺诈行为
  • ¥15 计算300m以内的LD衰减
  • ¥15 数据爬取,python
  • ¥15 怎么看 cst中一个面的功率分布图,请说明详细步骤。类似下图
  • ¥15 为什么我的pycharm无法用pyqt6的QtWebEngine
  • ¥15 FOR循环语句显示查询超过300S错误怎么办