基于51单片机的乒乓游戏机设计附Proteus仿真_毕业设计
51单片机实现模拟打乒乓球

51单片机实现模拟打乒乓球51单片机实现模拟打乒乓球电子乒乓球游戏机********************** 初始化********************** lw bit 20h.0rw bit 20h.1speed bit 20h.2sd bit 20h.3fs bit 20h.4jq bit 20h.5zy bit 20h.6fq bit 20h.7date equ p0led equ p1rp equ p3.0lp equ p3.3ks equ p3.2spe equ p3.1 bw equ p2.3qw equ p2.2gw equ p2.1sw equ p2.0 state equ 30h ball equ 31h lcode equ 32h rcode equ 33h sdbuf equ 34h ;............................. org 000hljmp mainorg 000bh ljmp int50ms ;..................... main:clr p3.4mov led,#0ffh mov lcode,#00h mov rcode,#00h mov state,#00h clr speedsetb gwsetb swsetb bwsetb qwmov ball,#0ffh mov tmod,#01h mov th0,#3chmov tl0,#0b0hsetb easetb et0setb tr0mov r7,#8mov r6,#20mov r0,#10mov r1,#5mov sdbuf,#00h;*********************main1:lcall dislcall keyjb lw,lwdojnb rw,main1clr rwinc rcodelcall rsdmov a,rcodecjne a,#21,main1lcall gofs; 比分为21分,分闪ljmp main1 ;.................lwdo: ;左得分clr lwinc lcodelcall lsd ;左得分,灯闪mov a,lcodecjne a,#21,main1lcall gofsljmp main1;************************************ int50ms:;中断,,包含移位,发球标志mov th0,#3chmov tl0,#0b0hlcall keymov a,statecjne a,#2,backmov a,sdbufcjne a,#00h,sd1djnz r6,backmov r6,#20sjmp spbacksd1:cjne a,#01h,sd2djnz r0,backmov r0,#10sjmp spbacksd2:djnz r1,backmov r1,#5spback: clr jqjnb zy,ldordo:mov a,ballcjne a,#0feh,rmovesetb lwmov state,#00hsjmp backrmove:mov a,ballrr amov led,amov ball,acjne a,#0feh,backsetb jqreti ;......................ldo:mov a,ballcjne a,#07fh,lmovesetb rwmov state,#00hsjmp backlmove:mov a,ballrl amov led,amov ball,acjne a,#07fh,backsetb jqback:reti;****键盘程序************** key:setb p3.0setb p3.1setb p3.2setb p3.3mov a,p3anl a,#0fhcjne a,#0fh,key1sjmp kse;键扫描key1:jnb ks,jksjnb lp,jlpjnb rp,jrpjnb spe,jspeljmp kse;加速键处理jspe: lcall del20msjb spe,kseinc sdbuflcall sdledretjks: ;开始键处理lcall del20msjb ks,kseclr fsclr sdcpl fqmov led,0ffhmov state,#01hjb fq,ks1 ;发球标志为1,右发球mov ball,#07fhmov led,ballsjmp ks2ks1:mov led,ballks2:clr cmov a,lcodecjne a,#21,ks3ljmp gofsks3:clr cmov a,#rcodecjne a,#21,kseljmp gofskse:ret;**************左拍处理jlp:mov a,statecjne a,#01,lp1jb fq,lpemov state,#02setb zy ;移位为1,球右移sjmp lpelp1:cjne a,#2,lpejb zy,lpe ;移位标致为0,球左移jnb jq,lp2setb zysjmp lpelp2:setb rwlpe:ret ;......右拍.................. jrp:mov a,statecjne a,#01,rp1jnb fq,rpemov state,#02clr zysjmp rperp1:cjne a,#2,rpejnb zy,rpejnb jq,rp2clr zysjmp rperp2:setb lwmov state,#00h rpe:ret ;.............sdled:mov a,sdbufcjne a,#01h,sdled1 clr p2.5setb p2.4setb p2.6retsdled1:cjne a,#02h,sdled2clr p2.6setb p2.5setb p2.4retsdled2:mov sdbuf,#00hclr p2.4setb p2.6setb p2.5ret;*********;**********分显****************** dis:mov a,rcodemov b,#10div abmov dptr,#xstabxch a,bmovc a,@a+dptrmov p0,aclr gwlcall delmssetb gwxch a,bmovc a,@a+dptrmov p0,aclr swlcall delmssetb swmov a,lcodemov b,#10div abxch a,bmovc a,@a+dptr mov p0,aclr bwlcall delmssetb bwxch a,bmovc a,@a+dptr mov p0,aclr qwlcall delmssetb qwret ;......................得分灯闪rsd: mov r5,#6 mov led,#0feh gosd2: cpl led.0 lcall del20mslcall del20msdjnz r5,gosd2 mov r5,#6retlsd: mov r5,#6 mov led,#07fhlsd2: cpl led.7lcall del20mslcall del20msdjnz r5,lsd2mov r5,#6retdelms:mov r4,#100mov r5,#10delms1: djnz r4,$ mov r4,#100djnz r5,delms1 mov r5,#6retdel20ms:mov r3,#200mov r2,#10del20ms1: djnz r2,$ mov r2,#200djnz r3,del20ms1ret ;.......................... gofs:mov r5,#6gofs1: mov p3,#00h lcall del20msmov p3,#0ffhdjnz r5,gofs1mov r5,#6mov lcode,#00h mov rcode,#00hretxstab:DB 3FH,05H,5BH,4FH ;"0","1","2","3" DB 65H,6eH,7eH,07H ;"4","5","6","7"DB 7FH,6FH,;**************。
基于Proteus的51系列单片机设计与仿真PPT课件

