- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机综合设计 综合测试题——乒乓球比赛 1)基本要求 用8个LED发光管的来回滚动显示模拟打乒乓球时乒乓球在两边球台上的来回运动。比赛双方用按按钮(双方各用1个按钮)的方法来模拟发球与接球,即发球方按动其控制的按钮,球从发球方一侧向对方运动(LED发光管从发球方到对方逐个点亮,滚动显示)。当球运动至接球方时,接球方立即按动其控制的按钮,“击球”使球“弹回”发球方一侧。如此周而复始,直至在规定的击球时间内有一方未能完成击球动作,从而对方得一分;然后继续比赛。比赛规则可参照一般的乒乓球比赛规则。 比赛规则制订: (1)十一分制(两球轮换发球)二十一分制(五球轮换发球)。可用一位开关设定。 (2)发球方的初始状态为:靠近已方的第1个LED闪烁发光,表示发球权的归属。应根据规则由系统自动设定初始状态。一般要求可自行定义首次开局由左方先行发球。 (3)失球后(未完成击球动作)应在八段码显示得失分数,并判断是否换发球,以继续比赛。 (4)由开始时刻对规则的设定,当计满最高分时,(十一分、二十一分)结束当前局比赛,并熄灭所有LED发光管,(当前局结束标志)按键重新开始交换发球权,回到规则(2)。 (5)设定3局2胜或5局3胜制,比赛结束八段码显示胜负局数,按键后可重新开始。 设计要求: (1)球以每0.5s滚过1个LED的速度移动。 (2)回球需在球到达后的0.5s内进行(按下按钮),否则按失球计。 (3)球未到达提前按下按钮不起回球作用。 (4)用4个八段码为双方记分(每方2个八段码,十进制计数,初始值0:0)。 2)设计提示 球到达接球方后,立即读接球方的按钮状态,若未按则有效(若已按下则无效),然后不断读此按钮状态,直到按下代表“击球”动作。 3)进一步设计要求 (1)通过拨动开关改变球移动速度,即每个LED管点亮时间分别为0.5s、0.4S,0.3s、0.2s。 (2)通过拨动开关改变允许击球时间0.3s、0.2s、0.1s。 (3)球移动速度取决于击球时间,即球移动速度(每个LED点亮时间)在0.2~0.5s内可变,具体取决于球到达接球方后击球所花的时间0~0.5s,如花的时间短则回球后球移动速度快,反之回球后移动速度慢,如表1所示。 表1 球移动速度与击球时间对应表 (4)发球权由争球决定,开始时刻8个LED发光管的第4个或第5个(中间位置)闪烁,按键或拔动开关产生1个随机数(0、1),0则向左方向,1则向右方向滚动争球比赛开始,得分方获发球权,正式比赛开始。 (4)发球权由争球决定,开始时刻8个LED发光管的第4个或第5个(中间位置)闪烁,按键或拔动开关产生1个随机数(0、1),0则向左方向,1则向右方向滚动争球比赛开始,得分方获发球权,正式比赛开始。 (4)发球权由争球决定,开始时刻8个LED发光管的第4个或第5个(中间位置)闪烁,按键或拔动开关产生1个随机数(0、1),0则向左方向,1则向右方向滚动争球比赛开始,得分方获发球权,正式比赛开始。 一、乒乓球比赛程序的数据设计 为叙述简单起见,将比赛双方称为A和B (1) 确定每局的比赛分数(即是11分一局还是21分一局),这可定义一个称为V1的变量,它的内容为11或21,表示一局比赛的分数,其数值用一个称为K1的拨动开关决定,可定义为当K1为“0”时,V1=11;K1为“1”时,V1=21。 (2) 确定每方的发球次数 按照乒乓球比赛规定,若采用11分一局的赛制,每方发球次数为2;若采用21分一局的赛制,每方发球次数为5。故再定义一个称为V2的变量,它的内容为2或5,表示每方的发球次数,其数值同样由上述的K1开关所确定,可定义为当K1为“0”时,V2=2;K1为“1”时,V2=5。 (3) 确定每盘的获胜局数 这也是定义一个称为V3的变量,其内容为2或3,分别表示“3局2胜”或“5局3胜”,其数值用一个称为K2的拨动开关决定,可定义为当K2为“0”时,V3=2;K2为“1”时,V3=3。 (4) 确定发球方 这可定义一个称为V4的逻辑变量,其内容为“0”或“1”,可规定为当V4=“0”时由A发球;而当V4=“1”时由B发球。若希望改变发球方,只要对V4变量执行“取反”操作即可。 以下讲述“在比赛中如何确定发球方?”的处理方法,这只要为比赛双方分别定义两个“发球计数器”(用符号CA和CB表示),每赛完一分,先执行“将当前发球方的发球计数器的内容加1”的操作,再进行“当前发球方的发球计数器的内容是否小于变量V2?”的判断,若成立就维持当前发球方的发球权,否则就执行“将当前发球方的发球计数器清除为0”的动作后,再改变发球方。
文档评论(0)