模拟乒乓球游戏机控制电路课程设计
乒乓球游戏机EDA课程设计本
![乒乓球游戏机EDA课程设计本](https://img.taocdn.com/s3/m/7329836fef06eff9aef8941ea76e58fafbb04516.png)
目录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段译码器。
乒乓球游戏电路设计
![乒乓球游戏电路设计](https://img.taocdn.com/s3/m/9eaf5e8bcc22bcd126ff0c4c.png)
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次自动交换发球权,拥有发球权的一方发球才有效。
乒乓球比赛游戏机数电课程设计
![乒乓球比赛游戏机数电课程设计](https://img.taocdn.com/s3/m/7393da70a417866fb84a8ec1.png)
河北理工大学轻工学院信息科学技术部课程设计说明书设计题目乒乓球比赛游戏机班级08测控1班姓名杨洋学号200815020115指导教师许金刚2011年1月6日第二部分设计过程如上图1所示,该电路主要由球台驱动电路,控制电路,计数器,显示译码器和LED数码管等组成。
图中标出的各种信号的含义:CP表示球台驱动电路和计数器的时钟信号;S表示灯(乒乓球)移动的信号;L表示发光二极管驱动信号,由L1~L8组成;CNT表示计数器的计数脉冲信号,由CNT1,CNT2组成;KA,KB表示开关控制的外输入发球、击球信号。
一、单元电路的设计1.球台电路由两片4位74LS194双向移位寄存器接成8位双向移位寄存器。
74LS194功能表如下R D S1 S0工作状态0 1 1 1 1 ××0 00 11 01 1置零保持右移左移并行输入功能说明:(1)当S1 = S0 =1 时,不管各输入端原来是什么状态,在下一个时脉冲到来时,其输出分别是预先输入到并行输入端的 abcd ,这种方式叫送数。
(2)当 S 1 =0 ,S 0 =1 时,其工作方式叫右移,这时,每来一个时钟脉冲,输出端的数各向右移一位,而 Q A 端的输出则由加到 R 端的数来补充。
(3)当 S 1 =1 ,S 0 =0 时,其工作方式叫左移,情况正好与右移相反; Q D 端的输出由加到 L 端的数来补充。
(4)当 S 1 = S 0 =0 时,不管是否有 CP 脉冲作用,输出保持不变,这叫保持方式。
CP=0 时也是保持同步十进制计数器74LS160的功能表如下:CP R D LD EP ET 工作状态×××01111×111××××0 1×01 1置零预置数保持保持(但C=0)计数由74LS160的功能表可知,当~RD=~LD=EP=ET=1时工作状态为计数,即图4中的~CLR=~LOAD=ENT=ENP=1时。
乒乓球游戏机电路设计(江苏师范大学)
![乒乓球游戏机电路设计(江苏师范大学)](https://img.taocdn.com/s3/m/92e16130915f804d2b16c13e.png)
实习(设计)报告姓名班级学号实习(设计)科目电子技术综合课程设计实习实习(设计)地点实习(设计)时间实习(设计)科目电子技术综合课程实习实习设计指导教师姓名职务所在部门电气工程学院电气工程学院实习设计小组成员成员:实习设计要求1.组装一块数字电路电动机转速表。
2.设计选题要求至少用三个芯片以上。
3.用软件对设计的电路进行仿真验证。
4.设计实习结束后有完整的报告。
实习设计任务1. 组装一台数字转速表;2. 设计一个综合电子系统(自选);3. 编写实习设计说明书。
第二篇电子技术课程综合设计--------乒乓球游戏机电路摘要乒乓球游戏机通过十分巧妙地设计采用数字芯片实现乒乓球左右移动,选手击球得分,累计得分超10报警灯功能。
该设计三个双向开关S,A,B分别作为裁判和游戏者,且选手可以译码显示器上直接读出自己的得分,裁判有一个按钮,是系统初始化,比赛开始。
一方发球后,球以固定速度向另一方运动(二极管依次点亮);当球达到对方最后一个发光二极管时,对方击球(按下按钮),球将向相反方向运动;在其他时候击球视为犯规,给对方加1分;都犯规,都加1分;A、B各有一个2位数码管计分;一方先到达11分,该局比赛结束。
该乒乓球游戏机主要运用到了译码器、移位寄存器和锁存器:通过两个4位上相移位寄存器74LS194接成一个8位的移位寄存器;驱动控制电路由两片74LS74、两个与门7409、两个与非门7400构成;计分电路主要由一片74LS160十进制计数器、一个7404非门、7409与门构成。
目录1 绪论------------------------------------------------11.1本课题设计的意义--------------------------------11.2本课题主要研究任务及内容------------------------12 课程设计过程描述------------------------------------22.1描述主要的设计思路------------------------------22.2 总体设计方案方框图-------------------------------32.3 各部分电路设计----------------------------------43 整机电路图设计-------------------------------------93.1整机电路图-------------------------------------93.2器件清----------------------------------104 仿真结果-------------------------------------------115 总结与体会---------------------------------------12 参考文献----------------------------------------------131、绪论1.1本课题设计的意义乒乓球游戏机通过十分巧妙的设计采用数字芯片实现乒乓球左右移动、选手击球得分、累计得分超时报警等功能。
数电乒乓球游戏课程设计
![数电乒乓球游戏课程设计](https://img.taocdn.com/s3/m/49079474bc64783e0912a21614791711cd797953.png)
数电乒乓球游戏课程设计一、教学目标本课程的教学目标是使学生掌握数字电路的基本知识和技能,通过设计一个乒乓球游戏电路,培养学生运用所学知识解决实际问题的能力。
具体目标如下:1.知识目标:–掌握数字电路的基本概念和原理;–熟悉逻辑门、逻辑函数、逻辑电路的设计方法;–了解乒乓球游戏的规则和电路设计要求。
2.技能目标:–能够运用逻辑门电路设计简单的数字电路;–能够根据乒乓球游戏的规则,设计出相应的电路;–能够运用数字电路的知识,解决实际问题。
3.情感态度价值观目标:–培养学生的创新意识和团队合作精神;–培养学生对数字电路的兴趣和好奇心;–培养学生的自主学习和解决问题的能力。
二、教学内容本课程的教学内容主要包括数字电路的基本概念、逻辑门电路的设计、逻辑函数的化简、逻辑电路的设计方法以及乒乓球游戏的电路设计。
具体安排如下:1.数字电路的基本概念:介绍数字电路的定义、特点和分类,理解数字信号与模拟信号的区别。
2.逻辑门电路的设计:学习逻辑门的原理和功能,掌握逻辑门电路的设计方法,包括与门、或门、非门等。
3.逻辑函数的化简:学习逻辑函数的定义和性质,掌握逻辑函数的化简方法,包括卡诺图化简法、逻辑代数化简法等。
4.逻辑电路的设计方法:学习逻辑电路的定义和功能,掌握逻辑电路的设计方法,包括组合逻辑电路、时序逻辑电路等。
5.乒乓球游戏的电路设计:根据乒乓球游戏的规则,设计相应的电路,包括得分电路、计分电路等。
三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
具体方法如下:1.讲授法:通过讲解数字电路的基本概念、原理和设计方法,使学生掌握相关知识。
2.案例分析法:通过分析乒乓球游戏的电路设计案例,使学生理解和运用所学知识解决实际问题。
3.实验法:通过实验室的实践操作,使学生亲手设计、搭建和测试数字电路,提高学生的实践能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的数字电路教材,为学生提供系统、科学的学习材料。
数电设计乒乓球游戏机
![数电设计乒乓球游戏机](https://img.taocdn.com/s3/m/2997b8a152d380eb63946db4.png)
数字电路课程设计报告设计二乒乓球游戏机姓名:陈元专业:信息工程年级:2015班级:信工二班学号:201532010161. 设计题目及要求1.1题目:乒乓球游戏机1.2要求:1)用8个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍;2)一方发球后,球以固定速度向另一方运动(发光二极管依次点亮),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动,在其他时候击球视为犯规,给对方加1分;都犯规,各自加1分;3)甲、乙各有一数码管计分;4)裁判有一个按钮,是系统初始化,每次得分后,按下一次。
2. 设计过程及软件仿真2.1设计方案:1)球台电路:用8个发光二极管表示球,采用双向移位寄存器控制灯的流向;2)控制电路:用双D触发器及逻辑门电路组成,通过此电路控制球台电路的左右移位;3)计分电路:用十进制计数器,逻辑门,译码器,数码管组成;4)时钟电路:用555定时器构建多谐振荡器产生时钟脉冲;5)电源电路:用usb串口与5v移动电源向电路板供电,并在电路板设置电源指示灯指示供电情况。
2.2.总电路设计:2.3单元电路设计1)球台电路设计球台电路是整个乒乓球游戏机的终端,是最终打乒乓球的球台。
上图中,两片4位74LS194双向移位寄存器接成8位双向移位寄存器。
74LS194功能表如表1所示:2)开关电路开关电路是整个乒乓球游戏机的灵魂,是使乒乓球游戏能进行的核心。
开关电路由两片74ls74(D触发器)、两个与非门,两个与门和一个或门组成。
图中74LS74为上升沿触发的D触发器,~PR为置1端(低有效),~CLR为置0端(低有效)。
当J1=0时,两片D触发器输出端均为1即S1=S0=1,通过接入74LS194,此时实现的是并行输入功能。
当J1=1时,Qa=J3=1,J2=Qd=0,通过各门电路和D触发器输出端分别为0,1即S1=0,S0=1。
相反情况时,当J1=1时,Qa=J3=0,J2=Qd=1,D触发器输出端分别为1,0即S1=1,S0=0。
EDA课程设计_7
![EDA课程设计_7](https://img.taocdn.com/s3/m/264717406ad97f192279168884868762caaebbfb.png)
乒乓球游戏电路设计一、乒乓球设计方案(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;三、乒乓球游戏程序的仿真波形仿真波形图四、硬件测试方法然后我们就要测试硬件, 下载文件。
电路课程设计乒乓球游戏机
![电路课程设计乒乓球游戏机](https://img.taocdn.com/s3/m/0c9a7ff9ab00b52acfc789eb172ded630b1c98c5.png)
电路课程设计乒乓球游戏机
摘要
本文描述了一种用于实现实时电路课程设计乒乓球游戏机的硬件电路设计,以及该系统的控制程序。
该系统由处理器、存储器、按键等组成。
处理器使用可编程的芯片和控制程序,根据按钮的不同状态控制输出设备的动作,实现乒乓球游戏机的功能。
存储器主要由EEPROM和RAM构成,存储系统的控制程序,以及游戏信息;输出的驱动电路及电机马达,实现游戏机投球的动作,以及乒乓球游戏的发挥。
关键词:乒乓球游戏机,可编程,控制程序,EEPROM,RAM,电机马达
1绪论
乒乓球游戏机是一种受欢迎的实时电路课程设计。
它的功能可以通过电路设计来模拟,以实现趣味的实时游戏。
该系统可以实现电子乒乓球的真实效果,受到了广大玩家的喜爱。
本文对乒乓球游戏机的硬件电路设计和控制程序进行了详细介绍,主要包括:处理器系统、存储器系统、按键系统、输出系统以及控制程序。
本文着重介绍了系统的各个子系统的功能、组成以及工作原理,以实现乒乓球游戏机的功能。
2处理器系统。
(整理)数电课程设计乒乓球比赛
![(整理)数电课程设计乒乓球比赛](https://img.taocdn.com/s3/m/2a9957af9ec3d5bbfc0a7403.png)
乒乓球比赛游戏机一、设计任务与要求1 课题目的及意义本次课程设计的内容是独立完成一个乒乓球比赛游戏机的设计,采用EWB 电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。
通过这次课程设计让我们了解和熟悉了乒乓球游戏机的原理和Multisim仿真设计软件的操作,也让我们加深了解了对双向移位寄存器、双D触发器及、加法器及逻辑门电路的一些实际用途,并将理论与实践相结合。
2 课题的内容和要求设计一个甲、乙双方参赛,裁判参与的乒乓球比赛游戏模拟机。
基本要求:(1)用8个发光二极管排成一条直线,以中点为界,两边各代表参赛双方的位置,其中点亮的发光二极管代表“乒乓球”的当前位置,点亮的发光二极管依次由左向右或由右向左移动。
(2)当球运动到某方的最后一位时,参赛者应立即按下自己一方的按钮,即表示击球,若击中,则“球”向相反方向运动,若未击中,则对方得1分。
(3)设置自动计分电路,双方各用二位数码管来显示计分,每局11分。
到达11分时产生报警信号。
提高要求:(4)一方得分时,电路自动响铃3s,这期间发球无效,等铃声停止后方能继续比赛。
(5)设置局数显示,5局结束后有声响提示比赛结束。
课题任务要求1、画出总体设计框图,以说明乒乓球比赛游戏机由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向和频率变化。
并以文字对原理作辅助说明。
2、设计各个功能模块的电路图,加上原理说明。
3、选择合适的元器件,在EWB 上连接验证、仿真、调试各个功能模块的电路。
在连接验证时设计、选择合适的输入信号和输出方式,在充分电路正确性同时,输入信号和输出方式要便于电路的仿真、调试和故障排除。
4、在验证各个功能模块基础上,对整个电路的元器件和连接,进行合理布局,进行整个数字钟电路的连接验证、仿真、调试。
二、方案设计与论证根据设计任务,对照图乒乓球比赛模拟及1.1,可以分为三个模块进行设计: 1. 球台电路:球迹移动电路可采用双向移位寄存器方法实现,由发光二极管作光点模拟乒乓球移动的轨迹。
乒乓球游戏电路课程设计最终完成版
![乒乓球游戏电路课程设计最终完成版](https://img.taocdn.com/s3/m/22b2887268eae009581b6bd97f1922791688bea2.png)
乒乓球游戏电路课程设计最终完成版第一篇:乒乓球游戏电路课程设计最终完成版电子课程设计——基于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课程设计——乒乓球比赛游戏机](https://img.taocdn.com/s3/m/880324ed5ef7ba0d4a733b96.png)
《电子设计自动化(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)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。
乒乓球游戏电路设计
![乒乓球游戏电路设计](https://img.taocdn.com/s3/m/8aed5311cc7931b765ce1591.png)
模 式 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个发光管亮的次序 表示球行进得路径
乒乓球比赛模拟机的设计课程设计
![乒乓球比赛模拟机的设计课程设计](https://img.taocdn.com/s3/m/d95ae47fb7360b4c2f3f640a.png)
乒乓球比赛模拟机的设计课程设计徐州师范大学科文学院本科生课程设计课程名称:电子线路课程实训题目:乒乓球比赛模拟机的设计专业班级: 11电信1学生姓名:学生学号: 118326115日期: 2013/06/01指导教师:科文学院教务部印制指导教师签字:年月日目录摘要 (II)Abstract (II)1绪论 (1)1.1选题背景 (3)1.1.1 课题目的及意义 (3)1.1.2 课题的内容和要求 (3)1.2 方案选择 (5)2电路组成和工作原理 (5)3单元电路的设计 (6)3.1 球台电路的设计 (6)3.2驱动控制电路的设计 (8)3.3计分电路的设计 (9)4总体电路的设计 (10)5结果分析 (11)6总结 (12)7参考文献 (13)附录A 仿真结果图 (13)摘要本文给出了乒乓球比赛模拟及计分器的功能设计和原理框图,建立了各功能模块的模型,分析了其设计原理和实现方法。
在设计中,充分利用了CD4017计数器的功能和发光二极管实现对乒乓球运动轨迹的模拟,利用555组成脉冲产生电路、延时电路和开关去抖动电路。
另一方面,利用LS90计数器、CD4511译码器和相应的逻辑门组成了计分器电路,单局比分为11进制,总比分为五局三胜制。
设计中共有四个开关,分别是裁判控制开关、甲乙击球开关和清零开关,此外还有控制乒乓球运动速度的可调电位器。
关键词:乒乓球比赛; 模拟电路; 计分器; 电子线路设计; CD4017;AbstractIn this paper, the table tennis simulation and score indicator function design and principle block diagram, established the functional modules of the model, and analyzes the design principle and method. In the design, make full use of the function of the CD4017 counter and light-emitting diodes for table tennis trajectory of realize simulation, the use of 555 pulse circuits, delay circuit and switch to dither circuit. On the other hand, use LS90 counter, CD4511 decoder and corresponding logicgates formed score indicator circuit, single innings score of the 11 into the system, the total score of the five sets. The design of the communist party of China has four switch, respectively is the referee control switch, party a switch and hit the reset switch, in addition to control table tennis movement speed adjustable potentiometer.Keywords:The table tennis; Analog circuits; JiFenQi; Electronic circuit design; CD4017;1绪论1.1选题背景1.1.1 课题目的及意义本次课程设计的内容是独立完成一个乒乓球比赛游戏机的设计,采用EWB 电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。
数电课程设计报告--乒乓球游戏设计
![数电课程设计报告--乒乓球游戏设计](https://img.taocdn.com/s3/m/ebb324388f9951e79b89680203d8ce2f0166655f.png)
电子线路综合设计乒乓球比赛模拟及计分器设计2023年6月在信息社会高速发展旳今天,数字电路芯片已经实现高度集成化,并逐渐渗透到医学、计算机等各个领域,对人类旳生活有着深远旳影响。
本设计采用基本门电路以及74LS系列芯片旳搭建,以multisim 12.0软件为平台进行仿真,实现了对乒乓球游戏旳模拟。
重要处理旳问题有:(1)模拟乒乓球旳轨迹:用双向移位4位寄存器74194以及基本门电路实现;(2)球速旳调整:运用555电路实现;(3)球被击中、犯规旳判断;(4)计数器旳使用:采用74LS90和74LS161旳组合,给玩家计分;(5)有关比分旳显示:通过CD4511译码芯片将计数器旳输出状态显示到2位共阴极数码管上。
关键词:双向移位4位寄存器、555电路、译码电路、计数器系统1 设计任务 (1)2 电路整体设计 (2)2.1 译码显示电路设计 (4)2.2 555定期器构成脉冲发生器 (5)2.3模拟乒乓球电路旳设计 (6)3 电路整体性能旳检测 (7)3.1 译码显示电路旳检测 (7)3.2 脉冲发生器电路旳检测·····························································3.3模拟乒乓球电路旳检测······························································4试验结论 ·······················································································5课程设计心得体会以及提议 ·······························································6 Abstract ·························································································7附录(包括元器件清单以及各元器件功能表) ·········································8参照文献 ·······················································································1.设计任务本次我们小组选择旳设计是乒乓球比赛模拟及计分器设计,重要任务是用数字电路模拟乒乓球比赛并能给比赛计分。
EDA设计报告:乒乓球游戏机.
![EDA设计报告:乒乓球游戏机.](https://img.taocdn.com/s3/m/a30f61354b35eefdc8d333ea.png)
燕山大学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触发器实现计数对本模块的封锁和开启功能,便于两计分电路的信息交流实现联合计数功能。
乒乓球比赛游戏机电路
![乒乓球比赛游戏机电路](https://img.taocdn.com/s3/m/5e58835171fe910ef02df801.png)
数字电子技术课程设计:课程设计名称:乒乓球比赛游戏机电路二:设计目的1.掌握设计乒乓球游戏机控制系统的方法。
2.熟悉掌握移位寄存器,计数器,译码器的用法。
3.在已学知识的基础上,根据实际情况融会贯通。
三:设计任务和设计要求1•设计任务(1)设计一个由甲、乙双方参赛,裁判参与的乒乓球比赛游戏模拟机。
(2)用八只(或更多)排成长串的指示灯(发光二极管)用来代表球的轨迹,其中一个亮的指示灯用来显示球的当前位置,用一个时钟脉冲源使点亮的指示灯依次从左向右,或从右向左移动,其速度应能调节,一般为1s转换一次。
(3)用两个按钮开关作为球拍,甲乙两人参加比赛。
当球到达甲方时,应立即按动开关(电路应只能响应按钮信号的前沿,若重复按动或持续按下去,将不起作用),表示回球,球到达乙时,同样也应立即按动乙方的开关,将球回击到对方去。
若击中,则乒乓球向相反方向移动,若未击中,则对方得一分。
(4) 一方得分时,电路自动响铃 3s,此时发球无效,等铃声停止后方能继续比赛。
(5) 设置自动计分电路,双方各用二位数码管进行计分显示,每计满11分为一局。
(6) 甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球有效。
2•设计要求确定各单元电路的功能,进行单元电路的设计,画出逻辑图。
选择芯片确定型号。
画出总逻辑图和装配图,并在实验板上组装电路。
三、基本工作原理和设计方案乒乓球游戏模拟机电路框图如图所示。
频率可调的时钟发生器为 双向移位寄存器提供时钟脉冲,用双向移位寄存器的输出端控制指示 灯来模拟乒乓球的运动轨迹。
先点亮位于某一方的第1个指示灯,由 击球者通过按钮输入“击球”开关信号,实现移位方向的控制。
本电 路设计的核心为控制电路,它决定整个系统的动作,必须掌握各信号 之间的关系。
框图中的双向移位寄存器也可用计数译码方式实现乒乓 球运动轨迹的模拟,如利用加减计数器的两个时钟信号来实现甲乙双方的击球,由表示球拍“击打”按钮产生计数时钟,计数器的输出状 态经译码器驱动指示灯发光。
数电课设乒乓球游戏机电路设计
![数电课设乒乓球游戏机电路设计](https://img.taocdn.com/s3/m/3b6c2c20dcccda38376baf1ffc4ffe473368fdde.png)
数电课设乒乓球游戏机电路设计引言乒乓球游戏机是一种非常受欢迎的电子游戏设备,通过模拟真实的乒乓球游戏,带给玩家极佳的游戏体验。
本文将详细介绍乒乓球游戏机的电路设计方案,包括硬件电路和软件设计,并对电路的工作原理进行了详细的分析与解释。
一、硬件电路设计1.中央处理器(CPU):采用单片机AT89S52来实现游戏机的计算和控制功能。
AT89S52是一款8051系列的单片机,具有丰富的外设接口和强大的计算能力,非常适合用于游戏机的控制处理。
2.显示屏:采用1602液晶显示屏进行游戏画面的显示。
液晶显示屏具有功耗低、分辨率高等优点,非常适合用于游戏机的显示。
3.输入设备:包括2个操纵杆和4个按钮。
操纵杆用于控制球拍的移动,按钮用于控制游戏的开始和重置等功能。
4.声音输出:采用蜂鸣器进行游戏音效的输出。
通过控制蜂鸣器的频率和占空比,可以实现不同的音效效果。
5.电源供应:采用直流电源供应电路,将市电的交流电转换为游戏机所需的直流电。
同时还需要设计适当的保护电路,以确保游戏机的正常工作和安全使用。
二、软件设计1.游戏控制:通过编程实现游戏逻辑的控制。
主要包括乒乓球的运动轨迹、球拍的移动控制和判定游戏胜负等。
2.输入处理:通过编程读取操纵杆和按钮的输入信号,实时更新球拍的位置和游戏开始、重置等状态。
3.显示处理:通过编程实现游戏画面的实时显示。
包括乒乓球的位置、球拍的位置、分数和时间等信息的显示。
4.音效控制:通过编程控制蜂鸣器的频率和占空比,实现游戏音效的输出。
根据游戏状态不同,可以播放不同的音效,增加游戏的乐趣和真实感。
三、电路工作原理在乒乓球游戏机的电路设计中,中央处理器(CPU)起着核心的作用,负责处理游戏的逻辑、控制输入输出和保护电路等。
具体工作原理如下:1.CPU通过与输入设备的接口连接,实时读取操纵杆和按钮的输入信号。
根据不同的输入信号,CPU更新球拍的位置和游戏状态。
2.CPU通过与液晶显示屏和蜂鸣器的接口连接,实时控制液晶显示屏和蜂鸣器的输出。
模拟乒乓球游戏机控制电路课程设计样本
![模拟乒乓球游戏机控制电路课程设计样本](https://img.taocdn.com/s3/m/b0fedbd11711cc7930b71695.png)
目录一、基本设计要求二、 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系列的才支持在线编程)。
模拟乒乓球游戏机控制电路课程设计
![模拟乒乓球游戏机控制电路课程设计](https://img.taocdn.com/s3/m/802f4e3eddccda38376baf6e.png)
目录一、基本设计要求二、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系列的才支持在线编程)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一、基本设计要求二、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系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
兼容MCS51指令系统· 8k可反复擦写(>1000次)Flash ROM · 32个双向I/O口· 256x8bit内部RAM· 3个16位可编程定时/计数器中断· 时钟频率0-24MHz · 2个串行中断· 可编程UART串行通道· 2个外部中断源· 共5个中断源· 2个读写中断口线· 3级加密位· 低功耗空闲和掉电模式· 软件设置睡眠和唤醒功能STC89c52为40脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。
RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。
P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
P0 口P0口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1 口P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
P2 口P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。
对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。
在访问8 位地址的外部数据存储器(如执行MOVX @RI 指令)时,P2 口输出P2 锁存器的内容。
Flash 编程或校验时,P2亦接收高位地址和一些控制信号。
P3 口是一组带有内部上拉电阻的8 位双向I/O 口。
P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。
对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。
P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。
RST复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。
一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。
对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。
该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。
PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP外部访问允许。
欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。
XTAL1振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2振荡器反相放大器的输出端。
特殊功能寄存器在STC89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE),SFR 的地址空间映象如表2 所示。
并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。
对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
STC89C52除了与STC89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。
定时/计数器2。
STC89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。
当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
定时器0和定时器1:STC89C52的定时器0和定时器1 的工作方式与STC89C51 相同。
定时器2定时器2 是一个16 位定时/计数器。
定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。
若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。
由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。
为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。
管脚图如下:三、程序流程图:右拍先发球开始:右向左移动NOYES YES 左向右移动NOYESYES按SB4开始 右向左移SB1是否 等于0 SB2是否 等于0 SHU1加1 SHU1是否等于21 SHU1=0、SHU2=0、c++、蜂鸣器响起SHU2加1 SHU2是否等于21 SHU1=0、SHU2=0、d++、蜂鸣器响起左拍先发球开始:左向右移动NOYES YES 右向左移动NOYESYESSB2是否 等于0 SB1是否 等于0 SHU2加1 SHU2是否等于21 SHU1加1 SHU1是否等于21 SHU1=0、SHU2=0、c++、蜂鸣器响起 按SB4开始 右向左移 SHU1=0、SHU2=0、d++、蜂鸣器响起四、乒乓球比赛系统数码管部分整个过程由STC89C52单片机控制,对分数的显示我们用数码管,数码管有发光亮度强的优点,能够满足我们的要求通过控制数码管的段,就可以控制数码管的数学的显示,我们采用了动态方式来控制数码,该方式是通过让数码管快速切换显示,人眼分辨不出来,不仅节约电能,而且还能够节约单片机的端口,从而减少程序的复杂性。
用P0口来控制数码管段显,用P2口的低三位控制数码管的位选,采用74LS138译码器,可以节省单片机得端口。