本帖最后由 旧街小巷 于 2021-6-30 22:41 编辑
前段时间看到“高云杯”链接,就去申请了一块MINIEYE的板子。之前倒是没有接触过FPGA的项目,当时申请时填的项目是超声波测距雷达,后来浏览官方教程的时候发现超声波的实验其实已经有了,于是自己在该实验的基础上验证了一下也得到了一样的结果。这篇初探作为演示,注意例程当中的数码管为共阳接法,而本次实验未找到共阳管,于是改了一点里面的数码管显示部分代码,使得可以用共阴数码管显示。
- 开发工具:Gowin_v1.9
- 主板:高云MINI_STAR
- 配件:TypeC USB线
- 例程:高云超声波测距实验
按照官方的说明安装Gowin软件,之后下载例程下来。到工程文件直接双击打开工程便可看到相关文件。
Verilog Files当中包括时钟配置,超声波距离测算,数码管驱动。这里需要改的是之前共阳的管子,共阴显示。所以双击seq_control.v文件,然后将位选信号和段选信号
定义的值改为共阴数码管对应的值。实际只需对每一位依次取反即可。以下为共***分的代码:
- /*===================================================
- 位选择映射共阴
- ===================================================*/
- always @(*)
- begin
- case(sel)
- 2'd0:dig = 4'b0111;
- 2'd1:dig = 4'b1011;
- 2'd2:dig = 4'b1101;
- 2'd3:dig = 4'b1110;
- default:dig = 4'b1111;
- endcase
- end
- //共阴极数码管,为1有效,即点亮
- //===========================================
- always @(*)
- begin
- case(key)
- 4'd0:smg = 8'b0111_1110;//"0" 8'b0111_1110
- 4'd1:smg = 8'b0011_0000;//"1" 8'b0011_0000
- 4'd2:smg = 8'b0110_1101;//"2" 8'b0110_1101
- 4'd3:smg = 8'b0111_1001;//"3" 8'b0111_1001
- 4'd4:smg = 8'b0011_0011;//"4" 8'b0011_0011
- 4'd5:smg = 8'b0101_1011;//"5" 8'b0101_1011
- 4'd6:smg = 8'b0101_1111;//"6" 8'b0101_1111
- 4'd7:smg = 8'b0111_0000;//"7" 8'b0111_0000
- 4'd8:smg = 8'b0111_1111;//"8" 8'b0111_1111
- 4'd9:smg = 8'b0111_1011;//"9" 8'b0111_1011
- default:smg = 8'b0111_1110;
- endcase
- end
修改之后,将菜单切换到Process菜单。依次双击Synthesize和Place&Route。即综合和布线。
之后点击Program Device便可以下载到芯片,注意驱动数码管要加电阻限流。
ult.rar
(856.76 KB)
(下载次数: 14, 2021-6-30 22:34 上传)
9f4f1e606f357d6d579712a8f8fb7d97
更多回帖