1、1乒乓球发球机控制器软件设计摘 要本文针对乒乓球发球的特点,模拟设计了一种乒乓球发球机控制器。该发球机控制器由 8 位单片机 STC89C51 为核心的硬件电路和相关软件编程组合而成。实现改变发球速度、发球高度及角度等的功能,以满足练习者的不同技术需求,同时设置了随机发球模式,实现落球点的随机变化。本课题的软件设计采用了主函数调用各状态子程序的方法,完成了按键控制、液晶显示、驱动电机调速的功能。配合本组同学的硬件设计完成了单片机外围硬件电路的设计,其中包括电动机驱动模块、键盘模块及液晶显示模块。最后我们在完成硬件电路的分析和软件模块调试的基础上,进行了联机调试,对各模块电路实行软硬件检测,有效
2、地将两者结合起来,完成了系统的整体控制。关键词:乒乓球发球机,控制器,发球模式,单片机2ABSTRACTConsidering the characteristics of the table tennis served,the thesis designs a kind of table tennis serving controller. It is consist of traditional 8 monolithic integrated circuitsSTC89C51 for the hardware circuit design and related software C51
3、for programming design. It can accomplish the function of changing the balls speed,altitude and angle,in order to satisfy the needs of people. Meanwhile the random serving patten was designed and the fall points of the table tennis become randomly.The software in this essay is designed using the for
4、m that the main function calls a subroutine,and finishing the function of button control,liquid crystal display,drive motor speed regulation.The hardware design produced a peripheral circuit of monolithic integrated circuits including the drive motor module,keyboard module and LCD display module. Fi
5、nally,on the basis of finishing hardware circuit analysis and software module debug, we match the soft and hardware and test all modules carefully, then the basic function of the system achieves the desired effect.KEYWORDS: the table tennis serving machine,controller,serving pattern,single chip micr
6、ocomputer3目录第一章 绪论 .11.1 本课题的研 究背景和意义 .11.2 国内外乒乓球发球机的研究现状 .11 2 1 国外乒乓球发球机的研究现状 .21 2 2 国内乒乓球发球机的研究现状 .41.3 本课题研究内容与设计步骤 .51.3.1 本课题研究内容 .51.3.2 本课题设计步骤 .6第 2 章 乒乓球发球机控制器设计分析 .82.1 乒乓球发球机的结构及电动机选择 .82.2 主控单片机的选型 .92.2.1 单片机的主要特性 .92.3 液晶显示芯片的选择 .102.3.1 LCD12864 引脚说明 .112.3.2 LCD12864 工作时序 .122.4 驱
7、动芯片的选择 .132.4.1 L298N 引脚说明 .132.5 步进电机的调速方法 .152.5.1 步进电动机概述 .152.5.2 步进电动机的调速 .152.6 直流电动机的调速方法 .152.6.1 直流电动机概述 .152.6.2 直流电动机的调速 .16第 3 章 乒乓球发球机控制器硬件设计 .173.1 总体设计 .183.2 单片机的最小系统 .183.3 驱动电路模块 .193.4 按键电路模块 .203.5 LCD 液晶显示电路模块 .20第 4 章 乒乓球发球机控制器软件设计 .214.1 系统软件设计概述 .214.1.1 软件程序编写的原则 .214.1.2 程序
8、设计方法 .224.1.3 软件设计步骤 .234.2 编译软件介绍 .2344.3 系统各部分流程图 .244.3.1 主程序流程 .244.3.2 LCD12864 流程 .254.3.3 按键流程 .274.3.4 电机驱动流程 .294.3.4.1 直流电机驱动流程 .304.3.4.2 步进电机驱动流程 .31第 5 章 系统调试 .325.1 硬件调试 .325.1.1 硬件静态调试 .325.1.2 硬件动态调试 .335.2 软件调试 .335.3 联机调试 .345.4 调试结果 .35第 6 章 结束语 .376.1 总结 .376.2 心得体会 .37致 谢 .38参考文
9、献 .39附 录 .40附录一 硬件实物图 .40附录二 硬件原理图 .41附录三 程序 .421第一章 绪论本章从该课题的研究背景出发,提出了本设计的必要性。其次,介绍了国内外的研究现状。最后,对该课题的研究内容和设计流程进行了简单的描述。从整体上把握了基于 51 单片机控制的乒乓球发球机控制器的设计原则和内容,为完成本次设计做出预备工作。1.1 本课题的研究背景和意义随着中国在世界上的地位越来越举足轻重,我国的体育事业也正在蓬勃发展。从第一届奥林匹克运动会没有亚洲人的身影,到 2008 年我们中国作为东道主,自己举办奥运会,很多项目都取得了零随着我国运动员在奥运会中连续取得佳绩,让人们在为
10、体育健儿加油喝彩的同时,也极大地调动了全国人民投入体育运动的热情。乒乓球作为我国的国球,更是得到很多人的喜爱。它集健身、竞技、娱乐于一体,不仅可以锻炼身体,还可以练习头脑的灵活性、眼睛的反应力以及全身的协调性。但是对于初学者,捡球的时间却比真正在台上打球的时间多,这样要提高技术水平就很慢,也会削弱人们对乒乓球的兴趣。对于一些高水平的选手,由于人手发球速度和频率比较慢,而且陪练员长时间发球也不太可能,因此要进行变化多、强度大的多球练习比较困难,而且从经济观点或科研方面考虑,乒乓球发球机的开发、研究与应用都能极大地推动体育运动事业的发展。正是在这种情况下,研究乒乓球发球机是极其必要的。1.2 国内
11、外乒乓球发球机的研究现状对于乒乓球发球机的研究可以追溯至六十年代末和七十年代初,当时欧洲出现了乒乓球发球机。它通过一定的机械装置,按乒乓球技术训练的不同要求,将球不断发射出来。发球机发出的球,比人速度更快,力量大,且旋转更强,所以,它对提高乒乓球运动员的训练水平有一定的作用。2目前市场上销售的乒乓球发球机,按控制类型可以分为两类:一类是半自动,简单操作系列;另一类是全自动,电脑程控系列。半自动式,无论是安装还是使用都比较麻烦,而且发球的方式、力量、速度都是固定的,如果要改变各项技术参数,就必须停下来,人工来校准调整机头旋转角度,来实现各种旋转球,手动抬高或降低机头,来调整球的射程弧度,而且机械
12、性能比较差,经常卡球,但这类产品还是受到很多人的青睐,因为它的价格低,符合大多数人的需求。全自动式,是由全电脑程控的,能模拟运动员常用的技术,可发出很多高性能的球,可以模拟真人发球,还能发多种速度不同的球,人性化的设计能够满足不同技术水平的人的需要,技术好的可以选择多速度和角度发球;技术不好的可以选择基本发球。而且其电脑记忆功能还能记录球员打球的路数,能起到专业陪练效果。这种机器虽然性能很高,但价格也比较贵,令很多人望而止步。按出球方式可以分为三类:一类是轮式发球机,一类是压气式发球机,另一类是捶击式发球机。其中轮式发球机的原理是由于装有轮子的通道空间很小,当球从滑轨滚入通道时,轮子就将球喷出
13、。这种情况和小石头被打滑的车轮喷出是一样的。这种发球方式有两种,一种是单轮驱动,另一种是双轮驱动。单轮驱动发球机的弊端是:发出来的球如果速度快,那么同时旋转也强;如果速度慢,那么同时旋转也弱。这和人们实战打球是完全不同的,实际上球速和旋转并不是完全成正比的,比如攻球的速度最快,但是旋转并不强;而弧圈球虽然旋转极强,但是速度未必很快。双轮驱动的发球机完全解决了单轮驱动速度和旋转的矛盾,可发出各种旋转的球,同时也可以发出不转球。压缩式发球机是利用空气压缩机来发射球的,球被装入长桶的底部由一个窄口固定住,这个窄口的直径比球的直径略小一些。当压缩空气推挤乒乓球穿过窄口的时候,球就被发射出去了。这种发球
14、机的缺点是噪音极大而且不能提供高的性能,同时,空气压缩消耗的功率很大,难以使用电池来供电;它的优点是价格比较便宜。捶击式发球机有多种设计方案,最常见的是通过凸轮带动摆杆,将落入发球口的乒乓球击出去,这种方式性能单一,而且不方便控制,已经逐渐被淘汰。121 国外乒乓球发球机的研究现状3国外的乒乓球发球机发展比较快,其功能比较齐全,自动性能也比较高,既可以满足普通练习者的需求,也可以满足专业运动员的要求。目前,世界上生产乒乓球发球机的厂家比较多,具有代表意义的厂家是美国的 LNEWGY 公司和日本的Butterfly 公司。1 LNEWGY 公司之乐吉发球机:其发球原理是由电动机带动的位置可调旋转
15、轮和一固定的摩擦块组成发射机构,当球进入发球通道,由旋转轮将球旋出发球口来,旋转轮的位置不同,则可得到不同旋向的球。该系列乒乓球发球机一般可分为三个等级,初级发球机是为初学者和娱乐者设计的,中级发球机是为中级和比赛级球员设计的,而高级发球机是专为专业运动员和爱好乒乓球的行家设计。该系列发球机的特点之一是使用者可以根据自己的水平状况选择合适的发球机等级,当水平提高时,该发球机可以通过升级包,快速方便的达到高的等级。通过控制球桌旁的控制盒可以调节发球速度、发球频率、旋转速度以及出球口角度:通过手动调节出球口上的旋钮可以发射出上旋、逆旋、侧旋甚至混合旋转等各种旋向的球;通过手动调节发球机后的两个控制
16、杆可以实现发球角度摆动范围的变化,利用两杆的不同组合可有八种摆动范围选择,还可实现定点发球;通过设置球型号开关调节旋转轮与摩擦块之间距离,可以选择适合所使用球型的发射轨道;通过将发球机安装在不同的位置可以实现不同的发球角度和发射弧度。2.Butterfly 公司之 Amicus 发球机:其发球原理是采用两个高速旋转的轮子(旋转方向相反),由于轮子的空间小于球的直径,当球从滚道滚入两轮之间的时候,轮子将球旋出,但它只能形成45的侧旋球。其旋转速度和球发射速度没有关联,可以发射慢旋的短球和快速的突发球,这是同类发球机无法做到的。该发球机有三个不同的发球模式可选择,一种是规则模式,发射固定落点的球;
17、一种是自动模式,发射随机球或组合球;另外一种是自定义模式,根据需求自己编写发球模式的程序。同时它具有记忆功能,能够保存使用者输入的程序以及4记录前一使用者的选择模式和命令。在使用者一端装有控制界面,实现对发球机的远程控制。该发球机结构紧凑,底座下有轮子,使用者可方便调整发球机位置,但其高度不能调节。122 国内乒乓球发球机的研究现状相对国外而言,国内的乒乓球发球机起步比较晚,但发展很快,从最初的全手动发球机到现在的全自动发球机,甚至有些产品性能超过了国外的同类产品。主要有以下几个典型方面:1.半自动式乒乓球发球机:该发球机是福建省的林清云所设计的,其机械结构包括机身壳体、基座、储球斗、发球机构
18、、弧度调节机构、角度摆动机构及电机调速电路。其工作原理是:由于储球斗装于机器上方,乒乓球可通过自身重力落入发球机构,发球机构中的拨叉在电动机的带动下击打落入球道的乒乓球,乒乓球经球道前端的摩擦辊高速切搓后成旋转状飞出球道。其发球机构由拨叉、电动机和凸轮组成,拨叉由 L 形臂和直臂两部分组成,与机身底盘间有一弹簧相连,L 形臂可摆动到球道的入球端,直臂与双扇结构的凸轮面相接触。通过电动机带动凸轮转动,在弹簧的作用下,拨叉即可做出打击动作,将乒乓球击出。其弧度调节机构可以调节出球的弧线,而角度摆动机构完成出球角度的左右摆动变化,形成丰富的出球线路;电机调速电路即可控制出球频度和旋转强度。该发球机的
19、特点是结构简单,发球速度快,经济实惠;缺点是故障率高,质量差、发球变化少,调节不方便。2.双蛇牌乒乓球发球机:该发球机是双蛇公司研发生产的全自动电脑控制操作系列的发球机,它是在研究总结众多发球机的优缺点的基础上,专为乒乓球运动爱好者开发出的具有突破性的创意产品。其主要特点是通过电脑编成实现“一键一功能”,即使用者通过遥控器或者控制面板上的按键来改变发球特性,只要按一下按键,就可以自动发出攻球、前冲弧圈球、削球、长胶球、高吊球性能的球;还可以自动发出上旋球、5下旋球、不转球、右侧上、右侧下、左侧上、左侧下、右侧旋、左侧旋九种基本旋转发球方式的球。该发球装置设计有云台旋转机构,并安装有旋转角度极限
20、装置,可以左右各旋转 20 度,在训练时,使用者可根据自己的需求进行任意调整,通过细调可以派生出多种多样性能的球,从而使发出的球更接近人工发球,也更具有人性化。发球装置主球道的滑轨设计为三根可更换式的滑轨,从而解决了球在此段摩擦大,运行中阻力大的缺点。其机头摩擦轮设计为组装式,由轮毅、压圈和橡胶组成,其优点是更换橡胶圈方便,成本低,保证射点准确。其电脑控制系统具有记忆功能,使得在关机前处于什么状态,再次开机时会仍然处于该状态。由于其旋转机构需手动调机,使整个装置不能完全实现自动化。3.许绍发智能乒乓球教练机:该发球机是由三鼎公司采用生产研制,采用微电脑控制,在一定程度上实现了训练过程的自动化,
21、其桌面分割为多个小方块,可根据程序设定准确地将球射到指定区域。它利用对转双轮原理的特性,借助轮子与球之间的摩擦力来获取能量,使球获得一定的初速度将球发射出去。按照使用者要求可发射各种旋向球和不转球,可任意改变球的落点,落点与旋向可任意组合。有 300 个训练程序可选择,使用者可根据自己需求来输入所需程序。它比现实市面销售的同类产品领先的关键在于它的可控制性,它抛出的球接近人工打球的速度、旋转弧线。其不足之处是不能像真正的人工发球可根据实际情况来应变发球,由于发球程序模式所限,所发球具有一定的规律性。尽管乒乓球发球机经过多年发展,己有很大改进,但发球机“打”出的球和人打得球还是许多不同:一是发球
22、机发出来的球和运动员实际打过去的球在性能上不大相同;二是运动员打球时都有一个挥球拍动作,接球者可以借此来判断和反应,而发球机发出的球则很突然,接球者不好判断。1.3 本课题研究内容与设计步骤1.3.1 本课题研究内容6本课题的研究内容包括以下几个部分:研究乒乓球发球机控制系统方案,了解单片机的特性、C 语言程序设计、PROTEL 仿真环境、基本实验、扩展实验及其使用方法。熟悉芯片各个部分的功能及 L298 控制电机设计。进行基于单片机控制的乒乓球发球机软件设计,与其他同学配合实现乒乓球发球机控制系统软硬件结合,实现所需要的功能。具体而言:(1) 了解 STC89C51 单片机的特性、指令系统、程序设计、Keil uVision 开发环境;(2) 研究、分析乒乓球发球机控制系统设计方案;(3) 分析自动乒乓球发球机的工作原理及工作过程;(4) 实现基于 51 单片机控制的控制系统软、硬件联机控制。1.3.2 本课题设计步骤本课题的研究与设计为时一个学期,经历了选题、选择方案、硬件设计、软件编写、调试等过程,具体的流程如图 1.1 所示: