乒乓球比赛游戏机.docx
《乒乓球比赛游戏机.docx》由会员分享,可在线阅读,更多相关《乒乓球比赛游戏机.docx(15页珍藏版)》请在冰豆网上搜索。
乒乓球比赛游戏机
设计题目
乒乓球比赛游戏机
设计要求
设计一个乒乓球比赛游戏机,能模拟比赛的基本过程和规则并能
自动裁判和记分具体要求如下:
(1)使用乒乓球游戏机的双方在不同位置发球或击球。
(2)乒乓球的位置和移动方向由灯亮和依次亮的方向决定。
使用者根据球的位置发出相应的动作
(3)比赛用21分为一局来进行,双方设置各自的记分牌,任意一方先记满21分就获胜此局。
当记分牌清零后,开始新的一局比赛。
设计过程
用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节。
当球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,贝仔求向相反方向运动;若未中,球掉出桌外,贝U对方得一分。
设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每计满21分为1局。
甲乙双方各设一个发光二极管表示拥有发球权,每隔2次自
动交换发球权,拥有发球权的一方发球才有效。
成绩
指
导教师评语
评定
课
程设计等级
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)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。
设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每计满21分为1局。
甲乙双方各设一个发光二极管表示拥有发球权,每隔2次自动交换发球权,
拥有发球权的一方发球才有效
2系统设计
2.1设计思路:
根据系统设计的要求,乒乓球比赛游戏机的电路原理框图如下:
移位寄存器时钟
3系统实现
设计程序及其部分设计说明
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCORNAIS
PORT(AF,AJ,BF,BJ,CLK,CLR:
INSTD_LOGIC;--AF,BF,为AB发球;BJ
AJ为接球;CLK为时钟信号;CLR为复位信号
SHIFT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);--表示LED灯的亮
灭,其实也就是乒乓球的位置
YA,YB:
OUTSTD_LOGIC;--接LED小灯,亮表示拥有发球权
YYY:
OUTSTD_LOGIC;--当其中任何一方得分时候,丫YY为1状态,下面接响
铃电路;
AH,AL,BH,BL:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));--双方得分
的BCD码
END;
ARCHITECTUREABHVOFCORNAIS
SIGNALAMARK,BMARK:
INTEGER;--分别用整数表示AB的得分
SIGNALYY:
STD_LOGIC;--代表YYY的信号
BEGIN
以下进程是主要程序流程
PROCESS(CLR,CLK)
VARIABLEA,B:
STD_LOGIC;
VARIABLEWOJIA,WOJIB:
INTEGER;
VARIABLESHE:
STD_LOGIC_VECTOR(7DOWNTO0);--led亮灯的位
--WOJIA:
=4;
--WOJIB:
=4;
BEGIN
IFCLR='0'THEN--复位信号
A:
='0';
B:
='0';
SHE:
="00000000";--"00000000"代表没有任何一个LED亮
AMARK<=0;
BMARK<=0;
WOJIA:
=4;
WOJIB:
=4;
ELSIFCLK'EVENTANDCLK='1'THEN
每五次自动转换发球,主要有WOJIA,WOJIB来控制
IFA='0'ANDB='0'ANDAF='0'ANDWOJIA/=0THEN--A
方发球
A:
='1';--'1'代表已经发球
YA<='1';YB<='0';
SHE:
="10000000";
WOJIA:
=WOJIA-1;
ELSIFA='0'ANDB='0'ANDBF='0'ANDWOJIB/=0THEN--B
方发球
B:
='1';
YA<='0';YB<='1';
SHE:
="00000001";
WOJIB:
=WOJIB-1;
ELSIFA='1'ANDB='0'THEN--A
IFSHE>8THEN
IFBJ='0'ANDAJ='0'THEN--AB
AMARK<=AMARK+1;
BMARK<=BMARK+1;
YY<='1';
A:
='0';
B:
='0';
SHE:
="00000000";
ELSIFBJ='0'ORAJ='1'THEN--
AMARK<=AMARK+1;
YY<='1';
A:
='0';
B:
='0';
SHE:
="00000000";
ELSE
SHE:
='0'&SHE(7DOWNTO1);--B
方发出球之后
都犯规,AB均加分
方没有击球
ENDIF;
ELSIFSHE=0THEN--球从B方出界
AMARK<=AMARK+1;
YY<='1';
A:
='0';
B:
='0';
ELSE
FBJ='0'ANDAJ='0'THEN--B方正常击球
BMARK<=BMARK+1;
YY<='1';
A:
='0';
B:
='0';
ELSE
SHE:
='0'&SHE(7DOWNTO1);--B方没有击球
ENDIF;
ENDIF;
ELSIFA='0'ANDB='1'THEN--A方发球,情况同前
IFSHE<16ANDSHE/=0THEN
加分
IFAJ='0'ANDBJ='0'THEN--Ab过网接球,犯规,ABBMARK<=BMARK+1;
AMARK<=AMARK+1;
YY<='1';
A:
='0';
B:
='0';
SHE:
="00000000";
ELSIFAJ='0'ANDBJ='1'THEN
ELSE
SHE:
=SHE(6DOWNTO0)&'0';
ENDIF;
ELSIFSHE>16THEN
IFAJ='1'ANDBJ='0'THEN
BMARK<=BMARK+1;
AMARK<=AMARK+1;
YY<='1';
A:
='0';
B:
='0';
SHE:
="00000000";
ELSIFAJ='0'ANDBJ='0'THEN
AMARK<=AMARK+1;
YY<='1';
A:
='0';
B:
='0';
SHE:
="00000000";
ELSE
SHE:
=SHE(6DOWNTO0)&'0';
ENDIF;
ELSIFSHE=0THEN
BMARK<=BMARK+1;
YY<='1';
A:
='0';
B:
='0';
ELSE
IFAJ='0'THEN
A:
='1';
B:
='0';
ELSE
SHE:
=SHE(6DOWNTO0)&'0';
ENDIF;
ENDIF;
ENDIF;
ENDIF;
SHIFT<=SHE;YYY<=YY;
ENDPROCESS;
PROCESS(CLK,CLR,AMARK,BMARK)
VARIABLEAHA,ALA,BHA,BLA:
STD_LOGIC_VECTOR(3DOWNTO0);
VARIABLETMP1,TMP2:
INTEGER;
BEGIN
IFCLR='0'THEN
AHA:
="0000";
ALA:
="0000";
BHA:
="0000";
BLA:
="0000";
TMP1:
=0;
TMP2:
=0;
ELSIFCLK'EVENTANDCLK='1'THEN
IFAMARK>TMP1THEN
IFALA="1001"THEN
ALA:
="0000";
AHA:
=AHA+1;
TMP1:
=TMP1+1;
ELSE
ALA:
=ALA+1;
TMP1:
=TMP1+1;
ENDIF;
ENDIF;
IFBMARK>TMP2THEN
IFBLA="1001"THEN
BLA:
="0000";
BHA:
=BHA+1;
TMP2:
=TMP2+1;
ELSE
BLA:
=BLA+1;
TMP2:
=TMP2+1;
ENDIF;
ENDIF;
ENDIF;
AL<=ALA;
AH<=AHA;
BL<=BLA;
BH<=BHA;
ENDPROCESS;
ENDABHV;
4系统仿真
乒乓球比赛游戏机仿真波形如下图:
图4-1
r
4jiOCCiM
111.000
~oau
n',
£・[曲
D9〜
±id7W£
KVAFT
2
b^|kDmb4J^-Bl
L1ZJMMAFr
"5MAI5*aSKawcw.
3wcue
图4-2
5硬件验证
EP1K10TC100-3
n
IB
-1予
I*
~n
1J
17t2
U讦一
ij
It
!
4~
圳
「汕
10
IT
~li
U
n-
時
?
t*
13
T
t£
E
J7
J
曲
*
i*
1
丁'
1>f
mIKrgsjssFs爲£
s
s
s
i
M岸宮
sdeaoBfett
奏
g
M
2
eo
i
M
§
MAX
EPM712BSLC&445
fl
1
71
厂
S
君-
1#
L
44
i|L
1ir"
*>
it.
it
rr~
肝
H
W
37
1*
>1
L>
J4H
ItVQI
--I
*
*
*
*
二
r—1
-LLL
sb
二
B
+
r--
■c-
RT
挖mJ«■-«>~Aj—■i—Is-t—91―»•
6总结
经过这次实训,我收获颇丰,学到了很多知识,特别是提高了综合分析应用的能力。
我学会了如何去完成一个任务,懂得了享受过程。
当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生。
实训是对每个人综合能力的检验。
要想做好任何事,除了自己平时要有一定的功底外,我们还需要一定的实践动手能力,操作能力。
此次实训,我深深体会到了积累知识的重要性。
在短暂的实训过程中,让我深深的感觉到自己在实际运用中的知识的匮乏这时才真正领悟到“学无止境”的含义。
7参考书目
李国丽朱维勇《电子技术实验指导书》中国科技大学出版社
潘松黄继《EDA技术实用教程》科学出版社
王金明《VerilogHDL程序设计教程》
宋万杰罗丰吴顺君《cplD技术及其应用》西安电子科技大学出版社
张昌凡龙永红彭涛《可编程逻辑器件及VHDL设计技术》华南工学院出版社