课程设计-反应速度测试仪(N)
河北工业大学《计算机硬件技术基础》
课 程 设 计 任 务 书
一、 题目:反应速度测试仪(REACTION TIME TRAINER)
二、目的与要求:
1.目的:
培养学生综合利用汇编语言进行程序设计的能力,主要是培养学生利用DP51-PROC综合实验仪的基本部件进行应用程序设计的技能。
2.基本要求:
能够完成反应速度(精度10ms)的测试工作,并将结果以闪烁形式显示在LED上。
(1)程序开始时亮灯进入准备状态,被测试者按一次按钮则灯灭,开始进行测试。
(2)2-8.3(2+(0~63)/10)秒后,一个灯亮起,受试者应该迅速按下指定按钮。
(3)灯亮时开始计时,被测试者按下按钮后停止计时并将灯熄灭。灯持续点亮的时间即为反应时间,然后按照反应速度让LED灯闪烁,闪的越快,说明反应时间越短。例如反应速度为0.25秒,则显示结果时每秒闪烁4次(占空比为1:1,即亮0.125秒,灭0.125秒,如此循环不止)。
(4)如果受试者超过1秒未按下按钮,停止计时,按最差成绩计算。
(5)显示结果时按一下按钮,则清除结果显示,进入准备状态,进行下一个测试。
(6)犯规处理:如果在灯亮前抢先按下按钮,则犯规,成绩作废,LED每秒闪烁一次,再次摁按钮后状态复位,准备下一个测试。
3.创新要求:
在基本要求达到后,进行创新设计。方向1:用LED灯显示成绩等级。方向2:用LCD屏或者LED数码管精确显示成绩。方向3:连续测试5次,显示平均成绩。方向4:加上音效提示,以不同频率的声音或者曲目表示结果等级及犯规提示。
LED灯显示成绩等级可以分为6等:
[0.1-0.2)秒(够快),亮5个灯 ●●●●●●
[0.2-0.3)秒(不错),亮4个灯 ●●●●●●
[0.3-0.6)秒(一般般) ,亮3个灯 ●●●●●●
[0.6-1)秒(反应迟钝),亮2个灯 ●●●●●●
>=1秒,亮1个灯(获一灯大师称号)●●●●● ●
可以用P1口接排线,让右面6个灯显示结果。左面的灯是准备好/指示灯。 如果使用LED数码管LCD屏显示,可以直接显示测到的毫秒数。
音效提示可以用测到的毫秒数转换为频率进行输出。100ms->100Hz,etc.
以上各创新方向可以同时进行。
三、设计方法和基本原理:
1.问题描述:
在要求中已经说的很清楚了,不再赘述。
2.问题的解决方案:
(1) 根据精度10ms(百分之一秒)可以得到定时初值为9216,宜采用方式1。
(2) 因为按钮的功能比较多,可使用查询方式处理(当然中断方式也可以处理),
P3.2接一个按钮(方便以中断方式实现),P1.1接个LED灯。
(3) 如果按方向1创新,则可用排线将P1口接到8个LED灯上。
(4) 如果按方向2创新,液晶屏或者LED阵列可以使用P1或者P3口输出。
四、主要技术问题的描述:
本题中的难点并不在于定时和显示,而在于随机数的产生和去除按键抖动。下面分别进行介绍。
1. 随机数的产生。
因为定时方式每秒有921600个脉冲(11.0592Hz晶振,12分频),其低8位的值在按下的一瞬间就是一个随机数,直接取出来就可以使用。具体用法如下:
程序运行开始(即灯亮起进入测试准备时间)时,启动一个定时器,直到用户按下按钮才停止定时器,这段时间定时器的低8位二进制值作为随机数即可。将这个数除于4(右移两位),得到一个0到63的数,然后再加上20,得到一个20-83的数,再按每个数100ms时长,就能算出一个2-8.3秒的时间。示例代码如下:
...
MOV TMOD,#1
SETB TR0
JB P3.2,$
CLR TR0
MOV A,TL0
ANL A,#11111100B
RR A
RR A
ADD A,#20 ;这时候A中的值就介于20-83了
然后再搞一个100ms溢出一次的定时,让A中的值成为循环次数,循环完成后就得到了2-8.3秒的延时。灯亮起并开始计时,用户按下后停止计时,然后处理并显示结果。
2. 去除按键抖动(以P1.0为例,其它口处理方法一样)。
按钮有触点式和非触点式两种,单片机中应用的一般是由机械触
点组成的。如右图。当按钮未被按下时,P10输入为高电平,按钮闭
合后,P10输入为低电平。由于按钮是机械触点,当机械触点断开、
闭合时,会有抖动,P10输入端的波形如右下图所示。一般为毫秒级,
典型值为10ms左右,有的开关可
达20ms以上。
为使CPU能正确地读出P1口
的状态,对每一次按钮只作一次响
应,就必须考虑如何去除抖动,常
用的去抖动的办法有两种:硬件法
和软件法。因为硬件处理需要增加
额外电路,单片机中常用软件法。
软件法其实很简单,就是在单片机获得P10为低的信息后,不是立即认定按钮已被按下,而是延时10毫秒或更长一些时间后再次检测P10口,如果仍为低,说明按键的确按下了,这实际上是避开了按钮按下时的抖动时间。而在检测到按钮释放后(P10为高)再延时10-20个毫秒,消除后沿的抖动,然后再对键值处理。样例处理程序如下:
;假设P1.0接按钮,P1.1接灯
CLR P1.1 ;亮灯,准备好状态
JB P1.0,$ ;待启动按钮
ACALL DELAY20 ;消除抖动延时,10-20ms
JB 1.0,$ ;确认按下
JNB 1.0,$ ;等待抬起
ACALL DELAY20 ;消除抖动
JNB P1.0,$ ;确认抬起
SETB P1.1 ;灯灭
相关文章
- 青少年身体素质敏感期测定及其体育课程设置探析
- 研究生课程论文-运动生物力学
- 远程教学模式
- 青少年体质调查
- 有机合成路线设计的技巧
- 移动机器人期末论文
- 软件工程设计报告
- 发动机台架系统课程设计
- 电子设计竞赛报告
第28卷第2期2011年3月 河北工业科技 HebeiJournalofIndustrialScienceandTechnology Vol.28,No.2Mar.2011 文章编号:1008 1534(2011)02 0112 03 青少 ...
武 汉 体 育 学 院 研 究 生 课 程 论 文 论文题目 运动生物力学 任课教师 柏开祥 完成时间 2011年12月17日 课程名称 运动生物力学 专 业 体育教学 年 级 2011级研究生四班 第一题:论述运动生物力学的理论基础 运动 ...
远程教学 一.远程教育的教学系统开发和教学设计理论 开放与远程教育对教育理论和时间的最大贡献正是对远程教育课程资源的教学设计和对远程教学和远程学习全过程的教学系统开发.远程教育课程资源的教学设计开发包括对远程教育课程设置,多种媒体课程材料的 ...
我国青少年体质健康发展报告 体育卫生艺术教育研究中心1 简介:本报告为中央教育科学研究所和教育部体育卫生与艺术教育司合作开展项目"<国家学生体质健康标准>测试统计分析"和国家哲学社会科学研究一般项目" ...
第30卷 内蒙古石油化工 51 有机合成路线设计的技巧 刘兴旺 (内蒙古科技大学化学与化工学院) 摘 要:有机化学是高等学校化学.化工类各专业的一门重要基础课程.近年来,有机化学发展非常迅速,反映在近年出版的各种教材中,新知浩瀚,内容异常丰 ...
基于移动机器人的基础性研究 摘要 移动机器人是一种能够通过传感器感知外界环境和自身状态,实现有障碍物的环境中根据要求进行自主运动,从而完成一定作业功能的机器人系统. 本论文主要介绍研究的是基于Basic Stamp 2(BS2)微控制器的移 ...
软件工程课程设计报告 课 题: 学生学籍管理系统 专业班级: 电子商务(技术方向)1班 小组成员: 叶忠妮 / 杨鸿淇 学 号: [1**********] / [1**********] 指导教师: 目录 一.引言............ ...
1. 设计意义 近年来,在市场和政策的支持下,我国汽车工业从规模到水平均飞速发展.但是,我们的汽车核心技术研发水平仍未能跟上产业的发展速度,其中发动机技术,作为汽车技术的一大核心,更是亟待我们突破的一个领域.而发动机测试技术,又对于发动机整 ...
风力摆控制系统(B 题)[本科组]摘要 系统以 STM32F103ZET6 最小系统单片机为控制核心, 设计制作了风力摆控制 系统.该系统主要包括 STM32 控制模块.电源模块.轴流风机驱动模块.陀螺仪 (MPU6050)及信息采集模块. ...