乒乓球游戏机(1)
最新基于VHDL的乒乓球游戏机设计--课程设计说明书doc
最新基于VHDL的乒乓球游戏机设计--课程设计说明书
doc
一、乒乓球游戏机简介
乒乓球游戏机是一款集休闲娱乐和智力结合于一体的游戏机,它模拟
了非常真实的乒乓球比赛,采用VHDL语言实现了游戏机本身的控制系统,用户可以通过操作杆来控制屏幕上的球拍,体验乒乓球比赛的激烈对抗。
二、课程设计目标
1.了解VHDL语言的基本原理
2.掌握系统的基本结构
3.基于VHDL语言实现乒乓球游戏机的控制系统
4.通过操作杆实现游戏控制
三、课程设计内容
1.基本原理
可编程逻辑基础:必须掌握VHDL的基本原理,以及基本的数字电路
原理,包括可编程逻辑器件,基本的逻辑门,运算器,状态机等的基本知识,能够熟练编写VHDL程序,并理解其原理。
2.基本结构
设计开发PCB:根据设计需要,设计开发PCB外型,可以实现PCB组装,板载电源,实现游戏机基本功能。
3.实现控制系统
编写VHDL程序:基于VHDL语言,实现乒乓球游戏机的控制系统,主要包括实现芯片内部部件的交互,实现模拟屏幕的更新,以及实现外设的控制,如操作杆的输入。
4.游戏控制。
乒乓球游戏机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段译码器。
数电课设-乒乓球游戏机
数电课设-乒乓球游戏机乒乓球游戏机数电课设一、课设目的本课设的目的是通过设计并实现一个乒乓球游戏机的电子电路模型,来巩固和应用学生在数字电路实验课上所学习到的知识,提高他们的电子电路设计与实现能力。
二、设计思路乒乓球游戏机是一种非常经典的游戏机,它的原理很简单,就是通过两个滑块控制球的移动方向,利用球拍击球来达到得分的目的。
基于这个原理,我们可以设计一个乒乓球游戏机的电子电路模型。
具体的设计思路如下:1、显示系统:使用LED点阵来显示游戏界面。
设计一个4*4的LED 点阵,通过控制LED点阵的亮灭来显示游戏界面的各个元素,如球、滑块等。
2、控制系统:使用两个按键来控制滑块的上下移动。
通过按键的触发来改变滑块的位置,从而实现对球的控制。
3、碰撞检测:使用逻辑门电路来判断球与滑块之间是否发生碰撞。
当球与滑块相碰时,逻辑门输出高电平信号,触发得分操作。
4、计分系统:使用计数器电路来实现游戏的计分功能。
当球与滑块相碰时,计数器加一,同时更新LED点阵上的分数显示。
三、电路实现1、显示系统:设计一个4*4的LED点阵电路模型,使用74HC595移位寄存器来驱动LED点阵。
将74HC595的输出接入到LED点阵的行线上,通过移位寄存器的控制信号来控制LED点阵的亮灭。
通过连续地改变LED 点阵的亮灭状态,可以显示游戏界面上的各个元素。
2、控制系统:使用两个按键作为滑块的上下移动控制信号。
当按键按下时,滑块的位置向相应方向移动。
可以使用74HC165移位寄存器来实现按键输入的检测和转换。
3、碰撞检测:使用逻辑门电路来判断球与滑块之间是否发生碰撞。
可以使用与门和反相器来实现碰撞检测。
当球与滑块相碰时,逻辑门输出高电平信号。
4、计分系统:使用计数器电路来实现游戏的计分功能。
可以使用74HC191或74HC163等计数器芯片来实现,通过设置计数器的初始值和计数模式,来实现游戏的计分功能。
四、功能实现乒乓球游戏机的基本功能有:1、选择游戏模式功能:可以通过添加一个模式选择开关,来实现选择不同的游戏难度。
乒乓球游戏机课程设计
乒乓球游戏机课程设计一、课程目标知识目标:1. 学生理解乒乓球游戏机的基本结构和工作原理,掌握相关电子元件的功能和连接方式。
2. 学生掌握编程控制乒乓球游戏机的技能,能够运用所学知识编写程序,实现乒乓球游戏机的运行和交互。
3. 学生了解乒乓球游戏机在现实生活中的应用,认识到科技与日常生活的紧密联系。
技能目标:1. 学生能够运用所学的电子知识和编程技能,独立完成乒乓球游戏机的搭建和编程。
2. 学生能够在团队协作中发挥自己的专长,共同解决制作过程中遇到的问题,提高团队协作能力。
3. 学生通过动手实践,培养创新思维和问题解决能力。
情感态度价值观目标:1. 学生培养对科学技术的兴趣和好奇心,激发学习电子和编程的热情。
2. 学生在学习过程中,培养坚持不懈、勇于挑战的精神,增强自信心。
3. 学生通过团队协作,学会尊重他人、沟通合作,培养良好的团队精神和人际交往能力。
4. 学生认识到科技发展对生活的影响,激发为我国科技创新贡献力量的责任感。
课程性质:本课程为实践性较强的综合课程,结合电子、编程和团队合作等元素,旨在培养学生的动手能力、创新思维和团队协作能力。
学生特点:六年级学生对电子和编程有一定的基础,好奇心强,喜欢动手操作,具备一定的团队合作能力。
教学要求:注重理论与实践相结合,关注学生的个体差异,提高学生的动手实践能力和创新精神,培养团队协作能力。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 电子元件知识:介绍乒乓球游戏机中涉及的电子元件,如电源、微控制器、传感器等,结合课本相关知识,让学生了解各元件的作用和连接方式。
2. 编程技能:教授学生使用编程软件,如Arduino或Scratch,编写控制乒乓球游戏机的程序。
内容包括基本语法、逻辑控制、传感器数据读取等。
3. 乒乓球游戏机结构:讲解乒乓球游戏机的整体结构,分析各部分的功能和相互关系,指导学生进行实际搭建。
4. 团队合作:组织学生分组,进行团队协作,共同完成乒乓球游戏机的制作,培养学生团队协作能力。
数电课程设计—乒乓球游戏机
数电课程设计—乒乓球游戏机【摘要】本文设计了一款基于数电原理的乒乓球游戏机。
该游戏机通过使用FPGA芯片实现硬件设计和程序控制,具有两种游戏模式:单人模式和双人模式。
游戏机的底座上有两个按钮,分别用于控制乒乓球的发射和移动。
游戏机通过显示器显示游戏界面和得分情况。
本设计可以帮助学生加深对数电原理的理解,同时提供娱乐和学习的双重功能。
【关键词】数电;FPGA;游戏机;乒乓球【引言】乒乓球是一项非常受欢迎的体育活动,它可以锻炼身体,增强反应能力。
为了让更多的人能够享受到乒乓球的乐趣,本文设计了一款乒乓球游戏机。
该游戏机采用FPGA芯片作为硬件逻辑核心,通过程序控制实现乒乓球的发射、移动和碰撞检测。
游戏机通过显示器显示游戏界面和得分情况,通过按钮进行游戏控制。
【设计思想】游戏机的设计核心是FPGA芯片,它将乒乓球游戏逻辑实现为硬件电路,并通过程序控制进行游戏过程的控制。
游戏机主要包括乒乓球发射、移动和碰撞检测、分数计算、游戏界面显示等功能。
乒乓球发射:通过按钮控制乒乓球的发射,按钮通过电平信号转换为数字信号输入到FPGA芯片。
FPGA芯片接收到数字信号后,通过电路逻辑实现乒乓球的发射。
乒乓球移动和碰撞检测:乒乓球的移动和碰撞检测是游戏机的核心部分。
乒乓球的移动由程序控制,程序将乒乓球的当前位置信息输出到FPGA芯片,FPGA芯片接收到位置信息后,通过电路逻辑实现乒乓球的移动。
乒乓球与板子的碰撞通过碰撞检测器实现,碰撞检测器通过电路逻辑判断乒乓球是否与板子相碰撞。
分数计算:分数是游戏机的一个重要指标。
游戏机通过碰撞检测器检测到乒乓球与板子相碰撞后,自动增加得分。
分数的计算由程序控制,程序将得分信息输出到FPGA芯片,FPGA芯片接收到得分信息后通过电路逻辑实现分数的计算。
游戏界面显示:游戏界面的显示通过显示器实现。
显示器接收到FPGA芯片输出的游戏界面信息,并根据信息显示游戏界面。
【结论】本文设计了一款基于数电原理的乒乓球游戏机。
基于VHDL的乒乓球游戏机设计
基于VHDL的乒乓球游戏机设计乒乓球游戏机是一种基于硬件设计的电子游戏机,它模拟了乒乓球比赛的规则和玩法。
本文将介绍一个基于VHDL(Very High Speed Integrated Circuit Hardware Description Language)的乒乓球游戏机设计。
首先,我们需要确定游戏机的硬件组成和功能。
一个基本的乒乓球游戏机包括以下组件:1.显示屏:用于显示游戏画面和分数。
2.键盘:用于输入玩家控制信号,例如乒乓球拍的移动方向和发球。
3.乒乓球拍:控制球的移动方向。
4.乒乓球:游戏的主要元素,通过球拍反弹到对手的场地。
5.游戏逻辑控制:用于判断球拍和球的移动逻辑,以及计分和游戏结束的判定。
在VHDL中,我们可以将这些组件抽象为各种信号和实体(entity)。
下面是一个乒乓球游戏机的VHDL设计示例:```vhdl--乒乓球游戏机VHDL设计entity PongGame isportclk : in std_logic; -- 时钟信号reset : in std_logic; -- 复位信号ball_x : out std_logic_vector(7 downto 0); -- 球的X坐标ball_y : out std_logic_vector(7 downto 0); -- 球的Y坐标paddle_left_y : in std_logic_vector(7 downto 0); -- 左边乒乓球拍的Y坐标paddle_right_y : in std_logic_vector(7 downto 0); -- 右边乒乓球拍的Y坐标score_left : out std_logic_vector(7 downto 0); -- 左边玩家的分数score_right : out std_logic_vector(7 downto 0) -- 右边玩家的分数end entity PongGame;architecture rtl of PongGame is--在这里定义各种信号和内部变量begin--在这里编写游戏逻辑和硬件连接end architecture rtl;```在architecture部分,我们可以编写游戏逻辑和硬件连接的代码。
电路课程设计乒乓球游戏机
电路课程设计乒乓球游戏机
摘要
本文描述了一种用于实现实时电路课程设计乒乓球游戏机的硬件电路设计,以及该系统的控制程序。
该系统由处理器、存储器、按键等组成。
处理器使用可编程的芯片和控制程序,根据按钮的不同状态控制输出设备的动作,实现乒乓球游戏机的功能。
存储器主要由EEPROM和RAM构成,存储系统的控制程序,以及游戏信息;输出的驱动电路及电机马达,实现游戏机投球的动作,以及乒乓球游戏的发挥。
关键词:乒乓球游戏机,可编程,控制程序,EEPROM,RAM,电机马达
1绪论
乒乓球游戏机是一种受欢迎的实时电路课程设计。
它的功能可以通过电路设计来模拟,以实现趣味的实时游戏。
该系统可以实现电子乒乓球的真实效果,受到了广大玩家的喜爱。
本文对乒乓球游戏机的硬件电路设计和控制程序进行了详细介绍,主要包括:处理器系统、存储器系统、按键系统、输出系统以及控制程序。
本文着重介绍了系统的各个子系统的功能、组成以及工作原理,以实现乒乓球游戏机的功能。
2处理器系统。
乒乓球游戏机电路设计
乒乓球游戏机电路设计引言乒乓球是一种受欢迎的室内运动,可以单打或双打进行。
为了增加游戏的趣味性和挑战性,很多人选择在家里或娱乐场所设置乒乓球游戏机。
本文将介绍乒乓球游戏机电路的设计,包括硬件和软件部分。
一、硬件设计1.控制器乒乓球游戏机的控制器是连接玩家与游戏机之间的重要接口。
为了让玩家能够移动乒乓球拍的位置和控制乒乓球的弹射方向,我们可以使用两个旋转开关和两个按钮。
旋转开关可以控制乒乓球拍左右移动,按钮可以控制乒乓球的弹射方向。
2.显示器游戏机需要一个显示器来显示游戏画面和得分。
常见的选择是使用液晶显示器(LCD)或LED显示器。
LCD显示器可以提供更清晰的图像,而LED 显示器则更适合在夜晚使用。
3.传感器乒乓球游戏机需要使用传感器来检测和控制乒乓球的位置和速度。
为了实现这一目的,我们可以使用光电传感器或者红外线传感器。
光电传感器可以通过检测乒乓球划过传感器的时间来确定乒乓球的速度,而红外线传感器可以检测乒乓球的位置。
4.声音模块游戏机还可以配备一个声音模块,用于播放游戏音效和背景音乐。
声音模块可以是一个喇叭或者一个扬声器,通过控制电流和频率来产生不同的音效。
5.电源二、软件设计1.游戏控制2.显示控制3.声音控制如果游戏机配备了声音模块,软件还需要实现声音控制。
声音控制可以通过调用声音模块的接口实现,根据游戏状态播放不同的音效和背景音乐。
结论乒乓球游戏机的电路设计包括硬件和软件两个方面。
硬件设计主要包括控制器、显示器、传感器、声音模块和电源等部分。
软件设计主要包括游戏控制、显示控制和声音控制等部分。
通过合理的电路设计和软件编程,可以制作一个功能完备的乒乓球游戏机。
实验十 电子乒乓游戏机
实验十电子乒乓游戏机一、设计任务(1)参加游戏者2—3人,既比赛双方及裁判员。
采用单脉冲发生器的按钮开关作为球拍,用来发球或击球,并采用七只发光二极管模拟乒乓球。
其中只有一只点亮的发光二极管表示球的位置,每只发光二极管逐次点亮表示球的运动轨迹,当乒乓球移动到一排发光二极管的某一端最后一只时,要求控制这一端的选手准确果断及时地按下单脉冲发生器的按钮开关并将球击回。
如果击中则乒乓球向相反的方向移动;如果没有击中则算失误,对方得一分。
还应注意,如果乒乓球还未运行到规定的击球位置,击球不算失误;当球到达规定的击球位置时,该方再次击球仍能将球击回。
(2)设有自动记分的显示装置。
裁判员可根据比赛规定判定一局比赛结束,并由裁判员把双方记分牌清零,并使局数计数器加1,规定一局为6分。
(3)规定比赛球速分快慢两档,比赛者可根据情况任意选择所需的球速。
(4)比赛开始时由裁判员统一将计数器清零,同时使局数计数器加1。
局数计数器所对应的显示器显示1表示第一局比赛开始,共定为5局。
在比赛双方各设置一个指示灯。
规定得分一方指示灯亮并获得发球权。
二、原理及方框图游戏机的方框图如图所示。
下面分别对每一分框图作简要的介绍。
(1)乒乓球台是由74LS192和74LS42器件组成的。
其作用是控制乒乓球向左、右方向移动。
74LS42器件共有10个输出端,即Y0~Y9。
在Y2~Y8的端点上分别接入7只发光二极管。
在作加法计数时,Y2~Y8端的发光二极管逐次点亮,意指乒乓球向右方移动。
反之,在作减法计数时,乒乓球向左方移动。
(2)当乒乓球运行到Y8或Y2的位置时,要求对方立即击球,如果错过次机会就算失分,经失分判别电路判别后,在得分的一方记分牌上加1。
例如,在甲方发球时,只要甲方按一下该方的单脉冲发生器按钮开关,通过所设计的电路使M点为高电平。
如果乙方错过击球的机会,即球运行到Y8的位置时,乙方没有击中,此时球继续向右方移动,则Y9必然出现高电平。
EDA课程设计之乒乓球游戏机
EDA课程设计之乒乓球游戏机乒乓球是我国非常流行的一项体育运动,它既可以作为一项竞技运动,也可以作为一项休闲娱乐活动。
乒乓球游戏机是一种将乒乓球运动与电子游戏相结合的娱乐设备,通过电子屏幕和操纵杆模拟真实的乒乓球比赛,使玩家能够在室内环境中享受乒乓球运动的乐趣。
本文将从乒乓球游戏机的设计思路、功能和优势等方面进行详细介绍。
首先,乒乓球游戏机的设计思路是将真实的乒乓球比赛场景还原到电子游戏中。
通过操纵杆控制游戏中的球拍移动,并通过电子屏幕实时显示球的运动轨迹和计分情况,使玩家能够真实地感受到乒乓球比赛的紧张和刺激。
同时,乒乓球游戏机还可以根据玩家的操作水平设置不同的难度,提供多种游戏模式和关卡,使游戏更具娱乐性和挑战性。
其次,乒乓球游戏机的主要功能包括游戏模式选择、角色扮演、多人对战、即时对战等。
玩家可以根据自己的喜好选择不同的游戏模式进行游戏,例如单人模式、双人模式、联网对战模式等。
在游戏过程中,玩家可以选择不同的角色扮演,并通过不断挑战更高难度的关卡来提高自己的技术水平。
同时,乒乓球游戏机还支持多人对战和即时对战功能,玩家可以与朋友或其他玩家进行真人对战,增加游戏的互动性和竞技性。
乒乓球游戏机的优势主要体现在以下几个方面。
首先,乒乓球游戏机可以在室内环境中提供真实的乒乓球比赛体验,避免了受天气、场地等外界因素的影响。
其次,乒乓球游戏机采用电子屏幕显示球的运动轨迹和计分情况,可以实时调整比赛难度和计分规则,方便了玩家的操作和记录。
再次,乒乓球游戏机支持多种游戏模式和关卡,玩家可以根据自己的喜好选择不同的游戏方式,增加了游戏的可玩性和趣味性。
最后,乒乓球游戏机还可以通过联网对战功能,与其他玩家进行真人对战,增加了游戏的竞技性和社交性。
总之,乒乓球游戏机是一种将乒乓球运动和电子游戏相结合的娱乐设备,通过电子屏幕和操纵杆模拟真实的乒乓球比赛,使玩家能够在室内环境中享受乒乓球运动的乐趣。
它的设计思路是将真实的乒乓球比赛场景还原到电子游戏中,主要功能包括游戏模式选择、角色扮演、多人对战、即时对战等。
电子技术课程设计乒乓球游戏机
电子技术课程设计乒乓球游戏机乒乓球游戏机是一种利用电子技术制作的娱乐设备,可提供乒乓球比赛的场景和操作方式,使用户能够在家中或室内的其他场所享受真实的乒乓球游戏体验。
本文将在以下几个方面进行设计和实现:硬件设计、软件设计、系统功能、用户界面和效果展示。
硬件设计方面,乒乓球游戏机需要包括以下主要组件:显示屏、控制器、音频设备和传感器。
显示屏用于显示游戏场景和相关信息,可以选择液晶显示屏或液晶投影来展示图像。
控制器通过按键或手柄来操作游戏,在平台上移动乒乓球拍子,并可以控制球速和角度。
音频设备负责播放游戏音效和背景音乐,增加游戏的娱乐性。
传感器用于检测球的位置和移动速度,以便精确控制球的轨迹和反弹力度。
软件设计方面,乒乓球游戏机需要开发相关的游戏程序和算法。
游戏程序需要包括游戏场景的绘制、球拍和球的运动规则、碰撞检测和碰撞反射等功能。
算法可以采用物理学中的运动规律和碰撞原理,结合离散数学方法,对球拍和球的运动进行模拟和控制。
系统功能方面,乒乓球游戏机应具备以下功能:单人游戏和双人对战模式,游戏难度可调节,包括球速和角度的变化,游戏时间限制和得分统计等。
用户界面方面,乒乓球游戏机需要提供一个友好的用户界面,包括主菜单、设置选项和游戏界面。
用户可以通过按键和控制器来选择游戏模式和设置游戏难度,游戏界面将实时显示游戏场景和得分情况。
效果展示方面,乒乓球游戏机可以通过图像和音效来增强用户体验。
球的运动轨迹和反弹效果应具有真实感,球拍的移动和碰撞效果也需要更加逼真。
游戏音效可以模拟球的击打声和拍子碰撞声,背景音乐可以根据游戏情况进行配合,增加游戏的氛围和趣味性。
总结而言,乒乓球游戏机是一款基于电子技术制作的娱乐设备,通过硬件和软件设计实现了乒乓球比赛的场景和操作方式。
通过友好的用户界面和逼真的效果展示,能够给用户带来真实的乒乓球游戏体验。
乒乓球比赛游戏机
乒乓球比赛游戏机
刘进超、万家乐、涂雄辉
摘要:
本次EDA实习,我们小组选做的是《乒乓球比赛游戏机》,这个项目是通过循环来实现的。
作品硬件组成:
双位数码管单位数码管双位数码管
发光二极管
蜂鸣器
按键一按键二按键三
如上图,上面一排为数码管,左右两边的双位数码管用于记分,中间的单位数码管用于记比赛局数,比赛一共设五局。
中间的椭圆表示发光二极管,用于表示球的运动轨迹,下面两个单独的发光二极管用于表示谁来发球。
最下面的为按键,左右两边的按键分别用于左右两方击“球”,中间的按键用于调节“球”移动的速度,可以调节三种移动频率。
最右边的为蜂鸣器,当一方得分时蜂鸣器响三秒。
实现方案:
刚开机时,两边双位数码管清零,中间数码管显示一,系统默认由左边先发球(即左边的发球显示二极管按一定的频率闪烁),此时等待左边的按键按键按下。
左边的按键按下后,二极管从左向右按一定速度移动即球发出。
当点亮的二极管移动到最右边时右边的按键按下,二极管移动的方向变为由右向左,要是最右边的二极管电亮的同时,右边的按键没即时按下,则左方得分,左边的双位数码管数字加一,按键按两次后,交换发球方。
累计十一分,谁先累计到十一分,谁获胜,下一局由获胜方发球。
比赛一共设三局,谁先赢两局,哪方获胜,此时那方一半的二极管(即四个和显示发球的)有规律的闪动。
所需电子元件:双位数码管2个
单位数码管1个
发光二极管10个
按键 3个
蜂鸣器 1个。
EDA课程设计——乒乓球比赛游戏机
《电子设计自动化(EDA)技术》课程设计报告题目: 乒乓球比赛游戏机姓名:院系:专业:学号:指导教师:完成时间: 年月日目录1 课程设计题目、内容与要求………………………………1.1 设计内容………………………………………………1.2 具体要求………………………………………………2 系统设计……………………………………………………2.1 设计思路………………………………………………2.2 系统原理(包含:框图等阐述)与设计说明等内容3 系统实现……………………………………………………注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容4 系统仿真……………………………………………………5 硬件验证(操作)说明……………………………………6 总结………………………………………………………7 参考书目…………………………………………………1课程设计题目、内容与要求1.1课程设计的题目乒乓球比赛游戏机1.2课程设计目的随着科学技术日益迅速的发展,数字系统已经深入到生活的各个方面。
它具有技术效果好,经济效益高,技术先进,造价较低,可靠性高,维修方便等许多优点。
使我们更加熟练掌握数字系统的设计。
对所学的专业知识有能力更好的应用在实践方面。
1.3课程设计要求(1)使用乒乓球游戏机的双方在不同位置发球或击球。
(2)乒乓球的位置和移动方向由灯亮和依次亮的方向决定。
使用者根据球的位置发出相应的动作(3)比赛用21分为一局来进行,双方设置各自的记分牌,任意一方先记满21分就获胜此局。
当记分牌清零后,开始新的一局比赛。
1.4课程设计内容设计一个由甲乙双方参赛,有裁判的三人乒乓球游戏机。
用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节。
当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。
EDA设计报告:乒乓球游戏机.
燕山大学EDA课程设计报告书题目:乒乓球游戏机姓名:学号:成绩:(注:此文件应以同学学号为文件名)一、设计题目及要求I.题目名称:乒乓球游戏机要求:1.用8 个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍;2.一方发球后,球以固定速度向另一方运动(发光二极管依次点亮),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动。
过早或过晚击球视为犯规,系统自动给对手加1 分;3.甲、乙各有两个数码管计分(11 分制),每两球换一次发球权。
4.裁判有一个按钮,系统初始化和每次得分后按下一次,发球方的第一个LED 会被点亮。
二、设计过程及内容I. 总体设计乒乓球比赛是由甲乙双方参赛,加上裁判的三人游戏,乒乓球比赛模拟机是用发光二极管(LED )模拟乒乓球运动轨迹的电子游戏机。
图1 乒乓球模拟机框图 发光二极管 双向移位寄存器(ball ) 时钟控制电路(fenpinqi )控 制 电 路 (control) 计数器1 (counter) 计数器2 (counter) 选手P1 裁判 选手P2 扫频电路显示得分 控制发球权电路 (judge )根据设计任务,对照图乒乓球比赛模拟图,可以分为五个模块进行设计: 1. 乒乓球电路(ball模块):模拟球的移动轨迹;球迹移动电路可采用双向移位寄存器方法实现,由发光二极管作光点模拟乒乓球移动的轨迹。
2.驱动控制电路(control模块、judge模块):实现电路的控制;由双D 触发器及逻辑门电路构成,通过此电路来控制并且实现球台灯的左右移位即实现乒乓球的运动。
同时,我们利用十六进制计数器设计了裁判控制电路judge模块来控制发球权的交替,实现每两球换一次发球权。
3. 计分电路(counter模块):实现计分功能;使用两片十进制的计数器、逻辑门组成计分电路,实现11进制计数功能并且输出bcd码以供后续电路显示。
使用JK触发器实现计数对本模块的封锁和开启功能,便于两计分电路的信息交流实现联合计数功能。
乒乓球比赛游戏机
数字电子技术基础课程设计报告设计题目乒乓球比赛游戏机班级姓名学号指导教师成绩时间地点课程设计内容一、设计要求■设计一个甲、乙双方参赛,裁判参与的乒乓球比赛游戏模拟机。
■用8个发光二极管排成一条直线,以中点为界,两边各代表参赛双方的位置,其中点亮的发光二极管代表“乒乓球”的当前位置,点亮的发光二极管依次由左向右或由右向左移动。
■当球运动到某一方的最后一位时,参赛者应立即按下自己一方的按钮,即表示击球,若击中,则“球”向相反方向运动,若未击中,则对方得1分。
■设置自动计分电路,双方各用二位数码管来显示计分,每局11分。
到达11分时产生报警信号。
二、设计原理两人乒乓球游戏机是由发光二极管代替球的运动,并按照一定的规则进行对垒比赛。
甲乙双方击球用开关表示。
当甲乙按动开关时,球向前运当球运动到某方的最后一位时,参赛者应立即按下自己一方的按钮,即表示击球。
若未击中则表示对方得分,利用计数器连接成十一进制计数器记分每局十一分。
当二者任意一方得分为十一分时发生警信号。
三、实验元器件元器件数量74LS194 (双向移位寄存器)两片74LS160 (十进制加法计数器)四片7473(2JK触发器)一片74LS00(与非门)四片74LS04(非门)四片74LS08(与门) 两片OR2 一片蜂鸣器两个四、实验说明1、 74LS194的功能74LS194为四位双向移位寄存器,它具有左移、右移、保持、串行和并行输入等多种功能。
它的管脚排列见附录。
表1是它的功能表。
功能说明:(1)当S1=S0=1时,不管各输入端原来是什么状态,在下一个时钟脉冲到来时,其输出分别是预先输入到并行输入端的abcd,这种方式叫送数。
(2)当S1=0,S0=1时,其工作方式叫右移,这时,每来一个时钟脉冲,输出端的数各向右移一位,而QA端的输出则由加到R端的数来补充。
(3)当S1=1,S0=0时,其工作方式叫左移,情况正好与右移相反;QD端的输出由加到L端的数来补充。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学城市学院数字电路与系统课程设计设计题目:乒乓球游戏机学院:电子与自动化学院专业:电气工程及其自动化学生:杨显奎同组人:闫瑞峰石满磊指导教师:***完成日期: 2013年4月22日目录第一章设计任务1.1项目名称1.2项目设计说明1.2.1设计任务和要求1.2.2进度安排1.3项目总体功能模块图第二章需求分析2.1问题基本描述(要求分析得出整个系统流程图)2.2系统模块分解2.3系统各模块功能的基本要求第三章设计原理3.1 设计原理3.2 QUARTUSII介绍第四章系统功能模块设计4.1核心模块4.1.1核心模块流程图4.1.2输入输出引脚及其功能说明4.1.3程序代码实现4.2分频模块4.2.1分频模块流程图4.2.2输入输出引脚及其功能说明4.2.3程序代码实现4.3消抖模块4.3.1消抖模块流程图4.3.2输入输出引脚及其功能说明4.3.3程序代码实现4.4译码模块4.4.1译码模块流程图4.4.2输入输出引脚及其功能说明4.4.3程序代码实现第五章调试并分析结果5.1输入说明5.2预计输出5.3测试结果记录5.4测试结果分析第六章结论(最终实现哪些功能、未实现功能)心得体会参考文献第一章设计任务1.1项目名称:设计乒乓球游戏机本项目的主要内容是设计乒乓球游戏机,使该机能够模拟乒乓球比赛的基本过程和规则,并能自动裁判和记分。
该课程设计将所学的数字电路与系统大部分知识和VHDL语言结合,并利用Quartus II对程序进行文本编辑输入、仿真测试并得出仿真波形,了解控制信号的时序。
1.2项目设计说明本项目主要用来实现、模拟乒乓球比赛的基本过程和规则,并能自动裁判和记分。
1.2.1设计任务和要求设计一个乒乓球游戏机,该机模拟乒乓球比赛的基本过程和规则,并能自动裁判和记分。
要求如下:(1)使用乒乓球游戏机的甲乙双方各在不同的位置发球和击球。
(2)乒乓球的位置和移动方向由灯亮及依次点燃的方向决定,球移动的速度为0.1~0.5s移动一位。
使用者根据球的位置发出相应的动作,提前击球或出界均判失分。
设计者可按过网击球来设计,也可按乒乓球移动到对方第二盏灯亮后方可击球来设计。
1.2.2进度安排(1)第一次课整理好自己的整体思路,把这个设计题目分成几个模块,与组员一起分配各自的任务,并进行小模块的编程、分析。
(2)第二次课重点把自己的模块的程序调好并仿真、下载,看看是否实现了该模块功能。
(3)第三、四次课把各个模块组合起来,完成顶层设计,进行仿真、下载,实现设计要求,并在设计要求的基础上进行部分创新。
(4)第五次课,整理总结材料,向老师汇报自己的设计成果。
1.3项目总体功能模块图图1--1总体功能模块图第二章需求分析2.1问题基本描述(要求分析得出整个系统流程图)用8~16个发光二极管代表乒乓球台,在游戏机的两侧各设置两个开关,一个是发球开关,一个是击球开关。
甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。
当球过网后,乙方就可以击球。
若乙方提前击球或没有击到球,则判乙方失分,甲方自动加分,根据乒乓球比赛的过程和规则,首先游戏开始,如果一方非正确击球则另一方加分,当分数大于11时获胜,游戏结束,则把设计流程规定如下图所示。
图2--1流程图2.2系统模块分解(1)核心模块核心模块有两个功能,第一个是实现逻辑功能,即对甲方乙方的发球击球情况进行判断,然后再对双方谁得分进行记录;第二个是将整数得计分转换成十进制数,以便译码显示。
(2)分频模块分频模块是将来自实验板上频率为50MHZ的时钟信号转化为我们需要的频率为1HZ的时钟信号。
(3)消抖模块消抖模块是为了消除来在按键操作时可能产生的干扰。
(4)译码模块七段译码器用来将输入数据进行翻译,便于数码管显示出数据。
第三章 设计原理3.1 设计原理 1、设计步骤:(1)设计整个程序的核心模块,用来实现题目的全部逻辑功能。
模块分两个进程,第一个实现逻辑功能,第二个将整数的记分转换为十进制数,便于译码显示。
存为corna.vhd ;(2)设计一个模块将50MHZ 的时钟信号转化为1HZ 的时钟信号,存为fen.vhd ; (3)设计一个模块消除抖动现象的干扰,将此模块存为xiaodou.vhd ; (4)从记分子程序得到分数,译码并动态显示出来。
程序名为disp.vhd ; (5)利用顶层设计将上面的四个模块组合起来,程序名为pingpanggame.vhd 。
2、各模块原理图:模块一:核心模块 模块二:分频模块模块三:消抖模块 模块四:译码模块clr af aj bf bj clkshif t[7..0]ah[3..0]al[3..0]bh[3..0]bl[3..0]cornainst13clk qf eninst11din clkdoutxiaodouinst12d[3..0]q[6..0]dispinst113.2 QUARTUSII介绍Max+plusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。
目前Altera已经停止了对Max+plus II的更新支持。
QuartusII是Altera公司继Max+plus II之后开发的一种针对其公司生产的系列CPLD/PGFA器件的综合性开发软件,它的版本不断升级,从4.0版到10.0版,这里介绍QuartusII8.0版,该软件有如下几个显著的特点:1、Quartus II 的优点该软件界面友好,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。
该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
2、Quartus II对器件的支持 Quartus II支持Altera公司的MAX 3000A 系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II 系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件。
支持MAX II CPLD系列、Cyclone系列、Cyclone II、Stratix II系列、Stratix GX系列等。
支持IP核,包含了LPM/MegaFunction宏功能模块库,用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP 应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
3、Quartus II对第三方EDA工具的支持对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。
Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。
该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。
Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA 供应商的开发工具相兼容。
改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力第四章系统功能模块设计4.1、核心模块CORNA模块有两个功能,第一个是实现整个设计的逻辑功能,当游戏开始时,先通过CLR对整个系统进行清零,在输入CLK上升沿有效的条件下,甲方开始发球,在LED灯上从距离甲方最近的一个开始闪亮,并依次向乙方移动,再过了网后乙方就可以击球,若乙方击球成功,则球按原路返回,在再次过网后甲方就可击球,若甲击球成功,则按以上游戏一直进行下去,而若有一方击球失败则LED灯全部熄灭,并给对方在记分牌上记一分;倘若有一方发球失败,则给对方也在记分牌上记一分,当其中的一方记满11分时比赛结束,清零后可开始下一局。
第二个是将整数得计分转换为十进制数,便于译码显示。
当甲乙双方的记分低位到达9时使低位清零,同时使高位加1,以便正确地在数码管上显示得分。
CLR 为乒乓球游戏清零键,接按键;AF 为甲方发球控制键,接按键;AJ 为甲方接球控制键,接按键;BF 为乙方发球控制键,接按键;BJ 为乙方接球控制键,接按键;CLK 为控制乒乓球行进速度的时钟信号,接时钟信号源;SHIFT[7..0]为LED 灯显示输出端,接8个LED 显示灯;AH[3..0]为甲方记分的高位,AL[3..0]为甲方记分的低位,BH[3..0]为乙方记分的高位,BL[3..0]为乙方记分的低位,以上四位都在经过译码器译码后接8位数码显示管。
其VHDL 程序如下所示:library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity corna isport(clr,af,aj,bf,bj,clk:in std_logic; --af,aj,bf,bj:分别为A 方发球键、键,B 方发球键、接关球键,均接按键开关shift:out std_logic_vector(7 downto 0);ah,al,bh,bl:out std_logic_vector(3 downto 0)); end corna;architecture corn_arc of corna is signal amark,bmark:integer; beginprocess(clr,clk)variable a,b:std_logic;variable she:std_logic_vector(7 downto 0); beginif clr='0' thena:='0'; b:='0';she:="00000000"; amark<=0;bmark<=0; elsif clk'event and clk='1' thenif a='0'and b='0'and af='0' then --A 方发球 a:='1';she:="10000000";elsif a='0'and b='0' and bf='0' then --B 方发球 b:='1';she:="00000001";elsif a='1'and b='0' then --A 方发出球后 if she>8 thenclr af aj bf bj clkshif t[7..0]ah[3..0]al[3..0]bh[3..0]bl[3..0]cornainst13if bj='0' then --B方过网击球amark<=amark+1;a:='0';b:='0';she:="00000000";elseshe:='0' & she(7 downto 1); --B方没有击球end if;elsif she=0 then --球从B方出界amark<=amark+1;a:='0';b:='0';elseif bj='0' then --B方正常击球a:='0';b:='1';elseshe:='0' & she(7 downto 1); --B方没有击球end if;end if;elsif a='0'and b='1' then --B方发球,情况同前if she<16 and she/=0 thenif aj='0' thenbmark<=bmark+1;a:='0';b:='0';she:="00000000";elseshe:=she(6 downto 0) & '0';end if;elsif she= 0 thenbmark<=bmark+1;a:='0';b:='0';elseif aj='0'thena:='1';b:='0';elseshe:=she(6 downto 0)&'0';end if;end if;end if;end if;shift<=she;end process;process(clk,clr,amark,bmark)variable aha,ala,bha,bla:std_logic_vector(3 downto 0); variable tmp1,tmp2:integer;beginif clr='0' thenaha:="0000";ala:="0000";bha:="0000";bla:="0000";tmp1:=0;tmp2:=0;elsif clk'event and clk='1' thenif amark>tmp1 thenif ala="1001" thenala:="0000";aha:=aha+1;tmp1:=tmp1+1;elseala:=ala+1;tmp1:=tmp1+1;end if;end if;if bmark>tmp2 thenif bla="1001" thenbla:="0000";bha:=bha+1;tmp2:=tmp2+1;elsebla:=bla+1;tmp2:=tmp2+1;end if;end if;end if;al<=ala;bl<=bla;ah<=aha;bh<=bha;end process;end corn_arc;仿真波形如下:波形分析:CLR的低电平有效,其清零后,在CLK上升沿有效的条件下,甲方先发球,则LED灯显示十进制数80,即为二进制数10000000,乒乓球灯右移,波形图符合要求。