差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
stepmxo2-lab10 [2018/08/28 16:16]
group001 创建
stepmxo2-lab10 [2021/09/09 18:07] (当前版本)
gongyusu
行 1: 行 1:
-=====实验目的=====+## 七段数码管 
 + 
 +### 1. 实验目的
   * (1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法;   * (1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法;
   * (2)通过实验理解和掌握数码管驱动;   * (2)通过实验理解和掌握数码管驱动;
   * (3)学习用Verilog HDL描述数码管驱动电路。   * (3)学习用Verilog HDL描述数码管驱动电路。
-=====实验任务=====+ 
 +### 2. 实验任务
 在数码管上显示数字。 在数码管上显示数字。
-=====实验原理=====+ 
 +### 3. 实验原理
 数码管是工程设计中使用很广的一种显示输出器件。一个7段数码管(如果包括右下的小点可以认为是8段)分别由a、b、c、d、e、f、g位段和表示小数点的dp位段组成。实际是由8个LED灯组成的,控制每个LED的点亮或熄灭实现数字显示。通常数码管分为共阳极数码管和共阴极数码管,结构如下图所示:\\ ​ 数码管是工程设计中使用很广的一种显示输出器件。一个7段数码管(如果包括右下的小点可以认为是8段)分别由a、b、c、d、e、f、g位段和表示小数点的dp位段组成。实际是由8个LED灯组成的,控制每个LED的点亮或熄灭实现数字显示。通常数码管分为共阳极数码管和共阴极数码管,结构如下图所示:\\ ​
 {{::​数码管结构1.png?​nolink&​600|}}\\ {{::​数码管结构1.png?​nolink&​600|}}\\
行 13: 行 17:
 {{::​数码管表格_1.png?​nolink&​600|}}\\ {{::​数码管表格_1.png?​nolink&​600|}}\\
 这其实是一个4-16译码器,如果我们想数码管能显示16进制可以全译码,如果只想显示数字,可以只利用其中10个译码 这其实是一个4-16译码器,如果我们想数码管能显示16进制可以全译码,如果只想显示数字,可以只利用其中10个译码
-=====Verilog HDL建模描述=====+ 
 +### 4. 用CircuitJS查看 
 +{{:​7seg.mp4|}} 
 + 
 + 
 +### 5. Verilog HDL建模描述
 数码管驱动清单segment.v \\  数码管驱动清单segment.v \\ 
 +<code verilog>
   module segment   module segment
    (    (
行 45: 行 55:
    ​assign segment_led_2 = seg[seg_data_2];​    ​assign segment_led_2 = seg[seg_data_2];​
   endmodule   endmodule
-=====实验步骤===== +  </​code>​ 
-  - 打开Lattice Diamond,建立工程 + 
-  ​- ​新建Verilog HDL设计文件,并键入设计代码 +### 6. 实验步骤 
-  ​- ​综合并分配管脚,输入信号连接到开关和按键,输出信号接到数码管{{::​数码管管脚1.png?nolink&​300|}} +1 登录[[https://​www.stepfpga.com|小脚丫FPGA Web IDE系统]],建立工程 
-  - 构建输出编程文件,烧写至FPGA的Flash之中。 + 
-  - 通过按键或者开关来控制相应的数码管显示数字。+新建Verilog HDL设计文件,并键入设计代码 
 +{{ :​webide_7seg_v.jpg?​1000 |}} 
 + 
 +3 设定该代码位顶层文件 
 + 
 +4 点击“逻辑综合”按钮,完成综合,代码无错误会显示完成 
 + 
 +5 点击管脚分配根据代中端口的定义绑定相应的管脚 
 +{{ :webide_7seg.jpg?1000 |}} 
 + 
 +6 点击“FPGA映射”生成可以配置FPGA的JED代码 
 + 
 +7 点击文件下载,鼠标指向“下载JED文件鼠标右键保存到STEPFPGA盘中完成FPGA的编程 
 + 
 +### 7. 显示效果 
 +{{:​7segdemo.mp4|}}