智能乒乓球游戏机控制系统的设计
乒乓球游戏机EDA课程设计本

目录1 设计目旳 02 设计规定和任务 02.1设计任务 02.2设计规定 03 总体设计思绪及原理描述 04 分层次方案设计及代码描述 (2)4.1控制模块旳设计 (2)4.1.1 cornal模块分析 (2)4.1.2 cornal模块VHDL程序描述 (3)4.2送数据模块旳设计 (9)4.2.1 ch41a模块分析 (7)4.2.2 ch41a模块VHDL程序描述 (10)4.3产生数码管片选信号模块旳设计 (11)4.3.1 sel模块分析 (11)4.3.2 sel模块VHDL程序描述 (11)4.4 七段译码器模块旳设计 (13)4.4.1 disp模块分析 (13)4.4.2 disp模块VHDL程序描述 (13)4.5 顶层原理图设计 (14)5 各模块旳时序仿真图 (15)6 总结 (18)7 参照文献 (18)乒乓游戏机1 设计目旳掌握熟悉旳使用Quartus II 9.1软件旳原理图绘制, 程序旳编写, 编译以及仿真。
体会使用EDA综合过程中电路设计措施和设计思绪旳不一样。
掌握使用EDA工具设计乒乓游戏机旳旳设计思绪和设计措施。
2 设计规定和任务2.1设计任务设计一种乒乓球游戏机, 该机模拟乒乓球比赛旳基本过程和规则, 并能自动裁判和几分。
2.2设计规定(1)甲乙双方各在不一样旳位置发球或击球。
(2)乒乓球旳位置和移动方向由灯亮及依次点亮旳方向决定, 球移动旳速度为0.1-0.5秒移动一位。
(3)11分为一局, 甲乙双方都应设置各自旳几分牌, 任何一方先记满11分, 该方胜出。
当记分牌清零后, 重新开始。
3 总体设计思绪及原理描述由乒乓游戏机功能, 用原理图作为顶层模块, 再将底层划提成四个小模块来实现:(1)cornal模块: 整个程序旳关键, 它实现了整个系统旳所有逻辑功能;(2)ch41a模块:在数码旳片选信号时, 送出对应旳数据;(3)sel模块: 产生数码管旳片选信号;(4)disp模块: 7段译码器。
电路课程设计乒乓球游戏机

电路课程设计乒乓球游戏机
设计乒乓球游戏机的电路课程项目
摘要:
本项目旨在设计并制作一台乒乓球游戏机。
该游戏机将使用电路和电子元件控制乒乓球的发射和接收,并通过显示器展示游戏进程。
在设计过程中,我们将考虑如何实现乒乓球的移动、球拍的控制、分数的计算和显示等功能。
引言:
乒乓球作为一项流行的体育运动,吸引了全球大量的爱好者。
随着科技的发展,使用电路和电子元件设计一台乒乓球游戏机变得可能。
通过这个项目,学生们将学习到电路的设计和使用、Arduino控制、显示器的驱动、接口设计等知识。
乒乓球自动发球机计算机控制系统的设计

要
为了使练习者能更好地学习乒乓球技术以达到健身和训练的目的, 本文针对乒乓球发球的特点, 从总体上设计了一种新型的乒乓球发球机:自动乒乓球发球机。 本文综述了国内外乒乓球发球机的现 状,对已有发球机的机械结构进行分析,根据所需实现的功能,提出了改进的设计方案。针对该发 球机发球装置的缺陷,采用对转双轮的发球原理,使其能够实现旋转球和不旋球的发射;考虑原摆动 装置的机械结构繁琐,不宜进行自动控制,对其进行了改进设计;此外,增加设计了升降装置,使发 球功能更完善。根据乒乓球飞行过程的受力分析建立了数学模型,分析了控制落球点各参数的合理 取值范围,得出其相互制约关系。论述了该自动乒乓球发球机的设计思想、工作原理、结构特点及 控制系统,并详细介绍了该控制系统的设计过程,具体包括外围设备的选择、电动机的选择、PWM 驱动器的选择等,论证说明了该控制系统的可靠性。 改进后设计的乒乓球发球机是一种新型的、性价比高的自动型发球机,它可以发出各种适合练 习者需要的球,利用计算机对各种球的速度、角度、旋转进行控制,以满足练习者的不同技术需求。 同时设置了随机发球模式,对发球速度、发球角度和发球高度等参数进行随机化,实现落球点的随 机变化。
II
目录
摘 要......................................................... I ABSTRACT...................................................... Ⅱ 目录........................................................... I 第一章 绪 论 ................................................... 1
电子技术乒乓球比赛游戏机课程设计

