打乒乓球游戏电路仿真设计
乒乓球游戏电路设计
1、主要内容:设计一个乒乓球游戏机,比赛由甲乙双方和裁判3人构成,能模拟比赛的基本过程和规则并能自动裁判和记分。
2、基本要求:1、设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。
2、用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。
3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。
若击中,则球向相反方向移动;若未击中,则对方得1分。
一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。
4、设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。
5、甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。
3、主要参考资料:[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.[2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006.[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.一、总体设计思想1.基本原理用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。
当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。
若击中,则球向相反方向移动;若未击中,则对方得1分。
一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。
设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。
甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。
plc乒乓电路实验报告
plc乒乓电路实验报告实验名称:PLC乒乓电路实验实验目的:1. 了解PLC控制器的基本原理和应用方式2. 掌握PLC的硬件组成结构3. 学会PLC程序编写和下载,及其调试方法4. 通过乒乓球控制案例,学会PLC的实际应用实验原理:PLC的硬件组成结构分为五部分:1. 中央处理器CPU:PLC的核心部件,负责控制、计算和通信。
2. 输入/输出模块I/O:接受外部信号输入与输出信号输出,与被控对象连接。
3. 记忆器:存储PLC程序和数据。
4. 电源装置:提供稳定的工作电压。
5. 外壳:将上述部分装配在一起形成完整的PLC。
乒乓球控制实验案例:硬件:1. PLC可编程逻辑控制器2. 可编程控制器编程线3. 可编程控制器通信线4. 电源线5. 开关、电机等元件6. 乒乓球控制机构软件:1. PLC编程软件2. 仿真软件实验流程:1. 硬件组装:按照实验要求将硬件组合连接。
2. 编写程序:编写PLC程序,以操纵控制机构模拟乒乓球控制运动。
3. 下载程序:将编写好的程序通过编程线下载到PLC中。
4. 调试程序:通过仿真软件模拟实验过程,完成程序的调试。
5. 实验验证:运行实验,验证PLC程序的正确性和应用价值。
实验结果:通过本次实验,我们成功了解了PLC的基本原理、硬件组成结构和应用方式,熟练掌握了PLC程序编写和下载的方法和调试技巧,并通过乒乓球控制实验案例,深入掌握了PLC的实际应用。
结论:PLC控制器是一种现代化、全自动化的物理装置,具有可编程、多功能、集成化和可靠性高等特点,是现代工业控制领域的主力军之一。
在实际应用中,PLC可根据需要进行编程,控制机构模拟各种复杂的运动状态,如乒乓球控制。
PLC控制器的操作灵活,具有自动、半自动和手动控制等多种工作模式,具备广泛的应用前景。
PLC控制器的应用越来越广泛,在各种行业的自动化设备中已经占据了重要地位。
在加工制造行业中,PLC控制器主要应用于各种生产线的控制和自动化设备的精密控制,如机器人控制,焊接机控制,流水线控制等。
实验四 触发器及其应用(乒乓球练习电路)
电子技术实践3
一、实验目的 1、掌握基本RS,JK,D和T触发器的
逻辑功能。 2、掌握集成触发器的逻辑功能及使 用方法。 3、熟悉触发器之间相互转换的方法。
电子技术实践3
二、实验设备与器件
1、电子技术实验箱
2、数字示波器 3、数字万用表 4、器件:
双JK触发器 74LS112 双D触发器 74LS74 四2输入与非门 74LS00
在CP端输入1Hz连续脉冲,观察Q端的变
化。 在CP端输入1KHz连续脉冲,用数字示波 器观察CP,Q端波形,在坐标纸上描绘波 形图。
电子技术实践3
注意: 1、测试置位和复位功能以及测试逻辑功能时,
SD、RD、J、K由实验箱上数据开关提供, CP由实验箱上逻辑开关提供;观察T触发器 输出波形时,1HZ连续脉冲由实验箱上1S信 号提供,1KHZ连续脉冲由CP脉冲提供。
2、逻辑开关 ↑ 表示“0→1”,↓ 表示 “1→0”。开关按下是一种状态,开关 弹起又是另一种状态。
电子技术实践3
逻辑 开关
CP脉冲
秒信号
电子技术实践3
2、乒乓球练习电路
电路功能要求:
模拟两名运动员在练球时乒乓球的 往返运转。
提示:采用双D触发器74LS74设计电路,由两
名运动员通过控制电路进行操作。设甲运动 员是触发器Q1输出,乙运动员是触发器Q2输 出,甲击球时Q2有输出,乙击球时Q1有输出。
EDA课程设计_7
乒乓球游戏电路设计一、乒乓球设计方案(1)我们设计的乒乓球游戏是以一排发光二极管交替发光指示乒乓球的行进路径, 其行进的速度可由输入的时钟信号控制。
乒乓球比赛是甲乙双方的比赛, 所以用两个按键模拟左右两个球拍;我们还要设计一个乒乓球控制模块, 即当发光二极管到最后一个的瞬间, 若检测到对应的表示球拍的键的信号, 立即使“球”反向运行, 如果此瞬间没有接到按键信号, 将给出失败鸣叫, 同时为对方记1分, 并将记分显示出来, 然后由对方重新发球以此类推;还要设计失球计数器的高低位计数模块;乒乓球行进方向控制模块, 主要由发球键控制;还要有一个失球提示发生模块。
(2)要知道乒乓球的游戏规则, 以多少分为一局, 谁先得到一定的分数谁就赢一局, 以此来判断输赢。
(3)用数码管显示双方的得分, 还要设计一个十进制计数器, 来显示分数。
(4)在乒乓球设计方案时还要考虑球速的问题。
二、乒乓球游戏电路的设计程序1.LIBRARY IEEE;--乒乓球游戏顶层文件use ieee.std_logic_1164.all;entity TENNIS isport(bain,bbin,clr,clk,souclk:in std_logic;ballout:out std_logic_vector(7 downto 0);countah,countal,countbh,countbl:out std_logic_vector(3 downto 0);lamp,speaker:out std_logic);end entity TENNIS;architecture ful of TENNIS iscomponent soundport(clk,sig,en:in std_logic;sout:out std_logic);end component;component ballctrlport(clr,bain,bbin,serclka,serclkb,clk:in std_logic; bdout,serve,serclk,ballclr,ballen:out std_logic);end component;component ballport(clk,clr,way,en:in std_logic;ballout:out std_logic_vector(7 downto 0));end component;component boardport(ball,net,bclk,serve:in std_logic;couclk,serclk:out std_logic);end component;component cou10port(clk,clr:in std_logic;cout:out std_logic;qout:out std_logic_vector(3 downto 0));end component;component cou4port(clk,clr:in std_logic;cout:out std_logic;qout:out std_logic_vector(3 downto 0));end component;component mwayport(servea,serveb:in std_logic;way:out std_logic);end component;signalnet,couclkah,couclkal,couclkbh,couclkbl,cah,cbh:std_logic; signalserve,serclka,serclkb,serclk,ballclr,bdout,way,ballen:std_lo gic;signal bbll:std_logic_vector(7 downto 0);beginnet<=bbll(4);ballout<=bbll;lamp<=clk;uah:cou4 port map(couclkah,clr,cah,countah);ual:cou10 port map(couclkal,clr,couclkah,countal);ubh:cou4 port map(couclkbh,clr,cbh,countbh);ubl:cou10 port map(couclkbl,clr,couclkbh,countbl); ubda:board port map(bbll(0),net,bain,serve,couclkal,serclka);ubdb:board port map(bbll(7),net,bbin,serve,couclkbl,serclkb);ucpu:ballctrlportmap(clr,bain,bbin,serclka,serclkb,clk,bdout,serve,serclk, ballclr,ballen);uway:mway port map(serclka,serclkb,way);uball:ball port map(clk,ballclr,way,ballen,bbll);usound:sound port map(souclk,ballen,bdout,speaker);end ful;2.library ieee;use ieee.std_logic_1164.all;entity sound isport(clk:in std_logic; --发声时钟sig:in std_logic; --正确接球信号en:in std_logic; --球拍接球脉冲sout:out std_logic); --提示声输出, 接小喇叭end entity sound;architecture ful of sound isbeginsout<=clk and (not sig) and en;--球拍接球, 没接到时, 发提示声end ful;3.library ieee; --总控制模块use ieee.std_logic_1164.all;entity ballctrlisport(clr:in std_logic; --系统复位bain:in std_logic; --左球拍bbin:in std_logic; --右球拍seclka:in std_logic; --左拍准确接球或发球serclkb:in std_logic; --右拍准确接球或发球clk:in std_logic; --乒乓球灯移动时钟bdout:out std_logic; --球拍接球脉冲serve:out std_logic; --发球状态信号serclk:out std_logic; --球拍正确接球信号ballclr:out std_logic; --乒乓球灯清零信号ballen:out std_logic); --乒乓球灯使能end entity ballctrl;architecture ful of ballctrl issignal bd:std_logic;signal ser:std_logic;beginbd<=bain or bbin;ser<=serclka or serclkb;serclk<=ser;--球拍正确接球信号bdout<=bd; --球拍接球脉冲process(clr,clk,bd)beginif(clr='1')then --系统复位serve<='1'; --系统处在职发球状态ballclr<='1'; --乒乓球灯清零elseif(bd='1')then --系统正常--球拍发球或接球时ballclr<='1'; --乒乓球灯清零if(ser='1')then --球拍发球或准确接球ballen<='1'; --乒乓球灯使能允许serve<='0'; --系统处在接球状态else ballen<='0';serve<='1'; --系统处在发球状态end if;else ballclr<='0';--没发球或接球时乒乓球灯不清零end if;end if;end process;end ful;4.--乒乓球灯模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ball isport(clk:in std_logic; --乒乓球灯前进时钟clr:in std_logic; --乒乓球灯清零way:in std_logic; --乒乓球灯前进方向en:in std_logic; --乒乓球灯使能ballout:out std_logic_vector(7 downto 0));--乒乓球灯end entity ball;architecture ful of ball issignal lamp:std_logic_vector(9 downto 0);beginprocess(clk,clr,en)beginif(clr='1') then lamp<="1000000001";--清零elsif en='0' thenelsif (clk'event and clk='1')then--使能允许, 乒乓球灯前进时钟上升沿if(way='1') then lamp(9 downto 1)<=lamp(8 downto 0);lamp(0)<='0';--乒乓球灯右移else lamp(8 downto 0)<=lamp(9 downto 1); lamp(9)<='0';--乒乓球灯左移end if;end if;ballout<=lamp(8 downto 1);end process;end ful;5.--乒乓拍模块library ieee;use ieee.std_logic_1164.all;entity board isport(ball:in std_logic; --接球点, 也就是乒乓球灯的末端net:in std_logic; --乒乓球灯的中点, 乒乓球过中点时, counclk、serclk复位bclk:in std_logic; --球拍接球信号serve:in std_logic; --发球信号couclk:out std_logic;serclk:out std_logic);end entity board;architecture ful of board isbeginprocess(bclk,net)beginif(net='1')then serclk<='0';couclk<='0';--乒乓球过中点时, counclk、serclk复位elsif(bclk'event and bclk='1')then—球拍接球时if(serve='1')then serclk<='1';--系统处于发球状态时—发球成功else—系统处于接球状态if(ball='1')then serclk<='1';--乒乓球刚落在接球点上, 接球成功else serclk<='0';couclk<='1';end if;end if;end if;end process;end ful;6.--十进制计数器用来做失球低位计数library ieee;use ieee.std_logic_1164.all;entity mway isport(servea:in std_logic;serveb:in std_logic;way:out std_logic);end entity mway;architecture ful of mway isbeginprocess(servea,serveb)beginif(servea='1')then way<='1';elsif(serveb='1')then way<='0';end if;end process;end ful;7、--四进制计数器用来做失球高位计数library ieee;use ieee.std_logic_1164.all;entity mway isport(servea:in std_logic;serveb:in std_logic;way:out std_logic);end entity mway;architecture ful of mway isbeginprocess(servea,serveb)beginif(servea='1')then way<='1';elsif(serveb='1')then way<='0';end if;end process;end ful;8、--乒乓球前进方向产生模块library ieee;use ieee.std_logic_1164.all;entity mway isport(servea:in std_logic;--左选手发球信号serveb:in std_logic;--右选手发球信号way:out std_logic);--乒乓球灯前进方向信号end entity mway;architecture ful of mway isbeginprocess(servea,serveb)beginif(servea='1')then way<='1';--左选手发球方向向右elsif(serveb='1')then way<='0';--右选手发球方向向左end if;end process;end ful;三、乒乓球游戏程序的仿真波形仿真波形图四、硬件测试方法然后我们就要测试硬件, 下载文件。
课题八兵乓球比赛游戏机电路
数字电子技术课程设计一:课程设计名称:乒乓球比赛游戏机电路二:设计任务和设计要求1.设计任务(1)设计一个由甲、乙双方参赛,裁判参与的乒乓球比赛游戏模拟机。
(2)用八只(或更多)排成长串的指示灯(发光二极管)用来代表球的轨迹,其中一个亮的指示灯用来显示球的当前位置,用一个时钟脉冲源使点亮的指示灯依次从左向右,或从右向左移动,其速度应能调节,一般为1s转换一次。
(3)用两个按钮开关作为球拍,甲乙两人参加比赛。
当球到达甲方时,应立即按动开关(电路应只能响应按钮信号的前沿,若重复按动或持续按下去,将不起作用),表示回球,球到达乙时,同样也应立即按动乙方的开关,将球回击到对方去。
若击中,则乒乓球向相反方向移动,若未击中,则对方得一分。
(4)一方得分时,电路自动响铃3s,此时发球无效,等铃声停止后方能继续比赛。
(5)设置自动计分电路,双方各用二位数码管进行计分显示,每计满11分为一局。
(6)甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球有效。
2.设计要求(1) 确定总体设计方案画出总方框图。
(2) 确定各单元电路的功能,进行单元电路的设计,画出逻辑图。
(3) 选择芯片确定型号。
(4) 画出总逻辑图和装配图,并在实验板上组装电路。
(5) 进行电路调试,达到设计要求。
(6) 写出总结报告。
三、基本工作原理和设计方案乒乓球游戏模拟机电路框图如图所示。
频率可调的时钟发生器为双向移位寄存器提供时钟脉冲,用双向移位寄存器的输出端控制指示灯来模拟乒乓球的运动轨迹。
先点亮位于某一方的第1个指示灯,由击球者通过按钮输入“击球”开关信号,实现移位方向的控制。
本电路设计的核心为控制电路,它决定整个系统的动作,必须掌握各信号之间的关系。
框图中的双向移位寄存器也可用计数译码方式实现乒乓球运动轨迹的模拟,如利用加减计数器的两个时钟信号来实现甲乙双方的击球,由表示球拍“击打”按钮产生计数时钟,计数器的输出状态经译码器驱动指示灯发光。
电路课程设计乒乓球游戏机
电路课程设计乒乓球游戏机
摘要
本文描述了一种用于实现实时电路课程设计乒乓球游戏机的硬件电路设计,以及该系统的控制程序。
该系统由处理器、存储器、按键等组成。
处理器使用可编程的芯片和控制程序,根据按钮的不同状态控制输出设备的动作,实现乒乓球游戏机的功能。
存储器主要由EEPROM和RAM构成,存储系统的控制程序,以及游戏信息;输出的驱动电路及电机马达,实现游戏机投球的动作,以及乒乓球游戏的发挥。
关键词:乒乓球游戏机,可编程,控制程序,EEPROM,RAM,电机马达
1绪论
乒乓球游戏机是一种受欢迎的实时电路课程设计。
它的功能可以通过电路设计来模拟,以实现趣味的实时游戏。
该系统可以实现电子乒乓球的真实效果,受到了广大玩家的喜爱。
本文对乒乓球游戏机的硬件电路设计和控制程序进行了详细介绍,主要包括:处理器系统、存储器系统、按键系统、输出系统以及控制程序。
本文着重介绍了系统的各个子系统的功能、组成以及工作原理,以实现乒乓球游戏机的功能。
2处理器系统。
数电课设——乒乓球游戏电路设计
电子技术课程设计数电部分设计题目:乒乓球游戏电路设计第一章设计指标 (3)设计指标 (3)第二章系统概述 (4)2.1设计思想 (4)2.2可行性论证 (8)2.3各功能的组成 (8)2.4总体工作过程 (9)第三章单元电路设计与分析 (10)3.1各单元电路的选择 (10)3.2设计及工作原理分析 (15)第四章电路的组构与调试 (15)4.1 遇到的主要问题 (15)4.2 现象记录及原因分析 (16)4.3 解决措施及效果 (16)4.4 功能的测试方法、步骤、设备、记录的数据 (16)第五章结束语 (20)5.1对设计题目的结论性意见及进一步改进的意向说明 (20)5.2 总结设计的收获与体会 (20)参考文献 (21)附图(电路总图) (22)“乒乓球游戏”电路以发光二级管模拟乒乓球的运动轨迹,以按键模拟球拍,具有乒乓球的娱乐功能。
电路可以采用数字电子技术基础课程中介绍的基础器件实现。
通过电路的设计和实现过程,我们可以了解和掌握以为寄存器的功能和应用以及数字逻辑控制的设计方法。
本次课程要求用软件QuartusII的应用基础,结合数字电子技术基础课程的知识完成“乒乓球游戏”。
QuartusII应用的基本流程如图:本设计还要用到七段数码显示器:LP-2900共有六位七段数码显示器,连接成动态扫描显示电路,每个显示器的共阴极由该装置上一个74138译码器的前六位输出Y0~Y5产生的扫描信号控制;段码控制信号高电平有效。
如图:第一章.设计指标1.设计要求以12个发光二极管出个点亮模拟乒乓球的运动,双方击球动作各以一个按键模拟,并以4位LED数码管闲事游戏双方得分。
具体规则如下:(1)当发球方按过击球键后,“乒乓球”向对方移动,当“球”到达终端位置时,对方必须按键接“球”。
若对方在“球”到达接球位置时准确按下击球键,“球”即向反方向移动。
若“球”到达接球位置时未被“接”住,“球”将飞出界外,发球方得一分。
乒乓球游戏机电路设计
乒乓球游戏机电路设计引言乒乓球是一种受欢迎的室内运动,可以单打或双打进行。
为了增加游戏的趣味性和挑战性,很多人选择在家里或娱乐场所设置乒乓球游戏机。
本文将介绍乒乓球游戏机电路的设计,包括硬件和软件部分。
一、硬件设计1.控制器乒乓球游戏机的控制器是连接玩家与游戏机之间的重要接口。
为了让玩家能够移动乒乓球拍的位置和控制乒乓球的弹射方向,我们可以使用两个旋转开关和两个按钮。
旋转开关可以控制乒乓球拍左右移动,按钮可以控制乒乓球的弹射方向。
2.显示器游戏机需要一个显示器来显示游戏画面和得分。
常见的选择是使用液晶显示器(LCD)或LED显示器。
LCD显示器可以提供更清晰的图像,而LED 显示器则更适合在夜晚使用。
3.传感器乒乓球游戏机需要使用传感器来检测和控制乒乓球的位置和速度。
为了实现这一目的,我们可以使用光电传感器或者红外线传感器。
光电传感器可以通过检测乒乓球划过传感器的时间来确定乒乓球的速度,而红外线传感器可以检测乒乓球的位置。
4.声音模块游戏机还可以配备一个声音模块,用于播放游戏音效和背景音乐。
声音模块可以是一个喇叭或者一个扬声器,通过控制电流和频率来产生不同的音效。
5.电源二、软件设计1.游戏控制2.显示控制3.声音控制如果游戏机配备了声音模块,软件还需要实现声音控制。
声音控制可以通过调用声音模块的接口实现,根据游戏状态播放不同的音效和背景音乐。
结论乒乓球游戏机的电路设计包括硬件和软件两个方面。
硬件设计主要包括控制器、显示器、传感器、声音模块和电源等部分。
软件设计主要包括游戏控制、显示控制和声音控制等部分。
通过合理的电路设计和软件编程,可以制作一个功能完备的乒乓球游戏机。
乒乓球游戏电路课程设计最终完成版
乒乓球游戏电路课程设计最终完成版第一篇:乒乓球游戏电路课程设计最终完成版电子课程设计——基于Verilog的乒乓游戏设计电路学院:专业、班级:姓名:学号:指导教师:2014年12月引言可编程器件的广泛应用,为数字系统的设计带来了极大的灵活性。
可编程器件可以通过软件编程对硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样快捷方便。
高速发展的FPGA、CPLD兼有串、并行工作方式和高速、高可靠性的特点,在电子系统设计中得到了广泛应用。
通常使用硬件描述语言(Hardware Description Language,HDL)进行数字电子系统设计。
目前应用广泛的硬件描述语言有:VHDL语言,Verilog HDL语言,AHDL语言。
Verilog语言由于具有强大的行为描述能力和丰富的仿真语句从而成为系统设计领域最佳的硬件描述语言。
鉴于如上所述,本系统使用Verilog语言进行设计,采用自上向下的设计方法。
利用Quartus II 9.1 进行Verilog程序的编译与综合,然后用Modelism SE 6.0进行功能仿真和时序仿真,并使用EDA实验箱进行下载验证。
基于Verilog的乒乓游戏设计电路一、设计任务与要求任务:设计一个乒乓球游戏机,模拟乒乓球比赛的基本过程和规则,并能裁判和自动计分。
要求如下:1.使用乒乓球游戏机的甲乙双方在不同的位置罚球或击球。
2.乒乓球的位置和移动方向可由发光二极管和依次点亮的方向决定,为球的移动速度为一定值(我们设计中设为0.5秒移动一位)。
使用者可按乒乓球的位置发出相应的动作,在其他时候击球视为犯规,给对方加一分;都犯规双方各加一分。
二、总体框图设计思路根据乒乓球比赛的过程和规则,首先游戏开始,如果一方非正确击球则另一方加分,当分数大于11时获胜,游戏结束,系统设计流程图如图1所示。
图2给出了乒乓球游戏机的原理图。
用5个发光二极管代表乒乓球,在游戏机两侧各设置二个开关,一个是发球开关,一个是击球开关。
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)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。
基于VHDL的乒乓球逻辑电路设计
基于VHDL的乒乓球游戏电路设计1、概述两人乒乓球游戏机是由发光二极管代替球的运动。
并按一定的规则进行对垒比赛。
甲乙双方发球和接球分别用两只开关代替。
当甲方按动发球开关时,球就向前运动(发光管向前移位),当球运动过网到一定位置以后,乙方就可接球。
若在规定的时间内,乙方不接球或提前、滞后接球,都算未接着球,甲方的计分牌自动加分。
然后重新按规则有一方发球,比赛才能继续进行。
比赛一直要进行到一方记分牌达到11分,这一局才告结束。
2、设计任务和要求乒乓球游戏机逻辑电路控制任务和要求如下:1、乒乓球游戏机甲、乙双方各有两只按钮,分别为发球按钮和击球按钮。
2、乒乓球的移动用14只LED灯模拟运行。
亮着的灯表示乒乓球此时的位置,乒乓球可以向左和向右移动。
3、球过网到一定的位置方可接球,提前击球或出界击球均判为失分,对方的得分加1。
4、比赛采用11分制,任何一方先记满11分就获胜,比赛一局就结束。
当计分牌清零后,又可开始新的一轮比赛。
5、利用VHDL写相应的代码,利用状态机来实现其功能。
3、总体设计总体设计框图:该系统可由以下几个模块构成(1). Fenpin模块(分频模块),用来产生球移动频率和得分显示动态扫描频率。
(2). Move模块(模拟运行模块),用来显示乒乓球的运动情况(3). Control模块(控制模块),用来控制乒乓球的运动情况,包括发球、接球、复位,加分等的控制。
(4). Showscore模块(得分显示模块),用来记录和显示各方的得分情况,通过四个7段数码管显示出来。
(5). Pingpangqiu模块(顶层文件),最终的乒乓球逻辑电路的一切功能的顶层文件。
(2) Fenpin模块设计ibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpin isport(clk: in std_logic; -----输入频率,为10MHZclkscan: out std_logic; -----输出得分动态扫描频率,为8usclkmove: out std_logic); -----球移动频率,为400ms end;architecture behavior of fenpin isbeginprocess(clk)variable cntscan: integer range 80 downto 0; -----80分频后得到8us脉冲--variable cntmove: integer range 4000000 downto 0;variable cntmove: integer range 400 downto 0;-----为了仿真方便则使球的移动频率改为40usbeginif clk'event and clk='1' then ------clk的上升沿到来时if cntscan<80 thencntscan:=cntscan+1; ------计数器未满时加1 elsecntscan:=0; ------否则计数器清零end if;if cntmove<400 thencntmove:=cntmove+1;elsecntmove:=cntmove+1;end if;if cntscan<40 then -------使其占空比为50% clkscan<='0';elseclkscan<='1';end if;if cntmove<200 thenclkmove<='0';elseclkmove<='1';end if;end if;end process;end;本模块是实现分频作用的。
乒乓球游戏电路设计
模 式 3 的 电 路 结 构
选手B比 赛按键8
选手B比 赛按键8
实验10-2 乒乓球游戏电路设计
程序设计与硬件实验
KX
RTL电路
康芯科技
数码管7/6显示选手B的得分
数码管3/2显示选手A的得分
KX
康芯科技
击球失误鸣叫
8个发光管亮的次序 表示球行进得路径
CLK:球行进速度控 制时钟CLOCK2接pin17
模 式 3 的 电 路 结 构
SOUCLK:失球警告声音 时钟CLOCK5接pin16
选手B比 赛按键8 选手B下载
注意此示例存放的路径
其余设置默认!
选择模式3
KX
康芯科技
击球失误鸣叫时钟CLK5接1024Hz
球运行速度控制时 钟CLK2,选择4Hz
KX
康芯科技
数码管3/2显示选手A的得分 数码管7/6显示选手B的得分
8个发光管亮的次序 表示球行进得路径
电子技术乒乓球比赛游戏机课程设计
1绪论1.1选题背景1.1.1 课题目的及意义本次课程设计的内容是独立完成一个乒乓球比赛游戏机的设计,采用EWB 电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。
通过这次课程设计让我们了解和熟悉了乒乓球游戏机的原理和Multisim仿真设计软件的操作,也让我们加深了解了对双向移位寄存器、双D触发器及、加法器及逻辑门电路的一些实际用途,并将理论与实践相结合。
1.1.2 课题的内容和要求独立完成一个乒乓球比赛游戏机的设计,采用EWB电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。
课程设计具体内容如下:乒乓球比赛是由甲乙双方参赛,加上裁判的三人游戏(也可以不用裁判),乒乓球比赛模拟机是用发光二极管(LED)模拟乒乓球乒乓球比赛模拟机框图设计要求:1、基本部分(1) 至少用8个LED排成直线,以中点为界,两边各代表参赛双方的位置,其中一个点亮的LED(乒乓球)依次从左到右,或从由到左移动,“球”的移动速度能由时钟电路调节。
(2) 当球(被点亮的那只LED)移动到某方的最后一位时,参赛者应该果断按下自己的按扭使“球”转向,即表示启动球拍击中,若行动迟缓或超前,表示未击中或违规,则对方得一分。
(3) 设计自动记分电路,甲乙双方各用一位数码管显示得分,每记满9分为一局。
2、发挥部分(选做)(1) 甲乙双方各设一个发光二极管表示拥有发球权,每得5分自动交换发球权,拥有发球权的一方发球才能有效。
(2) 发球次数能由一位数码管显示。
(3) 一方得分,电路自动响铃3秒,此期间发球无效,等铃声停止后方可比赛。
课题任务要求1、画出总体设计框图,以说明乒乓球比赛游戏机由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向和频率变化。
并以文字对原理作辅助说明。
2、设计各个功能模块的电路图,加上原理说明。
数电课设乒乓球游戏机电路设计
数电课设乒乓球游戏机电路设计引言乒乓球游戏机是一种非常受欢迎的电子游戏设备,通过模拟真实的乒乓球游戏,带给玩家极佳的游戏体验。
本文将详细介绍乒乓球游戏机的电路设计方案,包括硬件电路和软件设计,并对电路的工作原理进行了详细的分析与解释。
一、硬件电路设计1.中央处理器(CPU):采用单片机AT89S52来实现游戏机的计算和控制功能。
AT89S52是一款8051系列的单片机,具有丰富的外设接口和强大的计算能力,非常适合用于游戏机的控制处理。
2.显示屏:采用1602液晶显示屏进行游戏画面的显示。
液晶显示屏具有功耗低、分辨率高等优点,非常适合用于游戏机的显示。
3.输入设备:包括2个操纵杆和4个按钮。
操纵杆用于控制球拍的移动,按钮用于控制游戏的开始和重置等功能。
4.声音输出:采用蜂鸣器进行游戏音效的输出。
通过控制蜂鸣器的频率和占空比,可以实现不同的音效效果。
5.电源供应:采用直流电源供应电路,将市电的交流电转换为游戏机所需的直流电。
同时还需要设计适当的保护电路,以确保游戏机的正常工作和安全使用。
二、软件设计1.游戏控制:通过编程实现游戏逻辑的控制。
主要包括乒乓球的运动轨迹、球拍的移动控制和判定游戏胜负等。
2.输入处理:通过编程读取操纵杆和按钮的输入信号,实时更新球拍的位置和游戏开始、重置等状态。
3.显示处理:通过编程实现游戏画面的实时显示。
包括乒乓球的位置、球拍的位置、分数和时间等信息的显示。
4.音效控制:通过编程控制蜂鸣器的频率和占空比,实现游戏音效的输出。
根据游戏状态不同,可以播放不同的音效,增加游戏的乐趣和真实感。
三、电路工作原理在乒乓球游戏机的电路设计中,中央处理器(CPU)起着核心的作用,负责处理游戏的逻辑、控制输入输出和保护电路等。
具体工作原理如下:1.CPU通过与输入设备的接口连接,实时读取操纵杆和按钮的输入信号。
根据不同的输入信号,CPU更新球拍的位置和游戏状态。
2.CPU通过与液晶显示屏和蜂鸣器的接口连接,实时控制液晶显示屏和蜂鸣器的输出。
基于PROTEUS的乒乓游戏机电路的设计与仿真
1 i I l r J P( 。 i I l i l . k ‘ - 、t ・ i r c u i t . d i s p l { 1 、《 i I - ( - u i t d e s i g n‘ i l ・ ( ・ u i t . S o f t w a r e d e s i g i 1 i s u s i n g Ke i I L I  ̄i s i O I / 4 s o f | w a l ’ P c h … V t l o p me n t a i l d h a l ’ t t w a r e n l o d u l e s
j j P I / ( ) T E t S 的 乓 游 戏 机 【 路 n 勺 设计 l _ j 仿
越 巧 妮
基于 P R OT E U S的乒 乓 游 戏 机 电路 的设 计 与仿 真
赵巧 妮 ‘ ' ! ( 1 . 南 交 通 _ 1 人 、 : I J L I J I I 成都 , 6 3 5 0 0 0)
( 2 . 『 i { J = J 』 打铁 道  ̄ J , I k 技 术 : 院 湖『 “株 洲 . 4 1 2 0 0 1 )
摘
要: 结合 1 ) R O T E U S单 片机 仿 真 软 件 与 k P | j 软 件设 计 了一款 乒乓 游 戏机 电路 , 包括 硬 件 设 计 和 软 件 设 计 两 大部 分
r 一
一
一
0 引 言
乒} 己 球 址 I l 的 …球 , 深 受 … 人喜 爱 传 统 I 1 0 乒 乓球 订 场地 、 人 、 境 等【 大 l 素 的 制 , 小能 随 时 随地 的打 球 。 为 了 晰决 I 述 题 . I i x 子 产 F I . L 述 发糕的时 代 . 拟 没 汁一 款 益钾 炎乒 游戏 饥 , 将
模拟乒乓球游戏机控制电路课程设计样本
目录一、基本设计要求二、 STC89C52芯片介绍三、程序流程图四、”乒乓球”比赛系统数码管部分五、”乒乓球”比赛系统模拟”兵乓球”部分六、”乒乓球”比赛系统控制开关部分七、程序设计八、参考文献一、基本设计要求:1、设计一个由甲、乙双方参赛。
2、用8个LED排成一条直线, 以中点为界, 两边各代表参赛双方的位置, 其中一只点亮的LED指示球的当前位置, 点亮的LED依此从左到右, 或从右到左, 其启动的方向能够由任意一方开始。
3、当”球”(点亮的那只LED)运动到某方的最后一位时, 参赛者应能果断地按下位于自己一方的按钮开关, 即表示启动球拍击球。
若击中, 则球向相反方向移动; 若未击中, 则对方得1分。
由失分的一方开球。
4.设置自动记分电路, 甲、乙双方各用2位数码管进行记分显示, 每计满21分为1局, 一局到的时候蜂鸣器响起, 并显示局数之比。
5、随时能够复位比赛, 比赛的比分和状态能够复位。
摘要:为了实现模拟乒乓球比赛的过程和规则, 我们采用了STC89C52单片机来控制模拟, 采用用8个LED排成一条直线, 以中点为界, 两边各代表参赛双方的位置, 其中一只点亮的LED指示球的当前位置, 用蜂鸣器来实现响铃, 比赛双方用按钮开关来模拟启动球拍击球, 用数码管来显示比赛分数, 和局数之比。
关键词: AT89C51 LED 蜂鸣器。
二、芯片介绍2.1、 89C52芯片介绍STC89C52是51系列单片机的一个型号, 它是ATMEL公司生产的。
STC89C52是一个低电压, 高性能CMOS 8位单片机, 片内含8k bytes的可重复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器( RAM) , 器件采用ATMEL公司的高密度、非易失性存储技术生产, 兼容标准MCS-51指令系统, 片内置通用8位中央处理器和Flash存储单元。
STC89C52有40个引脚, 32个外部双向输入/输出( I/O) 端口, 同时内含2个外中断口, 3个16位可编程定时计数器,2个全双工串行通信口, 2个读写口线, STC89C52能够按照常规方法进行编程,但不能够在线编程(S系列的才支持在线编程)。
模拟乒乓球游戏机控制电路课程设计
目录一、基本设计要求二、STC89C52芯片介绍三、程序流程图四、“乒乓球”比赛系统数码管部分五、“乒乓球”比赛系统模拟“兵乓球”部分六、“乒乓球”比赛系统控制开关部分七、程序设计八、参考文献一、基本设计要求:1、设计一个由甲、乙双方参赛。
2、用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其启动的方向可以由任意一方开始。
3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。
若击中,则球向相反方向移动;若未击中,则对方得1分。
由失分的一方开球。
4.设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局,一局到的时候蜂鸣器响起,并显示局数之比。
5、随时可以复位比赛,比赛的比分和状态可以复位。
摘要:为了实现模拟乒乓球比赛的过程和规则,我们采用了STC89C52单片机来控制模拟,采用用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,用蜂鸣器来实现响铃,比赛双方用按钮开关来模拟启动球拍击球,用数码管来显示比赛分数,和局数之比。
关键词:AT89C51 LED 蜂鸣器。
二、芯片介绍2.1、89C52芯片介绍STC89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
4乒乓球游戏模拟设计
乒乓球比赛模拟及计分器设计
一、设计任务及指标
用数字电路模拟乒乓球比赛,并能给比赛计分。
1.裁判有一个按钮,是系统初始化,比赛开始。
2.一方发球后,球以固定速度向另一方运动(发光二极管依次点亮);
3.当球达到对方最后一个发光二极管时,对方击球(按下按钮),球将向相反方向运动;
4.在其他时候击球视为犯规,给对方加1分;都犯规,各自加1分;
5.甲、乙各有一个2位数码管计分;一方先到达11分,该局比赛结束。
*.扩展部分(例如:乒乓球速度可改变,设置大比分等)
二、设计相关提示
1.可用8个发光二极管模拟球运动轨迹(左右乒乓球台各4个);
2.用两个按钮分别表示甲乙两个球员击球;按钮应该在最后一个球到达后和离开前时被按下才有效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
打乒乓球游戏电路仿真设计
一、实验目的
(1)学习用MAX+Plus II开发系统对可编程逻辑器件编程的方法;
(2)学习“CPLD/FPGA数字发展实验箱”的使用方法以及把文件下载到CPLD芯片中的方法。
二、仿真电路设计及设计思路
仿真电路图如图所示。
具体的电路接法及工作原理说明如下:
用两个74LS194四位双向移位寄存器模拟乒乓球台,其中第一个74LS194的DL输出端接第二个的右移串行输入端,这样当乒乓球往右准备移出第一个寄存器的时候就会在时钟脉冲的作用下被移入第二个寄存器。
同样道理,第二个74LS194的AR输出端接第一个的左移串行输入端。
由于台面只能有一个乒乓球,以及乒乓球到达球台末端就出界,所以第一个74LS194的右移串行输入端及第二个的左移串行输入端接低电平。
复位端操作原理如下:复位端reset通过非门接到两个D触发器的置1输入端,使两个D 触发器的输出端Q均为高电平。
这时两个移位寄存器的控制端S0、 S1均为高电平,移位寄存器处于并行输入状态。
由于乒乓球在发球的时候只能处于球台的两端,因此第一个寄存器的A输入端接setL发球控制开关,第二个寄存器的D输入端接setR发球控制开关,而两个寄存器的其它并行输入端都接低电平。
运动员击球原理如下:假设现在乒乓球在球台的左侧,AL输出端为高电平,这里运动员击球,hitL为高电平,AL和hitL通过与门和非门给两个D触发器形成时钟脉冲,这时第一个D触发器的D输入端为低电平;由于 DR为低电平,第二个D触发器的D输入端为高电平。
于是hitL产生脉冲的结果是Q1=0,Q2=1。
这两个电平作用到移位寄存器上就是:S0=1,S1=0。
这两个控制端电平使寄存器产生右移信号。
右边的运动员击球的情况类似。
需要特别说明一下:上面的设计电路图在击球脉冲(hitL和hitR)的设计上与实验指导书的设计稍微有点不同。
在非门的两个输入端分别加了一个与门。
这样只有在乒乓球在球台左边的时候hitL才能对D触发器形成时钟脉冲,只有乒乓球在球台右边的时候hitR才能对D 触发器形成时钟脉冲。
也就是说,运动员过早或过晚挥拍都无效。
而按照指导书的原图,运动员过早或过晚挥拍都会使移位寄存器的S0=1,S1=1,也就是说,游戏重新回到开始状态。
我认为我的设计更加符合实际逻辑。
三、仿真结果及结果分析
对以上电路图进行仿真,仿真的波形图如下:
首先裁判按下reset按钮,对电路进行复位操作(复位不能长时间按下),然后打开setL 开关,左边的运动员发球。
此时setR需一直保持低电平。
各击球脉冲说明如下:
L1表示左运动员正常击球,乒乓球往右移;
R1表示右运动员过早击球,由于电路在设计时在非门的输入端加了与门,因此R1不能对D触发器形成时钟脉冲,击球无效,乒乓球继续往右移;
L2表示左运动员随意挥拍,和R1的结果一样,球继续往右移;
R2表示右运动员正常击球,乒乓球被击后改为往左移;
L3表示左运动员过早击球,不影响球的运动;
L4表示左运动员正常击球,乒乓球被击后改为往右移;
R3表示右运动员过晚击球,乒乓球出界。
四、实验总结
CPLD的出现使得实现电子设计自动化变得更加简单。
我们在设计的时候就可以花更多的时间进行抽象思维劳动,花更多的时间在电路原理的设计上,而不必去考虑电路实现的物理细节。
同时,在设计的时候要尽量使电路的仿真结果更加符合实际逻辑。
如本实验中,运动员过早击球的结果是本次击球无效,过晚击球的结果是球出界,而不是像原先指导书设计的那样:移位寄存器进行并行输入状态,从而左边或右边的运动员重新发球。
总而言之,要使电路的设计尽可能贴近实际逻辑,做到更人性化,这些都需要我们下大功夫。