基于单片机的“乒乓球”游戏机智能控制系统
0 前言
日常娱乐生活中,智能化的娱乐产品非常流行。单片机具有功能强、可靠性高、使用方便、体积小及重量轻等优点。国外已广泛应用于自动化控制的各个领域。近年来,国内的单片机技术与产品开发应用方面的发展也很快,各种电子产品已越来越多地采用单片机控制系统且性价比高。本文从实用的角度以AT89C2051单片机为核心设计了一种智能“乒乓球”游戏机。实践证明,该游戏机运行状况稳定、可靠,满足了智能化要求。
1 系统的基本工作原理
本设计中,通过5只连续排列的发光二极管的依次点亮代表“乒乓球”的运动。再用两个按键模拟左右两个球拍,键按下代表球拍击球。“左拍”按下可使发光二极管从左向右依次点亮,如同“乒乓球”从左向右飞来;“右拍”按下则可使发光二极管从右向左依次点亮,代表“乒乓球”从右向左运动。在游戏过程中,用数码显示管实时显示双方比分。游戏规则如下:
(1)“乒乓球”移动速度是固定的,设定每秒钟移动一位(发光二极管)。
(2)在“乒乓球”移位一次的过程中,进行25次的测试(即每40毫秒一次),查询接球方是否有击球动作。
①安徽省教育厅基金项目。编号:2003JK093
(3)接球方的击球动作应发生在“乒乓球”到达本方最后一位发光二极管(即点亮)一秒钟时间之内。如接球方在此一秒钟之内按键,则接球成功,接球方得分。“乒乓球”转为相反方向运动。此后,原接球方变为发球方,原发球方变为接球方。游戏继续进行。
(4)如接球方提前或滞后击球,则接球方失误。双方都不得分。这时“乒乓球”熄灭,数码显示管显示双方的比分不变。然后仍由原发球方发球。
2 硬件组成
具体电路由单片机电路、发光二极管显示电路、按键电路和数码显示电路等部分组成。
2.1 单片机电路
AT89C2051、X1、R1、C1等组成单片机电路,R1、C1组成单片机的复位电路,接通电源的瞬间,由于电源电压通过R1对C1的充电过程,单片机AT89C2051复位端1脚获得一个高电平复位脉冲,使得单片机进入初始状态。见图1。
2.2 发光二极管显示和按键电路
利用AT89C2051作发光二极管和按键的接口电路。P3.0~P3.4口接5只发光二极管,P3.7口接左按键,模拟左拍击球动作;P3.5口接右按键,模拟右拍击球动作。见图1。
2.3 数码显示电路
利用显示译码器MC14459组成6位共阴极LED静态显示电路。当P1.4=1时,译码器74LS138开通,由P1.5~P1.7口经译码器74LS138控制各MC14459芯片依次选通各LED,同时由P1.0~P1.3口将欲显示的十六进制数直接输出到各MC14459芯片中,再使控制端为高电平,锁存P1.0~P1.3口输出的数据,并进行译码驱动显示。见图1。
图1 系统原理框图
3 软件设计
为了便于调试,本系统的软件主要采用模块化结构设计,具体的程序由主程序、“乒乓球”左移子程序、“乒乓球”右移子程序和比分显示子程序等模块组成。下面给出了主程序、“乒乓球”左移子程序、“乒乓球”右移子程序及显示子程序的流程图。
3.1 主程序
主程序的功能是进行初始化工作,并控制“乒乓球”游戏的开始。模拟左拍的按键接P3.7口,模拟右拍的按键接P3.5口。游戏开始时,显示的比分是零比零,此后,如左拍按下则“乒乓球”右移;如右拍按下则“乒乓球”左移。在主程序中,需要用四个通用寄存器分别作为右方得分寄存器、左方得分寄存器、1秒计时常数寄存器及“乒乓球”移位计数器。其流程图见图2。
图2 主程序流程图
3.2 “乒乓球”左移子程序
左移子程序的主要功能是控制“乒乓球”的向左移动,并在逐位移动过程中判断是否有左拍击球动作。只有当“乒乓球”移动到最左的一秒时间内击球才是有效的,左拍得分,并转乒乓球右移子程序,使“乒乓球”向右移动,即相当于左方发球。除此之外,所有的左拍击球都算失误,重新开始“乒乓球”左移子程序,相当于由右方重新发球。其流程图见图3。
图3 “乒乓球”左移子程序流程图
3.3 “乒乓球”右移子程序
“乒乓球”的右移子程序的原理与左移子程序的原理相同,只要把左移子程序流程图中的“右”与“左”互换即可。
3.4 显示子程序
3.4.1 比分显示格式
比分显示用六位数码显示管进行显示。其显示格式见图4。
图4 “乒乓球”游戏比分显示格式
3.4.2 显示原理
“乒乓球”游戏的左右拍得分分别存在左方得分寄存器和右方得分寄存器中(在主程序中已设置好两个寄存器)。首先设置初值,使二极管熄灭并使比分显示为“00——00”,然后游戏开始,如左拍或右拍正确击球,相应方的比分加1分,否则比分保持原来比分不变。其流程图见图5。
图5 显示子程序流程图
4 结束语
本文作者创新点:整个设计以AT89C2051单片机为核心,充分利用了AT89C2051有限的外围引脚资源,实现了对“乒乓球”游戏机的左右操作及比分显示的控制。整个系统通过按键可以很方便地操作。且运行稳定,抗干扰能力强。真正实现了娱乐产品的智能化。
参考文献
[1] 李广第.单片机基础[M].北京:北京航空航天大学出版社,1993.
[2] 卢存伟,钱捷.微机原理及应用系统设计[M].南京:河海大学出版社,1992.
[3] 刘淑荣,丁录军.基于单片机控制的温度智能控制系统[J].微计算机信息,2003,19-7:29-30。
评论