基于vhdl的乒乓球游戏机的设计毕业设计(论文)(编辑修改稿)内容摘要:
MPNUM: INTEGER RANGE 0 TO 15。 SIGNAL COUNTER: INTEGER RANGE 0 TO 31。 九江学院大专毕业论文 11 SIGNAL START: STD_LOGIC。 BEGIN PROCESS (CLOCK) BEGIN IF RISING_EDGE (CLOCK) THEN IF START=‘0’THEN 上电后立即对输出的键值赋予无效值 TEMPNUM=15。 此处沿将 15作为无效值 NUMOUT=15。 此无效值务必随实际情况改变 START = ‘1’。 ELSE IF NUMIN=TEMPNUM THEN 上一键值与此键值不同 TENPNUM=NUMIN。 记录此键值 COUNTER= ‘0’。 并对计数器清 0,准备对此键值计时 ELSE IF COUNTER31 THEN。 当键值保持 31 个时钟周期不变时 NUMOUT=NUMIN。 即确定为有效键值,并输出 COUNTER= ‘0’。 ELSE COUNTER=COUNTER+1。 END IF。 END IF。 END IF。 END IF。 END PROCESS。 END。 12 机设计 状态机的 6 种 状态及状态转移 本状态机有 6 种状态,分别是 WAITSTATE、 ATOB、 BTOA、 ASCORE、 BSCORE和 FINALRESULT, 其含义如表 1 所示。 表 1 状态机的 6 种状态及含义 状 态 含 义 WAITSTATE 等待状态 ,等待 A 或 B 方开球 ATOB 球从 A 向 B 方移动 BTOA 球从 B 向 A 方 移动 ASCORE A 得一分 BSCORE B 得一分 FINALRESULT 比赛结束 (最终判分 ),在此状态下需要按复位键,才能开始下一轮比赛 结合表 1, 从图 6 中很清楚地看出乒乓游戏机比赛过程中球的移动情况,及加分方法,还可以初步了解到本状态机设计的基本思路。 九江学院大专毕业论文 13 图 6 乒乓游戏机状态转移图 状态机 /球台控制程序 状态机是种很重要的时序电路,也是本设计的核心部件。 状态机属于时序电路范畴,实现一个控制功能更为方便,并提高了控制速度 [10]。 本次设计中状态机的符号如图 7 所示。 图 7 状态机符号 14 在本设计中, 状态机用两个信号表示状态 : STATE 表示当前状态 , TABLESTATE表示下一个状态。 此状态机由两个进程构成 ,状态机的输入 /输出引脚 的作用如表 2 所示。 其中 SCOREAL[3..0]、 SCOREAH[3..0]、 SCOREBL[3..0]、 SCOREBH[3..0]用七段 BCD 码译码器显示得分情况,而 SCOREA、 SCOREB 用二进制进行加分,由记分器反馈回来。 表 2 输入 /输出引脚的作用 引 脚 作 用 CLK 10Hz 的时钟,可由系统时钟分频得到。 此时时钟决定了球移动的速度, 可根据实际需要调整。 RESET 复位键,比赛重新开始,记分器清 0 STARTA、 STARTB A 和 B 双方的开始的开球键 HITA、 HITB A 和 B 双方的击球键 (可以将其与开球键合并 ) CLEAR 将记分器清 0(给记分器的控制信号 ) INCREASEA 、 INCREASEB 分别为 A、 B 双方的加分信号 (给记分器的控制信号 ) SCOREAL[3..0]SCOREAH[3..0] SCOREBL[3..0]SCOREBH[3..0] SCOREA、 SCOREB A、 B 双方的分数 (由记分器给出 ) LIGHT[4..0] 接 5 个发光二极管 AWIN、 BWIN 分别接发光二极管,表示 A 或 B 方胜出 状态机的程序如下 : LIBRARY IEEE。 九江学院大专毕业论文 15 USE。 ENTITY STATEMACHINE IS PORT (CLK: IN STD_LOGIC。 RESET: IN STD_LOGIC。 STARTA, HITA, STARTB, HITB: IN STD_LOGIC。 SCOREA, SCOREB: IN INTEGER RANGE 0 TO 21。 CLEAR, INCREASEA, INCREASEB: OUT STD_LOGIC。 TABLELIGHT: OUT STD_LOGIC_VECTOR (0 TO 4)。 AWIN, BWIN: OUT STD_LOGIC)。 END。 SIGNAL STATE: STATE_TYPE。 SIGNAL TABLESTATE: INTEGER RANGE 0 TO 4。 BEGIN PROCESS (CLK, RESET) BEGIN IF RESET=39。 139。 THEN 按下复位键,比赛开始 STATE=WAITSTATE。 进入等待状态 CLEAR=39。 139。 记分器清零 AWIN=39。 039。 BWIN=39。 039。 CASE STATE IS WHEN WAITSTATE= CLEAR=39。 039。 INCREASEA=39。 039。 INCREASEB=39。 039。 IF((SCOREA =21 ) OR ( SCOREB=21) )THEN如果一方 先得到 21分 STATE=FINALRESULT。 比赛结束 16 ELSE IF STARTA=39。 139。 THEN 如果 A 开球 STATE=ATOB。 球从 A 向 B 方移动 TABLESTATE=0。 A 方第一个灯点亮 ELSE IF STARTB=39。 139。 THEN 如果 B 开球 (A、 B 开球有 定的优先级区别 STATE=BTOA。 球从 B 向 A 方移动 TABLESTATE=4。 B 方第一个灯亮 ELSE STATE=WAITSTATE。 END IF。 END IF。 END IF。 WHEN ATOB= 球从 A 向 B 移动的过程 IF HITB=39。 139。 THEN 如果检测到 B 方击球 IF TABLESTATE=2 THEN 若未过网提前击球 STATE=ASCORE。 判为 A 胜 ELSE STATE=BTOA。 若过了网击球,球从 B 向 A 移动 ELSE 若未检测到 B 方击球 IF TABLESTATE=4 THEN 如果离 B 方最近的灯 已经亮 STATE=ASCORE。 判为 A 胜 ELSE TABLESTATE=TABLESTATE+1。 否则球继续移动 九江学院大专毕业论文 17 END IF。 WHEN BTOA= 球从 B 向 A 移动的过程 IF HITA=39。 139。 THEN 如果检测 A 方击球 IF TABLESTATE=2 THEN 若未过网提前击球 STATE=BSCORE。 判为 B 胜 ELSE 若过了网击球,球从 A STATE=ATOB。 向 B 移动 END IF。 ELSE 若未检测到 A 击球 IF TABLESTATE=0 THEN 如果离 A 最近的灯亮了 STATE=BSCORE。 判为 B 胜 ELSE TABLESTATE=TABLESTATE1。 否则球继续移动 END IF。 END IF。 WHEN ASCORE= 如果 A 胜 INCREASEA=39。 139。 A 方加 1分 STATE=WAITSTATE。 回到等待开球状态 WHEN BSCORE= 如果 B 胜 INCREASEB=39。 139。 B 方加 1分 STATE=WAITSTATE。 回到等待开球状态 WHEN FINALRESULT= 最后结果 IF(SCOREA=21) THEN 若 A 方先达到 21分 AWIN=39。 139。 表示 A 方胜出的灯亮 ELSE BWIN=39。 139。 否则,表示 B 方胜出的灯亮 18 END IF。 WHEN OTHERS= END CASE。 END IF。 END PROCESS。 PROCESS(CLK)。基于vhdl的乒乓球游戏机的设计毕业设计(论文)(编辑修改稿)
相关推荐
和 Expression Blend,这些工具将为程序员与设计人员节省更多的编码时间。 总而言之,通过 WPF, .NET Framework 提供了一种比较完整和一致的解决方案,以用于应对用户界面方面的难题。 数独的通解方法 数独解法全是由规则衍生出来的,基本解法分为两类思路,一类为基础摒除法,一类为 唯一法 [9]。 基础摒除法就是利用 1~ 9 的数字在每一行、每一列
烟草机械有限责任公司 利用交流伺服系统对 ZJ15 卷接机组进行了技术改进 , 改进后原设备传动结构大大简化 [12]。 主要改进是 采用交流伺服系统独立驱动粗、细钩子辊, 解决 ZJ15 机组 二次定量供丝存在烟丝供给不均匀的问题 [13]。 20xx 年 许昌烟机还对 卷烟供丝 系统 中所应用的交流伺服控制系统的基本结构、伺服 电动机 的工作特性及其性能 进行总结 [14],
the analogical fixture. One is to set the value. If the values of similarity measure of current cases were less than a given value, those cases would not be selected as analogical cases. When the
,而用于累加器的相位增量量化值决定了信号的输出频率,并呈现简单的线性关系。 DDS 就 是根据上述原理而设计的数控频率合成器。 由上面的推导过程可得出: ffclkout .2NB 2. FSK 调制器原理 FSK(频移键控)是用数字信号来控制正弦波的频率,使正弦波的频率随数字信号的变化而变化。 FSK 信号以不同频率值的正弦波来表示数字码元,如果有 M 个码元,则选择 M 个频率 值:
个部分, 能完成从电路的仿真设计到电路版图生成的全过程。 Multisim、 Ultiboard、 Ultiroute 及 Commsim 4 个部分相互独立,可以分别使用。 Multisim、 Ultiboard、 Ultiroute 及 Commsim 4 部分有增强专业版( Power Professional)、专业版( Professional)、个人版( Personal)、教育版(
GameFrame extends JFrame { private GamePanel gp = new GamePanel()。 private ImageUtil iu = new ImageUtil()。 // 加载图片的工具 public GameFrame() { init()。 } public void init() { (gp)。 // 加 入画纸 (540 + 4, 440