` 数码管我就不做太多的介绍了 分为共阴和共阳两种
对应的GPIO管脚 给四位位选设置为0则开启数码管
数码管的显示又分为动态显示和静态显示 静态显示即每个数码管显示相同的数字(如果要显示不同的数字需要占用很多io) 动态显示即每个数码管可以显示不同的数字(通过快速逐位循环显示)
这里先编写一个静态显示的代码 一、首先创建文件,这里我就不重复,可以参考我前面发的帖子
文件其实主要有三部分
1.计时部分 每次计数0.5s将标志位置1并清空计数器
2.数码管显示部分 (注意该数码管是共阴) 根据相应的数字显示
3.数字的更新 根据收到的标志位对数字进行加1
二、最后就是配置物理约束文件,对相应的io进行配置 可通过FloorPlanner配置生成cst文件,也可直接自己编写cst文件
由于在实现代码时候,将代码分成多个Verilog文件时出现了一些问题,这里我将它们写在了一个.v文件中。 (官方代码看起来较复杂,部分代码参考正点原子例程并进行了修改)
三、具体实现 编译
烧入代码
实验展示 每隔0.5s更新一次
这里附带一下代码
等等,这里还有动态显示的代码 动态显示的代码较多我就不一一贴出来了 原理:其中一个数码管显示其他全关闭快速循环,看起来像同时显示4位,其实每次只显示了一位 这里我附带一下动态显示的代码 功能:从1计数到999
部分时钟频率(以及分频)未修改,不过功能实现
`
|