按键反应速度测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空航天大学
课程设计报告
课程设计名称:微机系统综合课程设计
课程设计题目:按键反应速度测试
院(系):计算机学院
专业:计算机科学与技术
班级:计算机1203
学号:2012040101127
姓名:王庆贺
指导教师:张维君
说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。
学术诚信声明
本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名: 日期:年月日
沈阳航空航天大学课程设计任务书
目录
1 总体设计方案 (1)
1.1课程设计内容和要求 (1)
1.2设计原理 (1)
1.3设计思路 (1)
2 详细设计方案 (3)
2.1实现方法 (3)
2.1.1 硬件实现 (3)
2.1.2 软件实现 (3)
2.2模块设计 (4)
2.2.1 测试数字控制模块 (4)
2.2.2 按键状态读取模块 (5)
2.2.3 计时模块 (5)
2.2.4 显示模块 (6)
3 调试及结果分析 (8)
3.1调试步骤及方法 (8)
3.2实验结果 (8)
参考文献 (9)
附录 (10)
1 总体设计方案
1.1课程设计内容和要求
一、课程设计内容
在LED数码管上显示一组数字,按对应数字键后显示内容换成下一组数字。
累计按键的延迟时间,最后显示被测试者的总反应时间。
二、课程设计要求
1.认真查阅相关资料;
2.独立设计、调试并通过指导教师现场验收;
3.撰写课程设计报告。
1.2 设计原理
根据课程设计任务书的要求,通过单片机的P1口控制8个发光二极管,测试被测试者从看到所显示数字到按下对应数字键的反应时间,累计十次,并将测试出的时间显示在数码管上。
时间的计数通过单片机的定时器实现,程序开始先配置定时器,设置定时器的工作模式和计数初值,之后开启定时器中断和总中断,并启动定时器。在定时器启动同时,显示第一个数字,然后等待被测试者按下对应数字键,当按下对应数字键的时候,数码管显示下一组数字,再等待被测试者正确按下对应的数字键......这样重复十次。当被测试者最后一次正确按下对应数字键时候,定时器停止工作。之后根据计数器的定时计数情况,计算相应的反应时间,并在数码管上显示。
1.3 设计思路
本文基于LAB8000型实验箱,以51单片机为控制核心,连接矩阵键盘,数码管采用内驱方式,只需要连接KEY/LED CS就可以控制数码管的显示。
本文采用C语言编程,根据模块化设计思想,软件主要包括:测试数字控制模块、按键状态读取模块、计时模块和显示模块。
测试数字控制模块的主要功能是显示测试数字。
按键状态读取模块的主要功能是读取数字键盘的状态并判断数字正误情况。当计时开始的时候,显示第一个数字,然后等待被测试者按下对应数字键,当正确按下对应数字键的时候,数码管显示下一组数字,再等待被测试者正确按下对应的数字键......这样重复十次。当被测试者最后一次正确按下对应数字键时候,定时器停止工作。
计时模块的功能就是用来计算总的反应时间,总反应时间是从计时开始,点数码管显示第一个数字到拨动最后一个开关,计时结束这一段时间。
本文采用单片机的定时/计数器0进行时间的测量,首先配置计时器工作于计时模式二,即8位自动重装载模式,并使能总中断和定时器中断,这样启动定时器就可以计时了,当计数器溢出的时候,进入中断处理函数,在定时器中断函数处理中记录定时器的溢出次数,同时会将高位寄存器的初值自动装载入低位寄存器,重新开始计时。当测试结束时,停止计时,最终计算总的计数次数,得出计时时间。
显示模块的功能就是用来显示时间。
时间采用四位数码管进行显示,整数部分两位、小数部分也两位,单片机采用内驱的方式控制数码管的显示,在显示前,通过相应的算法得到十位、个位、十分位和百分位的字形码,通过单片机发送字形码以及相应的位选信号,就可以实现时间的显示了。
2 详细设计方案
2.1 实现方法
本文是基于LAB8000实验箱,并以单片机为控制核心的按键反应速度测试系统设计,系统分为硬件实现和软件实现两部分,下面将分别介绍。
2.1.1 硬件实现
硬件电路包括三部分:单片机、矩阵键盘和数码管。因为本文是基于LAB8000实验箱,相关的硬件电路已经设计好,我们需要做的就是进行相应的连线,具体的连线如表2.1所示。
表2.1 硬件连线
2.1.2 软件实现
软件实现是本文的重点,使用的是C语言编程,采用模块化的设计思想,根据系统要求和相关的硬件电路,软件实现可以分为三个部分:测试数字模块、按键状态读取模块、计时模块和显示模块。
具体的软件流程为:
1.定时器初始化;
2.开定时器中断和总中断;
3.启动定时器;
4.显示一个数字,等待被测试者按下对应数字键;
5.点亮另一个发光二极管……重复十次;
6.停止定时器;
7.计算总反应时间;
8.数码管显示总反应时间。