把单个分散控制的测量设备变成网络节点,以现场总线为 纽带,把他们连接成可以相互沟通信息、共同完成自控任 务的网络控制系统。
返回本节首页
1.1.3.3 典型应用系统
典型的较全面的单片机测控系统 系统特点 受集成度限制/系统扩展/在线控制功能强 典型通道及特点 前向通道、后向通道、人机通道
高性能化 大容量 内装化
返回本节首页
1.1.3 单片机应用领域
1.1.3.1 单机应用 1.1.3.1 多机应用 1.1.3.1 典型应用举例 1.1.3.4 应用系统设计内容
返回本章首页
1.1.3.1 单机应用
测控系统
在线控制,将计算机与控制系统组合在一起,进行实时监控, 体积小,功耗低,可靠性高;适用于单片机。
返回本章首页
1.1.1 微型计算机概述
微型计算机的发展
电子管
半导体晶体管 小规模集成电路 大规模集成电路
返回本章首页
1.1.1 微型计算机概述
微型计算机的应用 举例:.....1 单片机的特点 1.1.2.2 单片机的发展
返回本章首页
1.1.1 微型计算机概述
微型计算机的概念
微处理器(Microprocessor)又称CPU,芯片内部集成运算器和 控制器,是构成微型计算机系统和网络工作站的核心部件。 1971年Intel公司制成第一个CPU—Inter 4004
微型计算机
单片机—将CPU、存储器、I/O接口、中断系统 集成在一块芯片上,程序存放在ROM中。 单板机--将CPU、存储器、I/O接口、中断系统 集成在一块印制电路板上,程序存放在ROM中。 多板机--- 将CPU、存储器、I/O接口、中断系统 集成在多块印制电路板上,程序存放在ROM中。 微型计算机系统,在多板机基础上发展而来,有更为丰富的 软硬件资源(计算机,电脑)。
基于单片机的乒乓球游戏机设计方案

