FPGA入门:野火DEMO上的数码管控制与74HC595应用
需积分: 11 117 浏览量
更新于2024-07-15
收藏 11.75MB PDF 举报
本篇FPGA入门笔记主要围绕野火FPGA征途系列开发板中的数码管驱动部分展开,适合那些希望通过实践学习FPGA编程的人。核心内容涉及了八段数码管的工作原理,以及如何使用74HC595位移寄存器来控制其显示。以下是关键知识点的详细解析:
1. **数码管基础**:
八段数码管是一种常见的数字和字符显示器件,通常有共阴极和共阳极两种类型。在该笔记中,提到的是共阴极结构,其中低位(Q7)对应最低位,高位(Q0)对应最高位,且低电平有效。
2. **74HC595控制逻辑**:
- 8位串行输入(DS数据输入端口)接收要显示的数值,逐位通过Q7S与DS级联。
- 位选先传输最低位(Q7),段选先传输最高位(Q0),这有助于正确驱动数码管的各个段。
- **控制信号**:`stcp`(存储寄存器时钟输入片选与段选的产生)在14个信号传输完成后产生一个上升沿,用于同步显示更新。
- `shcp`(移位寄存器时钟输入)则用于产生四分频的移位时钟,确保数码管按顺序显示。
3. **代码实现**:
- `always @(posedges sys_clk or negedges sys_rst_n)`块展示了时序逻辑,当系统时钟上升沿或复位信号下降沿到来时,执行相应操作。
- 当系统处于复位状态时,数码管显示IDLE(闲置状态,不显示)。
- 使用`if-else`语句根据`num`变量的不同值(0-15分别对应0-9和A-F),将相应的数码管段配置到`seg`信号上。
- 当计数器`cnt_bit`达到13(所有位已传输完毕)且`cnt_4`为3(四分频的第三个周期),`stcp`变为高电平,触发数码管的显示更新。
4. **控制流程**:
- 数据首先通过串行方式写入74HC595的DS端口,然后通过时钟(shcp)的四分频移位操作,逐位传输到数码管各段。
- 段选信号由`stcp`控制,确保所有段同时显示正确的位置和状态。
- 通过这种方式,可以灵活地用FPGA实现对数码管的动态控制,实现简单的数字和字符显示功能。
这篇笔记提供了使用FPGA设计和驱动数码管的基本步骤,适合初学者理解数字逻辑和硬件编程在实际应用中的运作。通过理解和实现这些核心代码片段,读者可以逐渐掌握FPGA在嵌入式系统中处理I/O信号的技能。
2023-07-28 上传
2023-12-04 上传
2024-05-24 上传
2023-08-02 上传
2023-09-17 上传
2023-07-30 上传
LasdKhe
- 粉丝: 12
- 资源: 3
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