文档说明
一:背景介绍:
心理一直有个疙瘩,总感觉不把数码管玩的溜些,觉得少了些什么东西,念头不通畅,说什么也要拿下,于是,有了这篇文档的产生。
二:项目需求:
选用开发板上的2个按键,
当s1按下后,key_cnt计数加2;
当s2按下后,key_cnt计数加1;
选用两个数码管,最大为99;
三:项目分析(重点)(备注:分析清楚后,Visio图,简单+明了+易画)
按键默认为高电平;如果按键按下后,按键值拉低(低电平)
数码管默认显示00;每一次按下后,加1;知道99;然后清零;
数码管使用的是 共阳极;如果置低,则对应数码管点亮;
思维关键点:
数码管部分有一个显示常识,每时每刻,只有一个数码管是亮着的,也只有一个变化;
sel=01,只会是seg0亮;每时每刻,数码管显示的只会是一个值,想要变化值,只能等下一次的sel=01时才可以
sel=10.只会是seg1亮;每时每刻,数码管显示的只会是一个值,想要变化值,只能等下一次的sel=10时才可以
四:硬件电路
单个数码管有 10个引脚 (7个段选+1个小数点)+ 1个片选 + 1个GND ;
(片选端已经内部连接到GND,毕竟是单个数码管,肯定是被选中的,所以片选不突出);
本开发板的数码管电路共有14个引脚
其中,8个引脚是显示 + 6个引脚是控制;
讲述6个引脚:分别为6个数码管的位选端;
图(1) 按键电路
图(2)数码管电路
五:架构设计
5.1 系统整体框图
5.2 FPGA内部框图
六:顶层端口描述(备注:位宽+名称+方向(in or out))
七:关键代码解析
八:时序图
九:Modelsim仿真图
十:曹某人的总结