基于单片机的乒乓球游戏机设计1、系统方案乒乓球比赛是由甲乙双方参赛,再加上裁判的三人游戏。
乒乓球比赛模拟机是一种用发光二极管模拟乒乓球运动的电子游戏机,同时可以容纳三人玩耍。
1. 用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置。
其中一只点亮的LED指示球的当前位置。
点亮的LED依次从左到右,或从右到左移动,其移动速度应能进行调节。
2. 当球(点亮的那只LED)运动到某方德最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球,若击中则使球向相反方向移动,若未击中,则对方得一分。
3. 一方得分时,电路自动响铃3s,这期间发球无效,等铃声停止后方能继续比赛。
4. 设置自动计分电路。
甲乙双方各用两位数码管进行计分显示,每记满11分为1局。
最好考虑双方各10分之后,领先2分者为胜。
5. 甲乙双方各设置一个发光二极管表示拥有发球权,每得2分自动交换发球权,拥有发球权的一方发球才能有效。
2、硬件设计原理图如下:3、单片机软件设计1、首先是系统初始化:InitTimer(); //初始化定时器EA=1; //全局中断开关TR0=0;TR1=0;ET0=1; //开启定时器0ET1=1;EX0=0;EX1=0;2、中断服务程序void timer1(void) interrupt 3 //用于产生报警信号{TH1=0x4c;TL1=0x00; //50msTR1=1;count_1miao++;if(count_1miao==60){count_1miao=0;flag_1miao=1;ALAM=1;TR1=0;}}3、数码管程序/*****显示分数子程序*****/void Disp_score(void) //显示温度{P0=LEDData[scoreL/10];P2=0x7F;Delay(200);P2=0xFF;P0=LEDData[scoreL%10];P2=0xBF;Delay(200);P2=0xFF;P0=LEDData[scoreR/10];P2=0xDF;Delay(200);P2=0xFF;P0=LEDData[scoreR%10];P2=0xEF;Delay(200);P2=0xFF;}4、核心算法程序if((start==0)&&(run==0)&&flag_1miao==1) //停止状态下,控下start键{Disp_score(); //调用数码管显示{if(start==0) //开始按键按下{if(((scoreL==11)&&(scoreR<10))||((scoreR==11)&&(s coreL<10))||((scoreL>11)&&(scoreL-scoreR==2))||((scoreR>11)&(scoreR-scoreL==2)))// 判断左右方到11,另一方小于10,或者大于12,两方差大于2,这局结束{TR1=0;ALAM=1;scoreL=0;scoreR=0;}run=1; // 运行标志位置1jiqiu_l=0;jiqiu_r=7;zongjiqiushu=0;if((scoreL+scoreR)%4<=1) //所得分数和4取余,(比如1+1和为2和4取余余数为2大于1)余数小于1就是左侧发球,大于一就是右侧发球,就是每侧发球两次,L_R=0;elseL_R=1;if(L_R==0){countt0=0;P1=PPQdata[0];EX0=1;EX1=0;}else{countt0=7;P1=PPQdata[7];EX0=0;EX1=1;}}}}4、proteus仿真设计Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。
基于单片机AT89C51的乒乓球程序_课程设计报告

宁波技师学院课程设计报告论文题目基于AT89C51的乒乓球程序摘要单片机自20世纪70年代问世以来,以极高的性价比,受到人们的重视和关注应用很广、发展很快。
单片机以体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发价位容易。
由于具有上述优点,在我国单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各方面,而51单片机是各个单片机中最典型最有代表性的一种。
这次课题设计通过对它的学习、应用,以AT89C51为核心,辅以必要的电路,设计了一个简易的电子时钟,它由直流电源供电,通过数码管显示时间,调整时间,从而达到学习、设计、开发软、硬件的目的。
关键词:单片机;乒乓球程序,数码管显示;LED灯显示乒乓球行程目录1 引言 (1)2 系统总体设计 (2)2.1系统结构 (2)2.2系统设计方案 (2)3 硬件设计 (3)3.1 单片机最小系统 (3)3.1.1复位电路 (3)3.1.2时钟电路 (5)3.2控制电路 (6)3.3.1数码管的引脚及其作用 (7)3.3.2数码管显示电路 (7)4软件设计 (8)4.1主程序流程图 (8)4.2按键扫描 (8)4.2.1按键扫描流程图......................................... 错误!未定义书签。
4.2.2按键扫描程序............................................. 错误!未定义书签。
5 制作与调试 (16)5.1制作步骤与重点 (16)6 结论 (18)7 致谢 (19)8 参考文献 (20)附录1 系统实物图 (21)附录2 实验原理图 (22)附录3 系统仿真图 (22)附录3 系统仿真图 (23)附录4 程序清单 (24)附录5 PCB图 (34)附录6 元器件清单 (35)1 引言当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。
基于MCS-51仿真开发系统的乒乓球游戏的设计

