硬件课程设计乒乓球游戏设计

上传人:大米 文档编号:512865762 上传时间:2023-09-15 格式:DOC 页数:15 大小:1.47MB
返回 下载 相关 举报
硬件课程设计乒乓球游戏设计_第1页
第1页 / 共15页
硬件课程设计乒乓球游戏设计_第2页
第2页 / 共15页
硬件课程设计乒乓球游戏设计_第3页
第3页 / 共15页
硬件课程设计乒乓球游戏设计_第4页
第4页 / 共15页
硬件课程设计乒乓球游戏设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《硬件课程设计乒乓球游戏设计》由会员分享,可在线阅读,更多相关《硬件课程设计乒乓球游戏设计(15页珍藏版)》请在金锄头文库上搜索。

1、硬件课程设计乒乓球游戏设计 学院: 计算机科学与技术学院班级: 信息安全09-2 姓名: 一、设计任务与要求(1) 该设计一个由甲、乙双方参赛,有裁判的2人乒乓球游戏机。(2) 用一排发光二极管成一条直线,以中点为界,两人乒乓游戏机是用8个发光二极管代表乒乓球台,中间两个发光二极管兼做乒乓球网,用点亮的发光二极管按一定方向移动来表示球的运动,在游戏机的两侧个设置发球和击球开关,甲乙双方按乒乓球比赛规则来操作开关。(3) 当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。当甲方按动乒乓球开关时,靠近甲方的第一个发光二极管亮,然后发

2、光二极管由甲方方向依次点亮,代表乒乓球的移动。当球过网后按照设计者规定的球位乙方就可以击球。若乙方提前击球或者未击到球,则甲方得分。然后重新发球进行比赛。(4) 设置自动记分电路,甲、乙双方各用7段译码管进行记分显示,每计满11分为1局,然后记分清零,重新开始新一局比赛二、总体方案与说明 用8个发光二极管代表乒乓球台,在游戏机的两侧设置两个开关,一个是发球开关,一个是击球开关,甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。当球过网后,乙方就可击球。若乙方提前击球或没击中球,则判乙方失分,甲方自动加分,重新发球比赛继续进行到一方记分到21分,该局结束

3、,记分牌清零,可以开始新的一局比赛三、所需硬件及框图电源 时钟频率 1MHZ 地址 200-207 地址 208-20F 用八个led灯来表示球台环移动来表示球的移动,用8253和8255来构成跑马灯,8253起定时作用。8255用来输入输出。 输入芯片 用八个开关来模拟球拍(实际只需K0和K7两个)。在求的移动过程中来判断是否提前击球。当球移动到最左或右边是读取K0和K7两个开关状态来判断选手是否正确击球。四、电路原理图与说明1、在这个实验中,我们主要用的是HUSYE3-MIT-16/32微机接口综合实验/仿真系统,图4.1为利用I/O 输入借口来进行开关K0-K7状态的读取。开始时,开关均

4、位于低电位。 图4.12、图4.2为比分显示硬件块。其中主要又8279芯片来控制,以及利用led显示管来显示数字。左边为左边选手的得分,右边为右边选手的得分。采用11进制,即每一个选手的分得到11分后就判定该选手赢得比赛。比分从0:0开始。 图4.2 3、图4.3为循环led灯来表示乒乓球硬件块。Led灯先向左移动,此时K0不能为高电平,若为高电位则为提前击球,右边选手加分,当最左边的等亮起时,K0应及时击球(既把K0拨为高电位)。未及时击球则同样右边选手加分。及时击球则球开始向右边移动。与向左边移动时的规则相同。 图4.3五、软件主要模块流程图 根据乒乓球比赛的过程和规则,首先游戏开始,如果

5、一方非正确击球则另一方加分,当分数大于11时获胜,游戏结束,我们把设计流程规定如图2.1所示。游戏开始正确接发球?大于11? 甲 乙 否 否大于11?乙方胜利甲方胜利甲方加分乙方加分 N N Y Y游戏结束图2.1设计流程图 状态机设置了7个状态,分别是“等待发球状态”,“第一盏灯亮状态”,“第八盏灯亮状态”,“球向乙移动状态”,“ 球向甲移动状态”,“允许甲击球状态”,“允许乙击球状态”。这是该程序中起决定作用的七个状态。开始的时候处于“等待发球状态”,若甲发球则状态转移到“第一盏灯亮状态”,若乙发球则转移到“第八盏灯亮状态”,具体说明以甲球为例。若发球后乙没有提前击球-规定球移动到对方第一

6、个发光二极管时允许击球,那么状态机从“第一盏灯亮状态”转移到“球向乙移动状态”。若在“球向乙移动状态”乙仍然没有提前击球,状态就转移到“允许乙击球状态”,在此状态下,如果乙击球了,那么状态就转移到“ 球向甲移动状态”。在“第一盏灯亮状态”, “球向乙移动状态”中,如果乙击球了 ,就算提前击球,这样甲得分,状态转移到“等待发球状态”等待发球。“ 球向甲移动状态”之后的过程和前面的过程只不过是甲乙角色的调换而已。状态转移规则都是一样的。图2.2给出了乒乓球游戏机的原理图。等待发球 甲得分 乙得分 甲发球 乙发球第一盏灯亮第八盏灯亮允许甲发球球向甲移动 乙击球 甲击球球向乙移动 乙击球 甲击球允许乙

7、发球 乙没击球 甲没击球图3.2 乒乓球游戏机原理图六、源程序清单与注释CODE SEGMENT ASSUME CS:CODE START: call CLEAR_LED MOV DX,21AH ;比分初始化为0 :0 MOV AL,00000000B OUT DX,AL MOV DX,218H MOV AL,3FH ;k初始化右边选手的比分。 MOV CL,00H ;用cl 记录当前右边选手的比分 OUT DX,AL OUT DX,AL MOV AL,00H OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL MOV AL,3FH ;初始化左边选手的比分 OUT

8、DX,AL ;用ch记录左边选手当前的比分 OUT DX,AL mov CH,00h youyi: ;球向右移动 Q0: MOV AL,00110101B MOV DX,213h OUT DX, AL MOV Al, 0ffh MOV DX, 210h OUT DX,AL OUT DX,AL MOV AL, 01110101B MOV DX,213H OUT DX, AL MOV Al, 0ffh MOV DX, 211h OUT DX, AL OUT DX, AL ;8253初始化 mov al,10010000B mov dx,20bh ; 8255初始化 out dx,al Q1: mo

9、v dx ,208h IN AL,DX TEST AL,01H JZ Q1 ;8253定时,输出到8255的pc4口,读取该口判断 MOV DX,209H mov al, 80h not al out dx,al MOV BL,AL Q2: mov dx ,208h IN AL,DX TEST AL,01H JZ Q2 mov dx,209h in al,dx TEST al ,01h ;判断球是否移动到最右端。 jZ yjq mov dx,220h in al,dx ;读取开关状态 TEST al, 01h ;没有到最右端时判断右边选手是否提前击球 JZ zjfen ;若提前击球则跳转到左边选手加分程序 mov AL ,00H CALL D call D call D CALL D CALL D CALL D MOV AL,BL ROr AL,1 mov dx,209h OUT DX,AL MOV BL,AL JMP Q2 D: INC AL CMP AL,0FFH NOP NOP NOP JNZ DD1: INC DX CMP DL,0FFFFH JNZ D1 MOV DX,00HD2: INC DX CMP DL,0FFFFH JNZ D2 MOV DX,00H D3: INC DX

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号