用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

时间:2024-03-19 09:30:23

基本步骤

1.创建工程和文件(顶层BDF,还有一个virlog HDL 文件)

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

牢记工程名与顶层文件名相同,不然会出现can’t find design entitle,从而编译时出现错误。

2.创建元件:

(1)在新工程中创建两个新文件,在File/save as更改文件名和文件地址,在virlog HDL文件中输入代码如下,此代码中包含一个2-4线译码器。

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(2).在左侧任务导航(project navigator)中“生成代码文件对应的符号模块(create symbol files for current file”以便在BDF中使用,默认可以调用(enabledocking),没有默认的话记得勾选。

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

3.使用元件并画BDF图

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

然后添加输入输出管脚并改名(输出管脚可以命名一组,注意命名格式见上方提示)

输入口网标式界线,注意内容如图:

 

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

 

按照重要参考图指派管脚

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

4.编译

编译前不要忘记在assignments/setting/device里设置闲置管脚三态输出。

5.下载,运行。

 

具体三项的补充步骤及代码:

1.      放置两个2-4译码器模块,则总共有2SW,每组2个;2LED,每组4个,每组SW分别控制其对应的LED组。

(1)对应BDF如图:(对应代码见上)

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(2)对应管脚分配如图:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

2.      设计3-8译码器,注意信号宽度

(1)3-8线译码器的代码如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(2)生成的符号工具如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(3)BDF图如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(3)对应管脚分配如下:

 用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

 3.      自行查阅手册中的七段译码器管脚对应关系,用四个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母。

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(懒惰的我妄图一劳永益… …)

(1)      元件代码如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(2)      生成元件如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(3)      BDF图如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

(4)      管脚分配如下:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管

效果图:

用Quartus实现2-4线,3-8线,4-16线译码器及控制七段数码管