基于MCS-51仿真开发系统的乒乓球游戏的设计作者:杨冰来源:《商情》2009年第16期[摘要]设计一款乒乓球游戏能让大家更方便快捷的感受到国球的魅力。
该系统灵活方便,能任意改变球的球速和分制,采用开关操作,LED显示,分别对软件和硬件进行调试,最终达到了软件和硬件的良好结合。
该设计采用模块化的设计,程序结构简单,任务明确。
[关键词]单片机乒乓球速度分制1 引言乒乓球是我国的国球,乒乓球的各种规则也被大家熟知,让大家能更轻松的接触到乒乓球,这里所设计的系统让大家能更加方便快捷的享受到乒乓球的乐趣。
2 设计要求用8个LED发光管的来回滚动显示模拟打乒乓球时乒乓球在两边球台上的来回运动。
比赛双方用按按钮(双方各用1个按钮)的方法来模拟发球与接球,即发球方按动其控制的按钮,球从发球方一侧向对方运动(LED发光管从发球方到对方逐个点亮,滚动显示)。
当球运动至接球方时,接球方立即按动其控制的按钮,“击球”使球“弹回”发球方一侧。
如此周而复始,直至在规定的击球时间内有一方未能完成击球动作,从而对方得一分;然后继续比赛。
根据设计功能,设计思路如下:(1)由P1口控制,用LED灯模拟乒乓球运动。
(2)争球,击球,击球速度,分制等由开关控制,各开关定义如下:k1,k8双方击球键K2=1时,21分制;K2=0时,11分制K3=1时,五局三胜;K3=0时,三局两胜K5=1时,击球时间0.3秒K6=1时,击球时间0.4秒K5、K6同时为0时,击球时间0.5秒k7=1时,右方争球;K7=0时,左方争球K4为开始开关,K4=1,游戏开始,L4闪烁直到K4=0,开始争球每局结束后,令K4=0,开始争球游戏结束后,令K4=1,可重新开始游戏(3)8279控制数码管显示比分及获胜局数。
(4)每局开始时,争球决定发球方。
(5)发球采用一球轮换制。
(6)发球或争球前LED灯闪烁提示。
3 设计特点本系统简单易懂,易于操作。
同时本系统采用模块化的设计,其优点为:每个模块的程序结构简单,任务明确,易于编写、调试和修改。
基于51单片机的乒乓游戏机设计附Proteus仿真_毕业设计 精品

目录1 绪论 (1)1.1 本设计的研究背景和研究目的 (1)1.2 国内外研究现状 (1)1.3 本设计的任务和设计方法 (2)1.3.1 设计任务 (2)1.3.2 设计方法 (2)2 乒乓游戏机设计方案 (3)2.1 基于单片机的乒乓游戏机设计 (3)2.1.1 硬件设计 (3)2.1.2 软件设计 (4)2.2 基于FPGA的乒乓游戏机设计 (4)2.3 方案比较与选择 (5)3硬件电路的设计 (6)3.1 硬件核心电路选择 (6)3.1.1 单片机STC89C51简介 (6)3.1.2 单片机端口分配 (6)3.2 电源电路的设计 (8)3.3 时钟电路的设计 (9)3.4 复位电路的设计 (9)3.5 按键电路的设计 (10)3.6 模拟球台电路的设计 (11)3.6.1 译码器简介 (11)3.6.2发光二极管简介 (13)3.6.3 模拟球拍电路的设计 (14)3.7 显示电路的设计 (14)3.7.1 LCD1602简介 (15)3.7.2 显示电路的设计 (16)3.8 乒乓游戏机总电路的设计 (16)4 乒乓游戏机的软件设计及编程 (18)4.1 主程序的设计及功能实现 (19)4.2 按键组的设计及功能实现 (19)4.2.1 球拍模拟子程序 (20)4.2.2 暂停/开始子程序 (20)4.3 发球程序的设计及功能实现 (20)4.4 线路程序的设计及功能实现 (21)4.4.1 线路选择子程序 (21)4.4.2 LED点阵子程序 (21)4.5 回球程序的设计及功能实现 (22)4.6 LCD显示程序设计及功能实现 (23)4.7 设计源程序 (23)5 系统调试及分析 (24)5.1 仿真调试及分析 (24)5.1.1 Proteus软件简介 (24)5.1.2 Keil uVision4软件简介 (25)5.1.3 仿真调试 (25)5.1.4 仿真调试的结果分析 (27)5.2 实物调试及分析 (27)5.2.1 制作实物的过程 (27)5.2.2 进行实物调试 (27)5.2.3 实物调试的结果分析 (30)6 结论与展望 (31)谢辞(Acknowledge) (32)参考文献 (33)附录1:程序 (34)附录2:元件清单 (49)乒乓游戏机设计1 绪论1.1 本设计的研究背景和研究目的乒乓球,中华人民共和国国球,是一种世界流行的球类体育项目。
本科毕业设计 基于proteus的51单片机应用