电子技术乒乓球比赛游戏机课程设计随着时代的发展,电子技术已经成为了人们生活中不可或缺的部分。
作为一项重要的应用领域,电子技术已经广泛地应用于体育竞技中,如乒乓球等运动的比赛中,也出现了一些基于电子技术的游戏机,为人们提供了更加丰富的娱乐方式。
在本文中,我们将介绍一种电子技术乒乓球比赛游戏机的课程设计。
这种游戏机可以帮助学生提高他们的乒乓球技能以及对电子技术的理解和应用。
游戏机的设计思路这个游戏机基于乒乓球比赛的规则,模拟了真实的比赛场景。
这个游戏机提供了两种玩法模式:单人模式和双人模式。
在单人模式下,玩家将与游戏机本身进行比赛。
玩家需要挑战一系列难度逐渐升高的对手。
在每个关卡中,玩家需要击败对手以进入下一轮比赛。
在双人模式中,玩家可以与另一名学生一起进行比赛。
两个玩家将站在游戏机的两侧,互相对抗。
玩家可以选择不同的难度级别来进行比赛。
游戏机的硬件设计这个游戏机的硬件由一个控制器、一个触摸屏、一个运动检测器和一个音响系统组成。
控制器用于控制整个游戏过程,触摸屏用于显示游戏的界面,运动检测器用于检测玩家的乒乓球拍的位置和旋转角度,音响系统用于播放比赛音效和音乐。
在游戏开始前,玩家需要在触摸屏上选择游戏模式、比赛难度以及自己的角色。
玩家还可以在游戏界面中设置音量大小,并选择自己喜欢的音乐。
在游戏中,玩家需要使用乒乓球拍控制屏幕上的乒乓球。
乒乓球将通过投影仪在屏幕上显示。
当乒乓球经过屏幕中心线时,运动检测器将检测到拍的位置和旋转角度。
根据拍的位置和旋转角度,游戏机将计算出对乒乓球的反弹和方向,并将乒乓球投射到屏幕的另一侧。
玩家需要在规定的时间内尽可能击败对手,以赢得比赛。
课程设计由于这个游戏机不仅具有娱乐性,还有助于学生的乒乓球技能和电子技术的理解和应用,因此它可以作为电子技术课程设计的一部分。
以下是一些应包含在课程设计中的关键元素:1.基本的电子电路设计和程序设计:学生需要学习如何设计和实现电路和程序,以控制游戏机的各种功能。
基于FPGA的乒乓球游戏机控制器设计

