东南大学自动化学院-Read.DOC

东南大学自动化学院-Read

东南大学自动化学院 《微机实验及课程设计》 课程设计报告 ——移动靶射击比赛 姓 名: 秦蓓蓓 学 号: 专 业: 自动化 实 验 室: 103 组 别: 同组人员: 设计时间:2007年 9 月 1 日 —— 2007年 10 月 15 日 评定成绩: 审阅教师: 目 录 一. 简介………………………………………………………第3页 二. 基本原理…………………………………………………第4页 三、流程设计及编程实现……………………………………第6页 四.测试方案与测试结果……………………………………第19页 五.分析与讨论………………………………………………第20页 一. 简介 1、 目的 (1)用8 个LED 发光管的来回滚动显示或跳跃运动显示来模拟靶的移动,用按1~8 数字键(对应8 个LED)来模拟射击,如果在某个LED 点亮期间按下相应数字键,表示射中并熄灯(全部熄),记录射中次数。 (2)比赛规则可有以下两种: 比赛规则1:靶始终来回不断地移动(一旦射中则从头开始滚动),在规定的时间(如50 秒)和规定的射击次数(如20 次)内看谁的射中次数多谁获胜; 比赛规则2:总共有若干个(如20 个)移动靶,每个靶的移动时间限制在一定的时间范围内(如5 秒),要求在此时间内射击,若射中则记一分并出现下一个移动靶,若未射中或在规定时间内未射击则不记分并出现下一个移动靶。同样看谁的射中次数多谁就获胜。 (3) 要求精确定时中断计时; 2、基本设计要求: (1) 用一个按钮作为比赛开始总按钮,2 个八段数码管倒计数规定时间,扩展的6 个八段数码管记录射中次数;也可合在6 个数码管上显示时间和分数; (2) 靶以较快的移动速度(如每0.5 秒点亮1 个LED)从左到右或从右到左移动; (3) 射击需在“靶”出现(即LED 亮)时进行(按下相应数字键),一直按着键或提前按下键不起射击作用; (4) 按比赛规则(1)或(2)设计相应的记分方法。 2)设计提示 靶移到某个位置后立即读相应数字键的状态,若未按下则有效(若已按则无效),然后不断读此键的状 态,直到按下代表“射击”动作。 3、提高部分设计要求 (1) 用8×8 点阵显示射击的动画效果(模拟靶移动、射击点以及射击直线); (2) 通过拨动开关改变靶的移动速度,即每个LED 点亮时间分别为0.5 秒、0.3 秒或0.15 秒; (3)通过拨动开关改变靶的移动方式: ① 发光二极管1,2,3,…,7,8,7,6,…,2,1,…,如此往复; ② 发光二极管1,3,5,7,8,6,4,2,1,…,如此往复。 ③ 编写1 个随机数产生子程序,靶的移动速度与靶的移动方式(即靶的移动方向)由产生的随机数确定,使每次靶的移动速度与移动方式均不同(增加射击难度)。 注:可以用键盘在线设定,用开关对应位置打靶,如开关K1 对应LED 灯L1),提高打靶直观性. 4、实现情况 (1) 用试验箱上的单脉冲触发按钮作为比赛开始总按钮,用小键盘上的4 个八段数码管分别倒计数规定时间和记录射中次数; (2) 靶以较快的移动速度移动,其移动方式可用PC键盘上的‘1’(移动方式1)、‘2’(移动方式2)、‘3’(移动方式3)键来选择,靶的移动间隔时间可用PC键盘上的‘H’(HARD-0.15S)、‘M’(MIDDLE-0.3S)、‘E’(EASY-0.5S)键来选择;其中在游戏过程中也可随时按下‘H’‘M’‘E’这三个键以随时改变八德移动间隔时间,从而增加射击难度。 (3) 射击时需下拨相应开关(K0~K7),在射击后需将相应的开关上拨,一直将开关下拨或提前拨下开关不起射击作用,同时再屏幕上动态显示射击情况:当开关下拨打中时,显示“Pressed”;当开关下拨并且打中时,显示“Score”; (4) 此设计按比赛规则(1)进行,并设计相应的记分方法。 (5)int_proc、数码管显示程序disp、射击轨迹显示程序line、随机数子程序iRand、微小延时子程序delay。其相互关系如图1 图1 “移动靶射击比赛”的基本设计原理如图2: 图2 基本原理图 三、流程设计及编程实现 在介绍各部分程序前,对程序中用到的变量做简单说明: sym_end 程序结束标志 led_now db 0 key11 db 0; counter_time

文档评论(0)

1亿VIP精品文档

相关文档