一、概述在现代科技飞速发展的时代背景下,单片机技术作为一种集成度高、性能稳定的微型电子元件,已经广泛应用于各个领域中。
本科毕业设计旨在基于Proteus评台,利用51单片机进行应用开发,旨在探究单片机在电子领域中的应用潜力,同时提升自身的工程实践能力。
二、设计背景1. 单片机技术的发展随着科技进步和市场需求的推动,单片机技术不断完善和更新,已经成为电子产品制造中不可或缺的核心技术之一。
在自动控制、通讯、仪器仪表等领域,单片机技术展现出无可比拟的优势。
2. Proteus评台的应用价值Proteus是一款专业的电子设计自动化软件,被广泛应用于模拟和数字电路的设计、仿真和PCB布局。
通过Proteus评台,可以进行精确的仿真和虚拟实验,节省了实际搭建电路的时间和成本。
三、设计目标1. 了解51单片机的基本原理和结构通过深入研究51单片机的内部结构和工作原理,全面掌握单片机的核心技术,为后续应用开发打下坚实的基础。
2. 运用Proteus评台进行单片机应用开发利用Proteus软件,进行仿真实验和应用开发,验证单片机的实际应用效果。
通过模拟实验,可以直观地观察和评估单片机的工作状态和性能。
3. 提升工程实践能力通过本科毕业设计的研究和实践,提升自身的工程实践能力,增强对单片机技术的理解和掌握,为未来的科研和工程实践奠定扎实的基础。
四、设计内容1. 51单片机基础知识学习需要对51单片机的基本原理、内部结构和工作方式进行深入学习和研究。
通过查阅相关文献和资料,了解单片机的组成部分、指令系统、存储器结构、时序控制等方面的知识,为后续的应用开发做好充分的准备。
2. Proteus评台的使用方法掌握在51单片机的基础知识学习之后,需要熟悉Proteus软件的使用方法,包括仿真实验的搭建、参数设置、仿真分析等方面的操作技巧。
通过实际操作,掌握Proteus评台的应用技能,为后续的单片机应用开发做好准备。
3. 基于Proteus的51单片机应用开发在掌握了51单片机的基础知识和Proteus评台的使用方法之后,可以开始进行基于Proteus的单片机应用开发。
基于单片机的乒乓球游戏系统的设计