基于FPGA的乒乓球游戏机设计摘要Verilog是甚高速集成电路硬件描述语言。
目前,verilog已成为许多设计自动化工具普遍采用的标准化硬件描述语言。
verilog语言功能性强,覆盖面广,灵活性高,具有很好的实用性。
本文设计一个基于verilog的乒乓游戏机,乒乓游戏机由状态机、记分器、译码显示器与按键去抖等部分所组成。
通过对各部分编写verilog程序,然后进行编译、仿真、逻辑综合、逻辑适配,最后进行编程下载,并且通过EDA实验箱的验证,实现乒乓游戏机的基本功能。
关键词:verilog;EDA;乒乓游戏机AbstractVERILOG is high speed IC hardware describe language.VERILOG already becomes the language of normalizing hardware describe that a lot of design automation implement adopts commonly at present.The VERILOG language function is strong.The face covering is broad,flexibility high and have the very good pragmatism.One main body of the book is designed waits for what part group is accomplished owing to that VERILOG table tennis game machine,table tennis game machine go to tremble from state machine,marker,decoding display and button.By compiling and composing VERILOG procedure to every part,then compiling, simulate,logic synthesis,logic fitting.Carry out programming time be loaded with finally.Then verification and by GW48type EDA experiment box,realize table tennis game machine’s fundamental function.Key words:VERILOG:EDA;Table tennis game machine目录1绪论 (1)1.1课题的背景和意义 (1)1.2国内外研究现状 (1)1.3本论文的主要内容 (2)2Quartus II与Modelsim软件简介 (3)2.1Quartus II简介 (3)2.2Modelsim简介 (4)3方案选择与系统总体设计 (6)3.1整体方案的选择 (6)3.1.1设计任务与要求 (6)3.1.2设计的原理和方法 (7)3.1.3芯片的选择 (8)3.2系统总体设计 (8)3.2.1乒乓游戏机的组成示意图 (8)3.2.2本系统的逻辑分框图 (9)4系统各部分电路的详细设计 (10)4.1七段数码管显示译码电路 (10)4.2按键去抖电路 (11)4.3状态机设计 (11)4.3.1状态机的6种状态及状态转移 (11)4.3.2状态机/球台控制电路 (13)4.4记分器设计 (15)5系统的整体综合与仿真 (16)5.1顶层文件设计 (16)5.2系统程序框图: (17)5.3整个系统的综合与仿真 (18)5.3.1电路符号 (18)5.3.2系统仿真 (18)6系统的运行与仿真过程 (20)6.1系统程序的编译 (20)6.2系统的仿真 (22)结论 (24)谢辞 (25)参考文献 (26)附录 (27)1绪论1.1课题的背景和意义随着人们的物质生活越来越好了,人们开始对娱乐生活有了新的要求,特别是进入新世纪以来各种电子产品的不断出现,更是促进了我国电子行业的发展,为此,能够推出一款新的游戏产品是非常有前景的,本设计正是考虑了当前的社会现状,想设计出一款“乒乓球”游戏机,以往可能有过这方面的设计出现过,但是那些大多数都是采用的单片机等来实现的,本设计将采用最新的FPGA技术对“乒乓球”游戏机进行实现。
乒乓球比赛游戏机