基于单片机的乒乓球游戏系统的设计1.引言1.1设计背景众所周知,在日常娱乐生活中,智能化的娱乐产品非常流行。
单片机具有功能强、可靠性高、使用方便、体积小及重量轻等优点。
国外已广泛应用于自动化控制的各个领域。
近年来,国内的单片机技术与产品开发应用方面的发展也很快,各种电子产品已越来越多地采用单片机控制系统且性价比高。
本次课程设计我们从实用的角度以AT89C51单片机为核心设计了一种智能“乒乓球”游戏机。
乒乓球是中国的国球,在中国拥有众多的喜爱者。
此次设计不仅融入了现实比赛的娱乐性,更结合了传统的电子产品的小巧和便携性。
本系统由AT89C51单片机,LCD显示屏,按键等组成系统。
以51系列单片机为中心控制器件,用液晶显示器来模拟乒乓球的运动,实现2人游戏,乒乓球的运动速度分级可调,能显示游戏比分,有击、接球的声音效果等,还可以扩展开、关机音乐,语音对话功能等。
1.2功能说明本次设计的乒乓球游戏机是以AT89C51单片机为核心的,选用12864-12型LCD显示屏,通过LCD显示点阵依来模拟乒乓球的运动。
设计中选用了左右各3个游戏按键来模拟球拍和方向选择判断,其中两个键模拟左右2个球拍,按下代表球拍击球。
“左拍”按下可使LCD点阵从左向右依次点亮,如图乒乓球从左向右飞来;反之,“右拍”按下则可使LCD点阵从右向左依次点亮,代表球从右向在运动。
而第三个键则作为方向选择键,可增加游戏的趣味性。
本游戏供一到两人玩,以一方按键(发球)开始,这时乒乓球就向对方运动,接球方应在乒乓球到达终点之前击球。
如果击球时机合适,则把球击回,算得分;否则就算失误,由对方重新发球。
游戏过程中,LCD显示屏上还要显示双方比分。
对游戏实现方法做如下说明:(1)乒乓球移动速度是可调的,通过拨盘开关可实现改变乒乓球移动速度;(2)接球方的接球动作应在球到达本方最后一位LCD点阵之前发出,若接球成功则球向相反方向运动,接球方得分,乒乓球移动到最后一位后停止运动,此后接球方变为发球方,游戏继续;(3)如果接球方提前或迟后击球,则接球方失误,双方都不得分,乒乓球停止运动,LCD显示屏上显示得分,原发球方重新发球,游戏继续。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2 国内外研究现状
第二次世界大战以后,电子计算机技术得到了突飞猛进的发展。电子计算机一代一代的更新的同时,软件设计也迅速发展。于是,1971年,世界上第一台电子游戏机出现了。随着电子技术的迅猛发展,电子游戏机进入了次世代,主要有三大游戏机厂商。分别为:SONY、微软和任天堂。
显示电路设计:设计中采用LCD显示屏显示结果,左右两边分别用A、B表示。
2.1.2 软件设计
主程序:对乒乓游戏机进行初始化,定时器设置,对LED点阵输入数据等,延时扫描按键。
按键程序:在回球和发球时,按键按下给单片机传入数据作出相应处理。包括暂停/开始子程序,对系统进行暂停和开始。
发球程序:绿色指示灯亮起时,B得到发球球权,否则A得到发球球权。
在中国,到处可见打乒乓球的人,以学生居多。因为,随着人们现代化节奏的加快,工作压力的增大,传统打乒乓球的方式受到运动设施、场地、环境的因素的影响,让人们对乒乓球运动减少了很多兴趣。随着科学技术的发展,人类进入信息化社会,信息社会的发展离不开电子产品的进步。现代电子产品发展的越来越快,于是人们将乒乓球与电子产品结合在一起,形成了乒乓游戏机。通过使用按键模拟球拍,发光二极管模拟乒乓球,进行乒乓球游戏的操作。
乒乓游戏机不仅可以实现人们对乒乓球的热爱,又可以让人们在玩耍的同时进行身体锻炼和智力提高,具有明朗的前景。
1.3 本设计的任务和设计方法
1.3.1 设计任务
如今各种不同类型的游戏设备一直是消费领域的热点,本设计要求用低廉的成本设计出符合要求的游戏设备,要求操作方便,系统稳定度高。设计任务为:
(1)使用乒乓游戏机的甲乙双方各在不同的位置发球或击球。
按键电路设计:包含两个按键组,一个是模拟球拍按键电路,一个是暂停/开始
和复位按键电路。模拟球拍按键分为左右两边,左右各四个。这四个按键其中三个是对LED点阵线路的操作,一个是进行加速;暂停/开始和复位按键是在运行任一程序时,对游戏机进行暂停或开始或复位。
模拟球台设计:包括译码电路设计和发光二极管设计。译码电路设计:本设计中采用16个发光二极管,而单片机的端口较少,因此采用3-8译码器节约端口。发光二极管设计:由单片机控制74LS138译码器,74LS138译码器译码控制LED点阵得点亮顺序和相应点亮时间。
目前,有两种方案来设计乒乓游戏机设计。方案一是基于单片机的乒乓游戏机设计。方案二是基于FPGA的乒乓游戏机设计。
2.1 基于单片机的乒乓游戏机设计
方案一是基于单片机的乒乓游戏机设计,结果用LCD1602显示屏显示。软件方面,使用Keil uVision4进行编程。硬件设计包含单片机电路、模拟球台电路、按键电路、显示电路等电路的设计。软件设计包括:主程序、按键组程序(球拍模拟和暂停/开始子程序)、发球程序、线路程序(包括线路选择和LED点阵子程序)、回球程序、LCD显示程序。基于单片机的乒乓游戏机系统框图如图2.1所示。
显示程序:显示游戏比分,当A或B到达11分时进入相应win子程序。
2.2 基于FPGA的乒乓游戏机设计
方案二是基于FPGA的乒乓游戏机设计。因为学校具备专门的实验箱,如果采用方案二只需编程便可实现。通过对各部分编写VHDL程序,然后进行编译、仿真、逻辑综合、逻辑适配,最后进行编程下载,并通过程序验证结果。用16个发光二极管代表乒乓球,在游戏机的两侧各设置两个开关,一个是发球开关,一个是击球开关。甲方按动发球开关时,靠近甲方的第一盏灯亮,然后发光二极管由甲向乙依次点亮,代表乒乓球在移动。当球过网后,按设计者规定的球位乙方就可以击球。若乙方提前击球或没有击到球,则判乙方失分,甲方自动加分,重新发球比赛继续进行到一方记分到11分,该局结束,记分牌清零,可以开始新的一局比赛。其系统框图如2.2所示。
基于
1
1.1 本设计的研究背景和研究目的
乒乓球,中华人民共和国国球,是一种世界流行的球类体育项目。它的英语官方名称是“table tennis”,即“网上桌球”。乒乓球的名字起源于1990年。乒乓球的比赛赛制是以11分为一局,采用五局三胜(团体)或七局四胜制(单项)。比赛分团体、单项(男单、女单、男双、女双、混双)。
线路程序:游戏发球有8个线路选择,AB分别4个线路选择,共有16个回球线路,存在数组b[16]中,包括LED点阵子程序,由单片机线路和delay_1(t)控制74LS138译码器,74LS138译码器译码控制LED点阵得点亮顺序和相应点亮时间。
回球程序:当球在A边时,A可在相应delay_1(t)中感应A按键组的数据并作出相应处理;当球在B边时,同理。
(2)乒乓球的位置和移动方向由灯亮及依次点燃的方向决定,球移动的速度为0.1~1s移动一位。游戏者根据球的位置发出相应的动作,提前击球或出界均判失分。
(3)比赛用11分为一局来进行,甲乙双方都应设置各自的记分牌,任何一方先记满11分,该方就算胜了此局。当记分牌清零后,又可开始新的一局比赛。
1.3.2 设计方法
如今,大部分益智类游戏机属于电子游戏机,乒乓游戏机就属于电子游戏机。随着电子技术的突破,电子游戏机开始朝着“便携式”和“家庭化”方向发展,彩色电视的普及使大型游戏机的显像管和扫描版部分完全可以被彩色电视取代,使得微处理机部分与现实屏幕实现了分离。现在制成的游戏机只相当于一个信号发生器。如今乒乓游戏机已出现3D类,体感类等等类型。
本设计是基于单片机的乒乓游戏机设计,分别进行了硬件和软件两部分的设计。硬件设计包括单片机电路、译码电路、发光二极管电路、按键电路、显示电路等电路的设计。软件设计是使用Keil uVision4软件编写与硬件模块相应的源程序。利用Proteus软件对电路进行仿真,最后通过制作实物实现设计。
2 乒乓游戏机设计方案
图2.1 基于单片机的乒乓游戏机的系统框图
2.1.1 硬件设计
电源电路设计:单片机正常工作电压为+5V,设计采用三端稳压集成电路输出+5V电压。
时钟电路设计:单片机可以看成是在时钟驱动下的时序逻辑电路,即单片机必须在时钟的驱动下才能工作。因此,单片பைடு நூலகம்需要时钟电路支持,否则不能执行程序。
复位电路设计:单片机的复位电路使系统的所有功能部件都处于一个确定的初始状态,防止单片机执行错误操作、发出错误的指令等失误。单片机的复位方式有:手动按钮复位和上电复位。本设计采用手动按钮复位方式进行复位。