目录1 课程设计题目、内容与要求………………………………1.1 设计内容………………………………………………1.2 具体要求………………………………………………2 系统设计……………………………………………………2.1 设计思路………………………………………………2.2 系统原理(包含:框图等阐述)与设计说明等内容3 系统实现……………………………………………………注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容4 系统仿真……………………………………………………5 硬件验证(操作)说明……………………………………6 总结………………………………………………………7 参考书目…………………………………………………设计时间:16周、17周组员:黎小晓、王余、易伶1课程设计题目、内容与要求1.1课程设计的题目乒乓球比赛游戏机1.2课程设计目的随着科学技术日益迅速的发展,数字系统已经深入到生活的各个方面。
它具有技术效果好,经济效益高,技术先进,造价较低,可靠性高,维修方便等许多优点。
使我们更加熟练掌握数字系统的设计。
对所学的专业知识有能力更好的应用在实践方面。
1.3课程设计要求(1)使用乒乓球游戏机的双方在不同位置发球或击球。
(2)乒乓球的位置和移动方向由灯亮和依次亮的方向决定。
使用者根据球的位置发出相应的动作(3)比赛用21分为一局来进行,双方设置各自的记分牌,任意一方先记满21分就获胜此局。
当记分牌清零后,开始新的一局比赛。
1.4课程设计内容设计一个由甲乙双方参赛,有裁判的三人乒乓球游戏机。
用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节。
当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。
乒乓球游戏机设计文库
乒乓球游戏机一.设计题目乒乓球游戏机二.设计任务1.选题意义乒乓球游戏机通过十分巧妙的设计采用数字芯片实现乒乓球左右移动、选手击球、得分、累计得分超10分报警等功能。
该设计三个双向开关J1、J2、J3 分别作为裁判和游戏者A、B,且选手可以从译码显示器上直接读出自己的得分,具有操作简单、结构清晰的优点。
2.设计目标该乒乓球游戏机电路主要有 3 块电路:球台驱动电路、控制电路和计分电路组成。
其中球台驱动电路主要实现游戏者击球完毕后球的左右移动显示位置功能;控制电路实现游戏者 A 和B 击球、裁判对系统初始化的功能;积分电路具有当A 或B 击球有效时加分和当游戏者的分数累计超过10分时报警通知裁判对系统进行初始化以便重新开始比赛计分的功能。
3.设计要求:(1).用8 个发光二极管表示球,用两个按钮分别表示AB 两个球员的球拍;(2).一方发球后,球一固定的速度向另一方运动(发光二极管依次点亮),当球达到最后一个二极管时,对方击球(按下按钮)球向相反的反方向运动,在其他时候击球视为犯规,给对方加1 分;都犯规双方各加1 分;(3).A、B 各有一个数码管计分;(4).裁判有一个按钮,用来对系统初始化,每次得分后按下一次。
三.电路设计与实现1.电路结构电路根据设计要求,该电路须设计3 块短路完成球台驱动、控制和计分功能。
当裁判按下启动按钮时,游戏机电路开始运作。
系统以CP 信号作为球台驱动电路和计数器计分的时钟信号,以8 个二极管的依次被点亮代表球的移动位置,双向选择开关J2、J3 控制发球、击球信号。
电路设计原理图如下图乒乓球游戏机球台电路发光二极管LED 数码管1 计分电路LED 数码管2.球台电路设计球台电路通过两个4 位上相移位寄存器74LS194 接成一个8 位的移位寄存器。
具体接法为:将第一片的左移串行输入端SL 接到第二片的Q0 端,将第二片的右移串行输入端接到第一片的Q3 端,然后将第一片的D0 端和第二片的D3 端制1,同时将剩余的其他几个输入端制0。
EDA课程设计之乒乓球游戏机
EDA课程设计之乒乓球游戏机乒乓球是我国非常流行的一项体育运动,它既可以作为一项竞技运动,也可以作为一项休闲娱乐活动。
乒乓球游戏机是一种将乒乓球运动与电子游戏相结合的娱乐设备,通过电子屏幕和操纵杆模拟真实的乒乓球比赛,使玩家能够在室内环境中享受乒乓球运动的乐趣。
本文将从乒乓球游戏机的设计思路、功能和优势等方面进行详细介绍。
首先,乒乓球游戏机的设计思路是将真实的乒乓球比赛场景还原到电子游戏中。
通过操纵杆控制游戏中的球拍移动,并通过电子屏幕实时显示球的运动轨迹和计分情况,使玩家能够真实地感受到乒乓球比赛的紧张和刺激。
同时,乒乓球游戏机还可以根据玩家的操作水平设置不同的难度,提供多种游戏模式和关卡,使游戏更具娱乐性和挑战性。
其次,乒乓球游戏机的主要功能包括游戏模式选择、角色扮演、多人对战、即时对战等。
玩家可以根据自己的喜好选择不同的游戏模式进行游戏,例如单人模式、双人模式、联网对战模式等。
在游戏过程中,玩家可以选择不同的角色扮演,并通过不断挑战更高难度的关卡来提高自己的技术水平。
同时,乒乓球游戏机还支持多人对战和即时对战功能,玩家可以与朋友或其他玩家进行真人对战,增加游戏的互动性和竞技性。
乒乓球游戏机的优势主要体现在以下几个方面。
首先,乒乓球游戏机可以在室内环境中提供真实的乒乓球比赛体验,避免了受天气、场地等外界因素的影响。
其次,乒乓球游戏机采用电子屏幕显示球的运动轨迹和计分情况,可以实时调整比赛难度和计分规则,方便了玩家的操作和记录。
再次,乒乓球游戏机支持多种游戏模式和关卡,玩家可以根据自己的喜好选择不同的游戏方式,增加了游戏的可玩性和趣味性。
最后,乒乓球游戏机还可以通过联网对战功能,与其他玩家进行真人对战,增加了游戏的竞技性和社交性。
总之,乒乓球游戏机是一种将乒乓球运动和电子游戏相结合的娱乐设备,通过电子屏幕和操纵杆模拟真实的乒乓球比赛,使玩家能够在室内环境中享受乒乓球运动的乐趣。
它的设计思路是将真实的乒乓球比赛场景还原到电子游戏中,主要功能包括游戏模式选择、角色扮演、多人对战、即时对战等。
乒乓球发球机控制器软件设计毕业设计
乒乓球发球机控制器软件设计摘要本文针对乒乓球发球的特点,模拟设计了一种乒乓球发球机控制器。
该发球机控制器由8位单片机STC89C51为核心的硬件电路和相关软件编程组合而成。
实现改变发球速度、发球高度及角度等的功能,以满足练习者的不同技术需求,同时设置了随机发球模式,实现落球点的随机变化。
本课题的软件设计采用了主函数调用各状态子程序的方法,完成了按键控制、液晶显示、驱动电机调速的功能。
配合本组同学的硬件设计完成了单片机外围硬件电路的设计,其中包括电动机驱动模块、键盘模块及液晶显示模块。
最后我们在完成硬件电路的分析和软件模块调试的基础上,进行了联机调试,对各模块电路实行软硬件检测,有效地将两者结合起来,完成了系统的整体控制。
关键词:乒乓球发球机,控制器,发球模式,单片机ABSTRACTConsidering the characteristics of the table tennis served,the thesis designs a kind of table tennis serving controller. It is consist of traditional 8 monolithic integrated circuitsSTC89C51 for the hardware circuit design and related software C51 for programming design. It can accomplish the function of changing the ball's speed,altitude and angle,in order to satisfy the needs of people. Meanwhile the random serving patten was designed and the fall points of the table tennis become randomly.The software in this essay is designed using the form that the main function calls a subroutine,and finishing the function of button control,liquid crystal display,drive motor speed regulation.The hardware design produced a peripheral circuit of monolithic integrated circuits including the drive motor module,keyboard module and LCD display module. Finally,on the basis of finishing hardware circuit analysis and software module debug, we match the soft and hardware and test all modules carefully, then the basic function of the system achieves the desired effect.KEYWORDS: the table tennis serving machine,controller,serving pattern,single chip microcomputer目录第一章绪论 (1)1.1本课题的研究背景和意义 (1)1.2国内外乒乓球发球机的研究现状 (1)1.2.1国外乒乓球发球机的研究现状 (2)1.2.2国内乒乓球发球机的研究现状 (4)1.3本课题研究内容与设计步骤 (5)1.3.1本课题研究内容 (5)1.3.2本课题设计步骤 (6)第2章乒乓球发球机控制器设计分析 (8)2.1乒乓球发球机的结构及电动机选择 (8)2.2主控单片机的选型 (9)2.2.1单片机的主要特性 (9)2.3液晶显示芯片的选择 (10)2.3.1 LCD12864引脚说明 (11)2.3.2 LCD12864工作时序 (12)2.4驱动芯片的选择 (13)2.4.1 L298N引脚说明 (13)2.5步进电机的调速方法 (15)2.5.1步进电动机概述 (15)2.5.2步进电动机的调速 (15)2.6直流电动机的调速方法 (15)2.6.1直流电动机概述 (15)2.6.2直流电动机的调速 (16)第3章乒乓球发球机控制器硬件设计 (17)3.1总体设计 (18)3.2单片机的最小系统 (18)3.3驱动电路模块 (19)3.4按键电路模块 (20)3.5LCD液晶显示电路模块 (20)第4章乒乓球发球机控制器软件设计 (21)4.1系统软件设计概述 (21)4.1.1 软件程序编写的原则 (21)4.1.2 程序设计方法 (22)4.1.3 软件设计步骤 (23)4.2编译软件介绍 (23)4.3系统各部分流程图 (24)4.3.1 主程序流程 (24)4.3.2 LCD12864流程 (25)4.3.3 按键流程 (27)4.3.4 电机驱动流程 (29)4.3.4.1 直流电机驱动流程 (30)4.3.4.2 步进电机驱动流程 (31)第5章系统调试 (32)5.1硬件调试 (32)5.1.1 硬件静态调试 (32)5.1.2 硬件动态调试 (33)5.2软件调试 (33)5.3联机调试 (34)5.4调试结果 (35)第6章结束语 (37)6.1总结 (37)6.2心得体会 (37)致谢 (38)参考文献 (39)附录 (40)附录一硬件实物图 (40)附录二硬件原理图 (41)附录三程序 (42)第一章绪论本章从该课题的研究背景出发,提出了本设计的必要性。
基于单片机的乒乓球游戏系统的设计
基于单片机的乒乓球游戏系统的设计1.引言1.1设计背景众所周知,在日常娱乐生活中,智能化的娱乐产品非常流行。
单片机具有功能强、可靠性高、使用方便、体积小及重量轻等优点。
国外已广泛应用于自动化控制的各个领域。
近年来,国内的单片机技术与产品开发应用方面的发展也很快,各种电子产品已越来越多地采用单片机控制系统且性价比高。
本次课程设计我们从实用的角度以AT89C51单片机为核心设计了一种智能“乒乓球”游戏机。
乒乓球是中国的国球,在中国拥有众多的喜爱者。
此次设计不仅融入了现实比赛的娱乐性,更结合了传统的电子产品的小巧和便携性。
本系统由AT89C51单片机,LCD显示屏,按键等组成系统。
以51系列单片机为中心控制器件,用液晶显示器来模拟乒乓球的运动,实现2人游戏,乒乓球的运动速度分级可调,能显示游戏比分,有击、接球的声音效果等,还可以扩展开、关机音乐,语音对话功能等。
1.2功能说明本次设计的乒乓球游戏机是以AT89C51单片机为核心的,选用12864-12型LCD显示屏,通过LCD显示点阵依来模拟乒乓球的运动。
设计中选用了左右各3个游戏按键来模拟球拍和方向选择判断,其中两个键模拟左右2个球拍,按下代表球拍击球。
“左拍”按下可使LCD点阵从左向右依次点亮,如图乒乓球从左向右飞来;反之,“右拍”按下则可使LCD点阵从右向左依次点亮,代表球从右向在运动。
而第三个键则作为方向选择键,可增加游戏的趣味性。
本游戏供一到两人玩,以一方按键(发球)开始,这时乒乓球就向对方运动,接球方应在乒乓球到达终点之前击球。
如果击球时机合适,则把球击回,算得分;否则就算失误,由对方重新发球。
游戏过程中,LCD显示屏上还要显示双方比分。
对游戏实现方法做如下说明:(1)乒乓球移动速度是可调的,通过拨盘开关可实现改变乒乓球移动速度;(2)接球方的接球动作应在球到达本方最后一位LCD点阵之前发出,若接球成功则球向相反方向运动,接球方得分,乒乓球移动到最后一位后停止运动,此后接球方变为发球方,游戏继续;(3)如果接球方提前或迟后击球,则接球方失误,双方都不得分,乒乓球停止运动,LCD显示屏上显示得分,原发球方重新发球,游戏继续。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、确定输入和输出变量
• 输入变量:clk2hz指一个2Hz的时钟输入, rst异步复位, k_a和k_b是比赛双方按键。 • 输出变量:speaker是蜂鸣器led8s是一排8 个发光二极管代表球场, led7s1~4是4个显 示分数的数码管, led7s5是显示发球权的数 码管。
五、确定输入状态
• 考虑到游戏的复杂度,采用状态机来实现这些模式转换。 用到8个状态,如下所示: • 状态功能S0复位状态,也是判断发球权的状态S1甲方发 球S2球从甲方向乙方右移,若此时乙方接球就给甲方加一 分,并将球权给甲方S3开始判断乙方是否在0.5S内接球 S4乙方发球S5球从乙方向甲方左移,若此时甲方接球就给 乙方加一分,并将球权给乙方S6开始判断甲方是否在 0.5S内接球S7用于接球后判断发球
• • • • • • • • • • • • • • • • • •
s0: begin
示发球权可以开始判断了;
led7s5<=7'b0111111;//第五个数码管显示数字0,表
led8s<=7'b00000000; score_a<=0; score_b<=0;//给甲乙双方的分数复位; if(k_a) begin speaker<=1'b1;//因为按 键k_a要持续按着保持高电位'1',蜂鸣器鸣叫是提示可以松手了; state<=s7; end else if(k_b) begin speaker<=1'b1; state<=s7;
• always @(posedge clk2hz) begin • case(state) • s7: begin • if(k_a) • state<=s1; //甲发球; • else if(k_b) • state<=s4;//乙发球; • else if(speaker) • speaker=1'b0; • else • speaker=1'b0; • end
题目:智能乒乓游戏机控制系统 的设计
一、大作业摘要
目前以硬件描述语言(Verilog 或 VHDL) 所完成的电路设计,可以经过简单的综合 与布局,快速的烧录至 FPGA 上进行测 试,是现代 IC 设计验证的技术主流。本 实验应用现学的知识为基础,完成的一个 智能乒乓球游戏机控制系统,下面是我的 作品。
用户1接球 (key1按下)
No
用户2数码管加1
Yes
蜂鸣器响,数码管 反向移动
八、状态机设计(状态转换图)
九、状态机设计(状态编码)
• module pingpangok(state,clk2hz,rst,k_a,k_b,led8s, led7s1,led7s2,led7s3,led7s4,led7s5,speak er); • //clk2hz指一个2Hz的时钟输入, rst异步复位, k_a和k_b是比赛双方按键, speaker是蜂鸣 器 • //led8s是一排8个发光二极管代表球场, led7s1~4是4个显示分数的数码管, led7s5 是显示发球权的数码管
– 左、右双方各持一按键作为“球拍”,实验板上一行8只发光二极 管为乒乓球台,其中那只发光的发光二极管代表乒乓球所在位置。 – 设计如图1所示的乒乓球游戏实物图的模拟控制器。发球方最后一 位LED点亮,按下键表示发球,亮的灯依次向对方移动,当到达对 方最后一位时0.5s内对方必须按下按键表示接球,接球后LED灯向 对方移动,否则输球。 – 接球时,LED没有亮到最后一位时就按下接球按键为犯规。输球或 者犯规,对方加1分,率先加到11分者游戏胜出这一局。
• parameter s0=3'b000,//复位状态,也是判断发球权的状 态; • s1=3'b001,//甲方发球; • s2=3'b010,//球从甲方向乙方右移,若此时乙方 接球就给甲方加一分,并将球权给甲方; • s3=3'b011,//开始判断乙方是否在0.5S内接球; • s4=3'b100,//乙方发球; • s5=3'b101,//球从乙方向甲方左移,若此时甲方 接球就给乙方加一分,并将球权给乙方; • s6=3'b110;//开始判断甲方是否在0.5S内接球; • s7=3'b111;//用于判断接球后发球;
二、设计的背景、目的和意义
• 背景:在乒乓球比赛中要计分,但对于人 工记分较为繁琐并容易出错,所以要使用 计分器就可以避免这些问题,并能让人清 楚地看到两人的分数。 • 目的:能实现积分并在有人达到11时进行 蜂鸣提醒。 • 意义:实现数字计分,节约了人力,并使 计分结果更准确。
三、设计任务及要求
六、整体设计框图
开始 初始化程序 用户1发球(key1 按下)
移动数码管
用户2接球 (key2按下)
No
用户1数码管加1
Yes
蜂鸣器响,数码管 反向移动
用户1接球 (key1按下)
No
用户2数码管加1
Yes
蜂鸣器响,数码管 反向移动
用户2接球 (key2按下)
No
用户1数码管加1
Yes
蜂鸣器响,数码管 反向移动
end
else state<=s0; end
• s1: begin • led7s5<=7'b0000110;//第 五个数码管显示数字1,表示发球权现在是甲方的; • if(led8s==8'b00000000) • led8s<=8'b10000000;//点亮的灯出现在最右边,即甲 方发球; • state<=s2; • if(speaker) • speaker<=1'b0;// 将刚才鸣叫的蜂鸣器关闭; • end
• • • • • • • • •
output [7:0] led8s; output [6:0] led7s1,led7s2,led7s3,led7s4,led7s5; output speaker; output [2:0] state; reg [7:0] led8s; reg [6:0] led7s1,led7s2,led7s3,led7s4,led7s5; reg [3:0] score_a,score_b; reg [2:0] state; reg speaker;