单片机原理 人体反应测速
一种基于单片机的人体对外界刺激反应时间测量装置[实用新型专利]
专利名称:一种基于单片机的人体对外界刺激反应时间测量装置
专利类型:实用新型专利
发明人:王佐,钟光录,赵承星
申请号:CN201120422259.7
申请日:20111031
公开号:CN202386696U
公开日:
20120822
专利内容由知识产权出版社提供
摘要:本实用新型涉及人体反应测量装置,特别是一种基于单片机的人体对外界刺激反应时间测量装置。
包括有光敏传感器、带有定时器的单片机和按键,按键与单片机连接,光敏传感器与单片机连接,所述的电脑主机与单片机连接,单片机与电脑主机之间设有USB转UART接口模块。
本实用新型具有高精度、操作简单、适应范围广的特点。
申请人:王佐
地址:723000 陕西省汉中市汉台区朝阳路陕西理工学院物理系
国籍:CN
更多信息请下载全文后查看。
基于单片机的测速仪的设计与实现
基于单片机的测速仪的设计与实现在现代科技飞速发展的时代,测速仪在各个领域都有着广泛的应用,比如交通管理、工业生产、运动竞技等。
而基于单片机的测速仪因其成本低、性能稳定、易于实现等优点,成为了测速领域的重要研究方向。
一、测速仪的工作原理要理解基于单片机的测速仪的设计,首先需要了解其工作原理。
常见的测速方法有多种,如激光测速、雷达测速、编码器测速等。
在本次设计中,我们采用了编码器测速的方法。
编码器是一种能够将机械运动转换为电信号的装置。
当被测物体运动时,带动编码器旋转,编码器会输出一系列的脉冲信号。
通过测量这些脉冲信号的频率,就可以计算出被测物体的速度。
二、单片机的选择单片机是整个测速仪的核心控制单元,其性能直接影响到测速仪的准确性和稳定性。
在众多的单片机型号中,我们选择了 STM32 系列单片机。
STM32 单片机具有高性能、低功耗、丰富的外设资源等优点,能够满足测速仪的设计需求。
三、硬件电路设计硬件电路设计是测速仪实现的基础。
主要包括以下几个部分:1、传感器接口电路用于连接编码器,将编码器输出的脉冲信号传输给单片机。
2、单片机最小系统包括单片机芯片、时钟电路、复位电路等,为单片机的正常工作提供必要的条件。
3、显示电路用于显示测量到的速度值,可以选择液晶显示屏(LCD)或者数码管。
4、电源电路为整个系统提供稳定的电源。
四、软件设计软件设计是测速仪实现功能的关键。
主要包括以下几个步骤:1、初始化设置对单片机的各个外设进行初始化,如定时器、中断等。
2、脉冲信号采集通过定时器捕获编码器输出的脉冲信号,并计算脉冲的频率。
3、速度计算根据脉冲频率和编码器的参数,计算出被测物体的速度。
4、显示输出将计算得到的速度值通过显示电路进行显示。
五、系统调试在完成硬件和软件设计后,需要对整个系统进行调试。
调试过程中,可能会遇到各种问题,如脉冲信号丢失、速度计算不准确、显示异常等。
针对这些问题,需要仔细分析,逐步排查,找出问题的根源,并进行相应的修改和优化。
基于单片机的液体点滴红外测速
基于单片机的液体点滴红外测速内蒙古大学本科学年论文(设计) 第 - 1 - 页2011-5-13基于单片机的液体点滴红外测速第一章绪论1.1 本论文研究的背景静脉输液是临床医学中的一个重要的治疗手段和医学监护的一项重要内容,在各个医院的医疗工作中被广泛应用,据统计住院输液率为70% ~ 80%。
它不仅是一种重要的给药途径,而且还是给患者补充体液、营养的重要方法。
在输液过程中,输液速度是一个很重要的参数, 一般要根据患者年龄、病情和药物种类等因素来分别确定。
同时,在静脉输液过程中,必须有人陪护,以防鼓包等事故发生,尤其对术后几乎需要24小时不间断输液的患者的监护,更是让护理者身心憔悴。
当护理者发生困倦时,极易发生事故。
通过调查得知,目前几乎所有医院因种种原因仍没有采用输液监控系统,而是采用传统的输液方法, 即将液体容器挂在一定高度,利用液体静压原理与大气压的作用使液体下滴,将大量灭菌药液直接滴入静脉内,从而达到治疗目的。
用软管夹对软管夹紧和放松控制滴速,医护人员按药剂特性对滴速进行控制。
由于这种滴速控制是通过肉眼观察进行估计的,需要根据经验来调节, 使得点滴流速不够准确,影响了治疗效果,以至危害病人健康。
当液体输完时,如床旁无陪护或医护人员未内蒙古大学本科学年论文(设计) 第 - 2 - 页2011-5-13 及时换药或拔针头,将会出现回血等情况。
为此患者家属需要陪同病人并且不断地观察输液情况,这样容易导致交叉感染,患者也得不到良好的休息,影响治疗质量和患者康复。
同时,护士也需要不停地巡视病房,增加工作负荷,有时还会产生医疗纠纷。
基于以上情况,针对上述现象,我们需要一种能够动态显示滴速、精确控制点滴滴速,并且能在液体走空前发出声像警报的低价、实用、智能的输液控制报警系统,对治疗过程采用自动化监控和管理是发展的必然趋势。
1.2 国内外研究现状及发展趋势陷国外对智能型输液装置的研究较早,如日本、美国和德国等国家上世纪八十年代末就进行了智能型输液装置的研制。
【速度】人体反应速度测试仪制作报告
【关键字】速度人体反应速度测试仪制作报告学院:学生:设计框图:硬件部分直流5V稳压电源模块——方案:用7805芯片实现电源模块,7805部分参数如下——电路图如下通过multisim仿真软件将元件参数确定,节省了调试时间,并且一次完成焊接,使电路美观实用。
整个系统共用一个电源使系统不需要在接参考地。
红外感应模块——方案:核心是LM339比较器集成芯片,部分参数如下——控制电路虽说只用了其中一部分,但集成芯片比较可靠,而且多部分集成使得焊接时少一些后顾之忧,提高板子利用程度。
利用红外对管分压的变化加上LM339对电压的放大实现负跳变信号的引入,完成本身开关控制的功能。
电路图如下——单片机系统(CPU模块)方案——使用芯片STC89C52RC,此芯片是一款低价,低功耗,而且内存充足的单片机。
最小系统如图晶振为11.0592MHz。
作为处理器,应用其定时器中断,引脚电平检测,外围电路有三极管放大电路(使其足以驱动蜂鸣器)等。
控制流程显示系统方案——此系统采用1602液晶显示屏,1602不能显示汉字等复杂字符,但足以满足本题需要,并且使用简单。
软件部分流程设计如上图。
代码如下#include<reg52.h>sbit Red=P1^0;sbit Green=P1^1;sbit rs=P2^0;sbit rw=P2^1;sbit en=P2^2;sbit BUZZER=P2^3;sbit s1=P2^4;unsigned char tt=0,miao=30; unsigned char code b[]={"ms"}; void delay(unsigned int z){unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void buzzer(){BUZZER=1;delay(500);BUZZER=0;delay(500);}void red(){while(1){Red=0;delay(500);Red=1;delay(500);}}void write_com(unsigned char com) {rs=0;rw=0;en=0;P0=com;delay(5);en=1;delay(5);en=0;}void write_data(unsigned char date){rs=1;rw=0;P0=date;delay(5);en=1;delay(5);en=0;}void write_sfm(unsigned char date) {unsigned char shi,ge;shi=date/10;ge=date%10;write_com(0x80+4);write_data(0x30+shi);write_data(0x30+ge);}void init(){unsigned char i;write_com(0x38);delay(1);write_com(0x0c);delay(1);write_com(0x06);delay(1);write_com(0x01);delay(1);i=0;write_com(0x80+0x40+10);while(b[i]!='\0'){write_data(b[i]);i++;}TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;EX0=1;IT0=0;TR0=0;delay(1);}void main(){BUZZER=0;init();while(1){if(s1==0)break;}TR0=1;Red=0;write_sfm(30);while(miao!=0){if(tt==20){tt=0;miao--;write_sfm(miao);}}ET0=0;TR0=0;TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=1;ET0=1;TR0=1;buzzer();Red=1;Green=0;while(1);}void time() interrupt 1{if(miao!=0){TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt++;}else if(miao==0){TH0=(65536-1000)/256;TL0=(65536-1000)%256;tt++;}}void intersvr0() interrupt 0{unsigned char date;unsigned char bai;unsigned char shi;unsigned char ge;if(miao!=0){buzzer();buzzer();buzzer();red();}else if(miao==0){date=tt;bai=date/100;shi=(date%100)/10;ge=(date%100)%10;write_com(0x80+0x40+4);write_data(0x30+bai);write_data(0x30+shi);write_data(0x30+ge);}}系统测试将各个组件组装完成系统,上电后按下开关复位的同时用手挡住红外开关,液晶显示屏上显示---------------------------------------------------ms----------------------------------------------------------按下按键开关,30秒倒计时,并于液晶显示屏显示,同时红灯亮,30秒过程中如果移开手,蜂鸣器响3声,红灯闪烁;一直挡住红外开关直至30秒结束,蜂鸣器响一声,绿灯亮,移开手显示-------------------------------00----------------------------------------------------------------------------------------------------------------------------------------------------------169ms------------------------------------------------------------ 测试完毕。
人体反应速度测试仪
摘要摘要反应速度是指人体对刺激发生反应的快慢。
反应速度通常用“从刺激到开始发生反应的时间”,即反应时来衡量。
目前,国内外常用反应时指标研究运动员的机能状态及心理活动过程。
反应速度是人类的基本生理素质之一。
以AT89S52单片机为核心的人体反应速度测试仪,主要控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。
实验测试表明,系统测试精度高、抗干扰能力强、反应测试较为准确,具有一定的参考价值。
同时因为其结构简单、体积小、成本低、扩展方便,在反应速度测试中有广泛的应用前景。
关键字:单片机AT89S52 反应速度ABSTRACTABSTRACTReaction speed is refers to react to stimulate the body responds to it. Reaction speed usually use "from stimulation to start happening reaction time", i.e., reaction time measurement. At present, the domestic and international common reaction index research status and the function of athletes psychological process. Reaction speed is one of the basic human physiological quality. AT89S52 SCM as the core in the human body reaction velocity tester, main control test lamp state, through the test buttons to indirect calculation human reaction state pace. Test results show that system testing precision, strong anti-jamming capability, reaction test is more accurate, to have the certain reference value. Also because of its simple structure, small volume, low cost, convenient, in the reaction speed expansion tests have broad application prospectKey Words: single-chip AT89S52 reaction speed test目录第1章引言 (1)1.1课题背景 (1)1.2 单片机简介与发展概况 (2)1.3 设计要求 (3)1.4 主要内容 (3)第2章系统硬件介绍 (4)2.1 单片机的介绍 (4)2.2单片机的工作过程 (4)2.3 AT89S52主要性能 (5)2.4 AT89S52引脚说明 (6)2.5 LED显示器的特性 (10)第3章系统总体方案设计与分析 (12)3.1 涉及的基础知识 (12)3.2 总体方案 (12)3.3 功能模块框图 (13)第4章系统硬件设计 (14)4.1 硬件结构 (14)4.1.1 硬件总体连接图 (14)4.1.2 74LS244 (15)4.1.3 74ls365 (15)4.2 实现方法 (16)4.3 详细流程图 (16)第5章主要代码编写 (18)5.1 按键电路的实现 (18)5.2 四位LED数码管显示电路的实现 (18)5.3 主函数的实现 (19)第6章系统调试 (23)6.1 仿真软件 Protetus (23)6.2 仿真调试过程 (24)第7章总结与体会 (27)参考文献 (28)致谢 (29)附录 (30)外文资料原文 (36)译文 (38)第1章引言第1章引言1.1课题背景速度素质是指人体进行快速运动的能力,即在单位时间内迅速完成某一动作或通过某一距离的能力。
单片机测量人体电阻的方法
单片机测量人体电阻的方法随着科技的不断发展,单片机在各个领域的应用越来越广泛。
在医疗健康领域,单片机的应用也逐渐增多,其中之一便是用于测量人体电阻。
人体电阻是人体对电流的阻抗,它在不同情况下可以反映出人体的健康状况。
本文将详细介绍使用单片机测量人体电阻的方法。
一、人体电阻的理论基础人体电阻是人体对电流的阻抗,通常用欧姆(Ω)来表示。
在正常情况下,人体电阻的取值在几百到几千欧姆之间。
人体电阻的大小受多种因素的影响,包括体表皮肤的干湿程度、体温、体积、个体差异等。
通常情况下,人体电阻越小,说明人体对电流的阻抗越小,电流通过的越多,电阻越大则表示电流通过的越少。
通过测量人体的电阻值,可以对人体的健康状况进行初步的判断。
二、单片机测量人体电阻的原理单片机测量人体电阻的原理是利用单片机内部的模拟输入/输出功能和模拟转换功能,通过外接的电流源和电压源,对人体电阻进行测量。
一般来说,可以采用恒定电流源来通入人体,并采用模拟输入模块测量两端的电压,通过测得的电流和电压值计算出人体的电阻。
这种方法可以利用Ohm's Law来计算得到人体的电阻值。
三、单片机测量人体电阻的步骤和方法1. 选择合适的电流源和电压源:在测量人体电阻时,需要选择一个合适的电流源和电压源。
一般来说,常用的电流源为稳定电流源,电压源可以选择DC电源或者信号发生器。
2. 连接电路:将电流源和电压源通过合适的电路连接到人体。
在连接电路时,需要注意安全,确保电流和电压的大小不会对人体造成伤害。
3. 测量电流和电压:使用单片机的模拟输入模块测量人体两端的电压,并记录下测量得到的电流值和电压值。
4. 计算电阻值:利用测得的电流值和电压值,利用Ohm's Law(欧姆定律)进行计算,得出人体的电阻值。
四、单片机测量人体电阻的应用单片机测量人体电阻的方法可以应用于多个领域,包括医疗健康、体育锻炼监测、生物反馈等。
在医疗健康领域,可以利用单片机测量人体电阻值,结合其他生理参数,对患者进行身体健康监测。
毕业设计_基于单片机人体反应速度测试仪
工学院毕业设计报告题目:基于单片机人体反应速度测试仪院系:信息与控制学院(黑三)专业:通信工程(黑三)班级学号: 093041 07 (黑三)学生:三(黑三)指导教师:(黑三)成绩:2014 年 06 月 25日摘要本文是基于单片机人体反应速度测试描述,通过单片机测试人的反应速度。
在本设计中以AT89S52单片机为核心的人体反应速度测试仪,主要通过控制测试灯的状态,在测试按键的状态来间接计算人体反应速度。
正常情况下系统运行主程序一直处于空闲等待状态,知道测试者按下按键后,LED测试灯立即点亮。
AT89S52单片机在LED测试灯亮的同时开始计算一个随机时间,在一段随机时间结束后,AT89S52单片机把LED测试灯熄灭,并开始计时灯灭与测试者放开按键的时间差,此计时时间用于纪录被测试者的反应时间,并以毫秒为时间单位在4位数码管上显示。
如果在LED测试灯灭之前提前放开测试按键,则显示9999作为出错信息。
设计中采用AT89S52单片机,其以高性能低价格的优势成为全球使用围最广泛的单片机之一;显示部分采用LED数码管的显示方式,本套系统在不影响其测试性能的情况下,大大的节省了设计成本,是性价比较高的一款人体反应测试议。
和其他测试仪相比具有明显的价格竞争优势;同时,本设计作品的使用方法简单,只需按下按键即可完成测试,方便测试人员的测试使用。
关键词:单片机;反应速度;AT89S52 ;LED;数码管AbstractThis article is based on single chip microcomputer human reaction speed tests described, through the single chip microcomputer test response speed. AT89S52 MCU as the core in the design of the human body reaction velocity tester, mainly by controlling the state of the test lamp, in the state of the test button to indirect calculation of human body reaction speed. System normal operation of the main program has been idle waiting state, know the tester after press the button, the LED test lamp light up immediately. AT89S52 single chip microcomputer in LED to test the lights at the same time began to calculate a random time, at the end of a random time, AT89S52 single chip microcomputer test the LED lights, and start timing lights and testers release button lag, this timer is used to record the subject's reaction time, and in milliseconds as the unit of time in the four digital tube display. If the LED test before the lights went out early release test button, 9999 as the error message is displayed.Design USES AT89S52 single chip microcomputer, its to high performance low price advantage to become one of the world scope the most widely used microcontroller; Display part adopts LED digital tube display, this set of system in the case of does not affect the test performance, greatly save the design cost, is the high cost performance of a human reaction test. Compared with other tester has obvious price competitive advantage; At the same time, the use of this design method is simple, just press the button to complete the test, the convenience for the tester's test.Keywords: Single chip microcomputer; Reaction Speed; AT89S52; LED; Digital tube目录1 硬件部分设计 (1)1.1硬件结构设计 (2)1.2硬件电路设计 (3)1.2.1硬件模块选择 (3)1.2.2硬件模块设计 (3)1.2.3控制计算公式 (5)2 软件部分设计 (6)2.1开发环境 (7)2.2主体程序设计 (7)2.2.1主程序设计 (7)2.2.2中断程序设计 (7)3 系统测试 (8)3.1软件测试 (8)3.2硬件测试 (8)结论 (9)参考文献 (10)附录 A (12)附录 B (13)附录 C (14)1 硬件部分设计本项目以AT89S52单片机为核心,实现对人体反应速度的测试,主要控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。
基于MSP430单片机身体体征参数测定
电子设计大赛设计报告题目身体体征信号监测仪(C题)【本科组】组员:指导老师:摘要本身体体征信号监测仪是以MSP430单片机为控制核心,实现智能监测人体参数的多功能控制。
主要功能包括在自己设定的参数范围下,利用传感器采集人体物理参数实现自主测量、利用无线传输数据,当身体体征参数超出正常范围时能发出警示信号,并借助数据传输和通信平台紧急通知值班医生和亲朋好友,采取救治措施。
关键词 MSP40单片机、传感器、无线通信、报警目录摘要1系统方案1.1 单片机控制模块选择1.2 体温监测模块选择1.3 心率测量模块1.4 电源模块1.5 报警模块1.6 显示部分1.7 无线传输部分2系统理论分析与计算2.1 整体系统结构2.2 理论计算2.2.1 体温计算2.2.2 心率计算2.3 模块框图及电路原理 2.3.1 温度模块2.3.2 心率模块2.4 测试方案与测试结果 2.4.1 体温测量方案2.4.2 心率测量方案3 测试结果及分析3.1 体温测量结果3.2 心率测量结果身体体征信号监测仪(C题)【本科组】一系统方案本系统主要是由控制模块、体温监测模块、心率监测模块、呼吸频率检测模块、电源模块、报警模块及显示模块组成,下面分别论证这几个模块的选择。
1 单片机控制模块选择方案一:使用51单片机作为控制器方案二:使用MSP430单片机作为控制器对于方案一,众所周知51单片机是一款入门级别单片机,因为它的资料非常多,非常利于入门的学习,但是这款单片机功耗高,有许多协议不支持。
所以是一块比较适合入门的单片机。
51单片机实物图所以,对于初学者和设计简单系统51单片机确实很理想的选择,但51单片机有很多致命的缺陷,例如1. 运行速度很慢,(因为是CISC(集中指令)结构,而且芯片为了抗干扰采用了12分频的方法)2. 所有的I/0口都是准双向口,I/0口的驱动能力弱。
(但是AT89的灌电流比较大,大概有20mA左右)3. 芯片里面的P0口没有上拉电阻(P1,P2,P3口有上拉电阻)如果要输出高电平或者要定义成输入口,一般要外接电阻上拉。
单片机测速仪的设计.
单片机测速仪的设计.《单片机测速仪的设计》一、测速仪的工作原理单片机测速仪的工作原理通常基于对运动物体所产生的脉冲信号的计数和时间测量。
常见的测速方法有光电测速、霍尔效应测速等。
以光电测速为例,在被测物体上安装一个遮光板,当遮光板随物体转动时,会周期性地遮挡光电传感器。
光电传感器将光信号转换为电信号,产生一系列脉冲。
单片机通过对这些脉冲的计数,并结合测量的时间间隔,就可以计算出物体的转速。
二、硬件设计1、传感器选择光电传感器:具有响应速度快、精度高的特点,但容易受到环境光的干扰。
霍尔传感器:对磁场变化敏感,适用于测量磁性物体的速度,抗干扰能力较强。
2、单片机选型考虑因素包括处理速度、存储容量、引脚数量等。
常见的单片机如STM32、Arduino 等都可以满足测速仪的需求。
3、信号调理电路由于传感器输出的信号可能比较微弱或存在干扰,需要通过放大、滤波等电路进行处理,以获得清晰、稳定的脉冲信号。
4、显示模块可以选择液晶显示屏(LCD)或数码管来显示测量结果。
LCD 显示内容丰富,但成本较高;数码管简单直观,成本较低。
5、电源模块为整个系统提供稳定的电源,通常采用直流稳压电源或电池供电。
三、软件设计1、初始化设置包括单片机的时钟设置、引脚配置、中断设置等。
2、脉冲计数与时间测量使用单片机的计数器功能对脉冲进行计数,并通过定时器测量时间间隔。
3、速度计算算法根据脉冲计数和时间间隔,按照预定的公式计算出速度值。
4、显示驱动程序将计算得到的速度值发送到显示模块进行显示。
四、系统调试1、硬件调试检查电路连接是否正确,电源是否稳定,传感器输出信号是否正常。
2、软件调试使用调试工具,如串口调试助手,查看单片机内部变量的值,检查程序逻辑是否正确。
3、综合调试将硬件和软件结合起来,对整个测速仪系统进行测试,不断优化和改进。
五、误差分析与改进1、误差来源传感器精度误差、信号干扰、时间测量误差等。
2、改进措施采用高精度传感器、优化信号调理电路、提高时间测量精度等。
单片机在智能家居人体检测系统中的应用
单片机在智能家居人体检测系统中的应用智能家居是当下互联网时代的发展趋势之一,它通过智能化的设备和系统来提高家居生活的便利性和舒适度。
人体检测系统作为智能家居的重要组成部分,可以实时检测和分析人体的活动,在安全、节能和便利等方面发挥着重要的作用。
而单片机作为智能家居人体检测系统的核心控制器,具有高性能、低功耗、易编程等特点,正逐渐成为人体检测系统中的关键技术。
一、单片机在智能家居人体检测系统中的工作原理单片机是一种集成了中央处理器、存储器、输入输出接口和定时器等功能的微型计算机。
在智能家居人体检测系统中,单片机主要负责数据采集、信号处理、控制指令的执行等工作。
其工作原理主要可以分为以下几个步骤:1. 传感器采集人体信号:单片机通过连接各种传感器,如红外传感器、声波传感器等,对人体产生的信号进行采集。
传感器可以将人体信号转化为电信号,并通过模拟输入引脚输入给单片机。
2. 单片机进行信号处理:单片机接收到传感器采集的信号后,利用内部的模数转换器将模拟信号转化为数字信号,便于后续的处理。
同时,单片机可以进行滤波、增益控制等必要的信号处理,以提高检测的准确性和稳定性。
3. 数据分析与判定:单片机通过对采集到的数据进行分析和判定,可以判断人体的位置、移动方向以及活动状态等信息。
通过设定合适的算法和逻辑,单片机可实现对人体的智能识别。
4. 控制指令的执行:根据人体检测系统的需求,单片机可以根据判定结果产生相应的控制指令,通过输出接口驱动其他智能设备,如智能灯光、智能门锁等,实现智能家居的自动化控制。
二、单片机在智能家居人体检测系统中的应用案例1. 安全监控系统:通过设置多个红外传感器和摄像头,单片机可以实现对房屋内外人体活动的实时监控。
一旦检测到可疑人员闯入或异常活动,单片机会立即发出警报,并通过手机端实时推送给用户。
2. 能源管理系统:单片机可以通过检测房间内的人体活动情况来实现对照明、空调等设备的智能控制。
单片机中的人体感应技术与应用
单片机中的人体感应技术与应用随着物联网(IoT)和智能家居等技术的不断发展,人体感应技术成为了一个重要的应用领域,因为它可以让智能设备更加智能化和用户友好化。
而这里的单片机也扮演着至关重要的角色,因为它可以将传感器和各种控制器集成在一起,从而实现各种各样的人体感应应用。
在这篇文章中,我们将会介绍单片机中的人体感应技术以及它们的应用。
一、人体感应技术的工作原理人体感应技术是一种基于红外线或微波信号的技术,它可以探测到人类身体所发射的热量和运动状态。
当人接近传感器时,传感器会探测到人体所发射的红外线或微波信号,并将这个信号发送给单片机,单片机接收到信号后会通过算法进行分析和处理,并进行相应的控制动作。
其中红外线人体感应技术是比较常用的技术,它通常使用红外线传感器来探测人体身体周围的热量。
这种技术可以通过调节传感器的灵敏度来调整探测范围,从而实现不同距离和大小的人体探测。
而微波人体感应技术则是通过发送微波信号来探测人体周围的运动状态。
这种技术可以实现大范围的探测,但其精确度没有红外线技术高。
二、人体感应技术在单片机中的应用1. 照明控制利用红外线人体感应技术,可以实现自动照明控制功能。
当有人进入房间时,单片机可以通过控制灯的开关,使灯光自动亮起,当人离开时自动关闭。
2. 门禁控制利用人体感应技术,可以实现门禁系统中的开门和关门控制。
当人体进入门禁区域,单片机可以通过控制门的开关,实现门的自动开启,当人离开时自动关闭。
3. 安防监控人体感应技术可以实现安防监控系统中的人员识别和跟踪,如在关键区域内设立传感器,当传感器检测到有人经过时,可以自动对人员是进行拍照或者视频录制,以达到实时监测和安全控制的目的。
4. 智能家居人体感应技术在智能家居中的应用非常广泛,如可以利用人体感应技术,实现智能家居中的温度、湿度、风速等环境参数的自动调节,还可以实现智能声控操作等功能。
5. 智能医疗人体感应技术还可以应用在智能医疗领域,通过监测患者的身体信号,实现自我监测和预警。
人体反应速度数码测试毕业论文解析范文
第一章课题综述1.1 课题背景速度素质是指人体进行快速运动的能力,即在单位时间内迅速完成某一动作或通过某一距离的能力。
反应速度是指人体对刺激发生反应的快慢。
从生理机制分析,反应快慢取决于“反射弧”的五个环节:感受器—传入神经—神经中枢—传出神经—效应器。
下面以MCS-8051单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间。
我们学习的是单片机理论知识,而课程设计则是对我们学习的理论知识的实践和巩固。
1.2 设计要求基于MCS-8051单片机的人体反应速度测试仪设计要求如下:1.按下“开始”按钮,红灯亮,按钮一直保持按下状态。
2.红灯持续点亮一段随机时间,然后熄灭,灯熄灭时人松开按钮。
3.计算灯熄灭的时间和按钮被松开的时间之差,显示出来。
4.若测试者在红灯熄灭之前松开按钮,则显示出错信息。
1.3 面对的问题1.对MCS-8051单片机的了解和应用。
2.对八段数码管的特性的了解和使用。
1.4 需解决的关键技术课题主要通过控制红灯的状态,通过测试按钮的状态来间接计算人体反应速度。
要了解每一段数码管与MCS-8051单片机的连接,数码管显示数字的段码,各个芯片的输入输出关系,单片机内部定时器的原理与控制,必须通过查阅资料确定。
必须了解数码管显示器的显示原理。
第二章系统分析2.1 涉及的基础知识通过学习和查阅资料,本课题需要掌握和了解如下知识:1.MCS-8051单片机各输入输出端口的功能特性。
2.MCS-8051单片机复位电路工作原理及设计。
3.MCS-8051单片机晶振电路工作原理及设计。
4.测试按钮、测试灯电路设计。
5.驱动器74LS244、反相器74LS04的特性及使用。
6.数码管显示器的特性及使用。
7.MCS-8051单片机引脚。
8.单片机内部定时器原理及使用。
9.单片机C语言及程序设计。
2.2 MCS-8051单片机简介随着超大规模集成电路技术的发展,在一个集成电路芯片上集成了中央处理器CPU、数据存储器RAM、程序存储器ROM或EPROM、各种I/O接口等,构成了一个计算机,称为单片机。
《人体反应速度测试系统的设计》范文
《人体反应速度测试系统的设计》篇一一、引言人体反应速度是指人体对刺激的反应时间,是评价人体反应能力、神经系统灵敏度及身体协调性等生理指标的重要参数。
随着科技的发展,人体反应速度测试系统在体育训练、医学诊断、军事训练等领域有着广泛的应用。
本文将详细阐述一种人体反应速度测试系统的设计思路及实现方法。
二、系统设计目标本系统设计的目标是设计一种便捷、准确、可重复性高的人体反应速度测试设备,该设备应能实现对不同年龄、性别、体质等人群的测试需求,并能提供相应的训练模式,帮助用户提高反应速度。
三、系统设计原理本系统基于光电传感器技术、计算机控制技术和数据分析技术等原理进行设计。
通过光电传感器捕捉人体对刺激的反应时间,并通过计算机对数据进行处理和分析,得出人体反应速度。
四、系统构成及功能设计1. 硬件构成:(1) 测试平台:用于放置光电传感器和显示设备,为测试者提供稳定的测试环境。
(2) 光电传感器:用于捕捉测试者对刺激的反应时间。
(3) 计算机:用于处理和分析数据,并显示测试结果。
(4) 电源:为整个系统提供稳定的电源。
2. 软件功能设计:(1) 用户管理:包括用户注册、登录、信息修改等功能。
(2) 测试模式:包括单次测试、多次测试、训练模式等,以满足不同用户的需求。
(3) 数据处理:对测试数据进行实时处理和分析,得出人体反应速度。
(4) 结果显示:将测试结果以图表、数字等形式展示给用户。
(5) 数据存储:将测试数据存储在计算机中,方便用户随时查看和分享。
五、系统实现方法1. 硬件实现:根据系统构成,选择合适的设备进行组装和调试,确保各部分正常工作。
2. 软件实现:采用计算机编程语言进行软件开发,实现用户管理、测试模式、数据处理、结果显示和数据存储等功能。
3. 系统调试:对硬件和软件进行联调,确保系统整体性能稳定、准确。
六、系统应用及优势本系统可广泛应用于体育训练、医学诊断、军事训练等领域。
其优势在于:1. 便捷性:用户可随时随地进行测试,无需专业人员指导。
单片机原理与接口技术人体反应速度测试仪设计
学号14132201413 序号 6单片机原理与接口技术实验报告实验项目序号 4实验项目名称人体反应速度测试姓名莫旭涛专业电子信息工程班级电信13-4BF完成时间2014年月10月16日一.调试心得这是我们第一个用C语言编写的项目实例,刚刚开始的时候,对C是有些陌生的,但是经过这么一个案例的编写,明显对C语言的操作变得熟练了。
相比起汇编来,C语言人性化许多,修改错误也比较让人习惯。
在这程序的编写中,同样遇到了许多的问题,但是只要花时间,就没有解决不了了问题。
在编写这个程序的时候,首先要解决的问题是矩阵键盘和数码管的显示,这两个模块我们用得非常多,在以后对单片机的操作中也会经常用到,所以,我们最好写成模块的形式,方便以后调用。
再次遇到要使用矩阵键盘和数码管的时候,就可以直接把代码复制粘贴过来使用。
编写这个程序遇到的第一个疑难杂症就是游戏次数的设置,因为书上的代码是在一个while循环中进行的,所以没有游戏次数可言。
每次反应速度的测试显示一个相应的值,但是我们自己写的代码中明显是要设置游戏次数的,这样才能取出平均值,让我们测量的反应时间变得更加精确。
所以我们while循环中要设置一个调出循环的次数,这个次数就是我们游戏次数,在这里,要注意初值和减一所放的位置。
第二个疑难是随机数的生成,因为在51单片机中是不支持对系统时间的调用,所以没有<time.h> 也不能使用时间函数,而我们所有的算法算出来的数都会是一个有一定规律顺序的数。
再次,如果用另外一个定时器来生成随机数,就可以做到代替时间函数,生成真正的随机数。
二.程序代码功能简介:第一部分的代码:第八个数码管显示要按下的键,第6个数码管显示实际按下的键值。
若按对,录入反应时间;若按错,置反应时间为9999ms。
1-4个数码管显示几次按键的平均反应时间。
第二部分代码:实现书上测试反应速度的程序。
程序开始后,按下按键,led灯一直亮着,直到一个随机的时间,led灯熄灭。
毕业设计——基于单片机人体反应速度测试仪
1.2.2
1.单片机系统电路设计
Design USES AT89S52 single chip microcomputer, its to high performance low price advantage to become one of the world scope the most widely used microcontroller; Display part adopts LED digital tube display, this set of system in the case of does not affect the test performance, greatly save the design cost, is the high cost performance of a human reaction test. Compared with other tester has obvious price competitive advantage; At the same time, the use of this design method is simple, just press the button to complete the test, the convenience for the tester's test.
Keywords:Single chip microcomputer; Reaction Speed;AT89S52;LED; Digital tube
1 硬件部分设计1
1.1硬件结构设计2
1.2硬件电路设计3
1.2.1硬件模块选择3
1.2.2硬件模块设计3
1.2.3控制计算公式5
“看谁快”反应测试器套件电路介绍
一、电路介绍:这里介绍的人体反应速度测试器由4个数字电路芯片和10只LED发光二极管等组成,可以测出你对信号的反应能力,并将反应能力分为8段,段数越高反应速度越快,经常进行反映测试训练,可以逐步提高你的反应速度。
组装好后的测试器如图所示。
反应测试器由开机延时、测试信号灯、时钟脉冲、减法计数、启动显示、停止控制等部分组成。
图二是控制原理方框图。
图三是电路原理图。
本电路主要由3种共4只CMOS数字集成电路构成。
其中U1是双4位静态移位寄存器4015,其内部含有2组独立的4位串入一并出移位寄存器,在本电路中将两组级联使用。
U2是四2输入端或非门电路4011,U3、U4是6位反相器,具有较大的驱动电流能力,可以直接驱动发光二极管。
各集成电路的引脚序号标注在原理图中,欲了解更详细的芯片特性可查阅相关资料。
二、电路的工作过程:电源开关闭合后,LED10电源指示发光管点亮,之后延迟数秒,测试信号灯LED1点亮,减法计数器电路在时钟脉冲的作用下开始递减,由LED2---LED9组成的测试显示发光管依次熄灭,在这个过程中,当被测试人按下停止按钮K2时,时钟脉冲停振,减法计数器处于保持状态,LED2――LED9的熄灭个数将记录为被测试者的反应速度。
三、电路的工作原理:由U4E、U4F、R16、R17、C4等组成多谐振荡器,做为时钟脉冲,其振荡周期约为2.2×R17×C4,按照图中参数周期约为44ms,U2组成8位右移寄存器,U1B、R1、C1等组成开机延迟电路,当刚闭合电源开关K1时,U1B的输出端为“1”,在时钟脉冲的作用下,U2的8位寄存单元迅速全为“1”,几秒后,U1B的输出端变为“0”,经过U3A、U3B两级反向后,驱动测试信号灯LED1点亮,同时U2的8位寄存单元将在时钟脉冲的作用下,从左到右依次变为“0”,当被测试者按下停止按钮K2时,由U1C、U1D组成的RS触发器置“0”,使U4E、U4F停振,U2处于保持状态,结果通过U3C----U4D 驱动发光二极管显示。
有趣的人体反应速度测试电路
有趣的人体反应速度测试电路
一、电路介绍
这里介绍的人体反应速度测试器主要由4只数字电路芯片和10只LED等组成,可以测出人体对信号的反应时间,并将反应时间分为8段,段数越高反应速度越快,经常进行反应测试训练,可以逐步提高人体的反应速度。
反应测试器由开机延时、测试信号灯、时钟脉冲、减法计数、启动显示、停止控制等部分组成。
下图是控制原理方框图。
本电路主要由3种共4只CMOS数字集成电路构成。
电路原理图如下图所示。
IC1是四2输入端或非门电路4001,IC3、IC4是反相器4069,每个芯片内含有6个独立的反相器,具有较大的电流驱动能力,可以直接驱动发光二极管。
各集成电路的引脚序号标注在原理图中,欲了解更详细的芯片特性。
《人体反应速度测试系统的设计》范文
《人体反应速度测试系统的设计》篇一一、引言人体反应速度是衡量个体反应灵敏度的重要指标,广泛应用于体育竞技、医学诊断、军事训练等领域。
随着科技的不断发展,传统的人体反应速度测试方法已经无法满足高精度、高效率的需求。
因此,本文提出设计一款人体反应速度测试系统,旨在提高测试的准确性和效率,为相关领域的研究和应用提供有力支持。
二、系统设计目标1. 高精度:系统应具备高精度的测试能力,能够准确测量人体反应速度。
2. 高效率:系统应具备快速响应的能力,缩短测试周期,提高测试效率。
3. 易于操作:系统应具备友好的操作界面,方便用户进行操作。
4. 可靠性:系统应具备较高的稳定性,确保测试结果的可靠性。
三、系统架构设计本系统采用硬件与软件相结合的设计方案,主要包括以下几个部分:1. 硬件部分:包括反应测试装置、计时器、显示屏等。
反应测试装置用于模拟测试场景,计时器用于记录反应时间,显示屏用于显示测试结果。
2. 软件部分:包括操作系统、测试软件等。
操作系统负责整个系统的运行和管理,测试软件负责控制测试流程、处理测试数据等。
四、具体设计1. 反应测试装置设计反应测试装置应能够模拟各种实际场景,如光线反应、声音反应、触觉反应等。
装置应具备较高的灵敏度,能够快速触发计时器开始计时。
此外,装置还应具备可调节的刺激强度和频率,以满足不同测试需求。
2. 计时器设计计时器是本系统的核心部件之一,负责记录人体反应时间。
可采用高精度计时芯片,确保计时准确。
同时,计时器应具备自动归零功能,以减少人为误差。
3. 显示屏设计显示屏用于显示测试结果,应具备高分辨率、高刷新率的特点,以确保显示效果清晰、流畅。
此外,显示屏还应具备背光功能,确保在光线较暗的环境下也能清晰显示。
4. 软件设计软件部分包括操作系统和测试软件。
操作系统可采用成熟的嵌入式系统,确保系统的稳定性和可靠性。
测试软件应具备友好的操作界面,方便用户进行操作。
软件应具备自动化测试流程、数据处理和分析等功能,以提高测试效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计实验报告题目单片机的人体反应速度测试仪课程名称单片机原理及接口技术院部名称机电工程学院专业电气工程及其自动化班级电气2班姓名许俊超学号0922107020指导教师高峰金陵科技学院教务处制摘要:随着社会的发展,许多交通事故都是由于人们在突发情况下不能及时做出判断而导致的。
因此,在面对突发事故时,人的反应快慢直接影响到事情变化的好坏。
下面以AT89751单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间,间接反映人们面对突发状况的反应能力。
以AT89751单片机为核心的人体反应速度测试仪,主要控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。
正常情况下系统运行主程序一直处于空闲等待状态,知道测试者按下按键后,LED测试灯立即点亮。
AT89751单片机在LED测试灯亮的同时开始计算一个随机时间,在一段随机时间结束后,AT89751单片机把LED测试灯熄灭,并开始计时灯灭与测试者放开按键的时间差,此计时时间用于纪录被测试者的反应时间,并以毫秒为时间单位在4位数码管上显示。
如果在LED测试灯灭之前提前放开测试按键,则显示9999作为出错信息。
关键词:AT89751 ; LED ; 数码管目录1 课题综述 01.1课题来源 01.2预期目标 (1)1.3面对的问题 (1)1.4需解决的关键技术 (1)2系统分析 (1)2.1涉及的基础知识 (1)2.2总体方案 (3)2.3功能模块框图 (4)3 系统设计 (4)3.1硬件连接图 (4)3.2实现方法 (5)3.3详细流程图 (5)4 代码编写 (6)4.1按键电路的实现 (6)4.24位LED数码管显示电路的实现 (7)4.3随机函数的实现 (7)4.4中断程序的实现 (8)4.5主函数的实现 (9)4.6总程序 (10)5 程序调试 (14)总结 (15)参考文献 (15)1 课题综述1.1 课题来源许多交通事故都是由于人们在突发情况下不能及时做出判断而导致的。
因此,在面对突发事故时,人的反应快慢直接影响到事情变化的好坏。
下面以AT89751单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间,间接反映人们面对突发状况的反应能力。
我们学习的是单片机理论知识,而课程设计则是对我们学习的理论知识的时间和巩固。
1.2预期目标基于AT89751单片机的人体反应速度测试仪设计要求如下:(1)测试者按下测试按键后,测试灯亮起,测试随子开始。
(2)在测试过程中,测试者要注意观察测试灯的变化,当看到测试灯熄灭时,测试者要迅速放开测试按钮,单片机会在数码管上显示测试者的反应时间。
(3)若测试者在测试灯熄灭之前放开测试按键,则系统自动判为犯规,并显示出错信息。
1.3 面对的问题(1) 对AT89751单片机的了解和应用(2) 对LED数码管的特性的了解和使用1.4 需解决的关键技术本项目主要通过控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。
要了解每一段数码管与AT89751个引脚的连接,各个芯片的输入输出关系,必须通过查阅资料确定。
必须了解LED显示器的显示原理。
2系统分析2.1 涉及的基础知识通过学习和查阅资料,本项目需要掌握和了解如下知识:·+5V电源原理及设计。
·单片机复位电路工作原理及设计。
·单片机晶振电路工作原理及设计。
·测试按键电路设计。
·驱动电路74LS07、74LS244的特性及使用。
·LED的特性及使用。
·AT89751单片机引脚。
·单片机C语言及程序设计。
2.1.1 AT89S51单片机简介功能特性:AT89751是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89751为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89751具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89751 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8 位微控制器8K 字节在系统可编程Flash AT89751。
主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
图2-1 AT89751引脚图2.1.2 LED显示器的特性(1) 发光响应快,亮度强,高频特性好;而且随着材料的不同,数码管还能发出红、黄、绿、蓝、橙等多种颜色的光。
(2) 机械性能好,体积小,重量轻,价格低廉;能与COMS和TTL电路配合使用;使用寿命长。
(3) 工作电压低,驱动电流适中。
每段电流为5~10mA,一只数码管的7段LED 全亮需要电流35~70mA。
这样打的电流需要由驱动电路提供,因此,使用时要注意数码管的驱动问题。
在使用中,为了给发光二极管加驱动电压,他们应有一个公共的引脚,公共的引脚有如下两种链接方法:一、共阴极接法。
把发光二极管的阴极连接在一起构成阴极公共引脚,使用时公共引脚接地,这样阳极引脚上加高电平的发光二极管就导通点亮,而加低电平的则不亮。
二、共阳极接法。
把发光二极管的阳极连接在一起作为阳极公共引脚,使用时阳极公共引脚接+5V。
这样阴极引脚上加低电平的发光二极管即可导通点亮,二加高电平的则点不亮。
2.1.3 LED显示器显示原理、并排使用的多位数码管成为LED显示器。
LED显示器多采用动态显示方式,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。
显示时通过位控制信号采用扫描的方法逐位地循环点亮各位数码管。
动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。
LED显示器的动态显示需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。
把LED显示器段码表预先存放在存储器中,使用时通过查表就可以得到段码。
段码输出后送到公共端码线上,也可称为段控信号。
而通过并行口输出的相互独立的位码则是起选通作用的,也称位控活扫描信号,用于选择显示位。
动态显示具有硬件简单,功耗低和显示灵活性强等优点,但动态显示增加了驱动软件的复杂性,且显示亮度较低。
2.2 总体方案LED数码管的显示电路中采用动态数码管显示,在其中P0端口控制段码,低电平有效,P2.0~P2.3端口控制位码,高电平有效。
P2.3端口控制第1个数码管,P2.2端口控制第2个数码管,P2.1端口控制第3个数码管,P2.0端口控制第4个数码管。
各个数码管的段码都是P0端口的输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态扫描的方式,即先只让最低位显示0,经过一段延时,再只让次低位显示1,以此类推。
由于视觉暂留,只要延时时间足够短,就能够使得数码的显示看起来非常稳定清楚。
2.3 功能模块框图图2-1 人体反应速度测试仪框图3 系统设计3.1 硬件连接图用一只发光二极管模拟测试灯,以AT89751单片机的P1.0端口控制这只发光二极管、发光二极管加限流电阻接+5V电源,P1.0端口输出低电平时,测试灯亮,输出高电平时,测试灯灭。
P1.1端口接测试按键,P0端口控制LED数码管的七段数码显示,P2.0~P2.3控制4位数码管的位选。
图3-1人体反应测速仪电路原理图PROTEL图3-2PRODUCE图3.2 实现方法主程序采用查询方式,当测试按键按下时,AT89751单片机使LED测试灯亮起的同时调用随机函数产生一个随机时间,AT89751单片机利用这个随机时间计时。
计时时间到,AT89751单片机产生一个输出使单片机的P1.1端口为低电平,LED测试灯熄灭,AT89751单片机进行新的一轮计时,送开测试按键,计时时间停止,把这个计时时间送往数码管显示电路显示。
当AT89751单片机第一轮的计时时间还未到时,若测试按键松开,AT89751单片机9999送往数码管显示电路显示。
3.3 详细流程图人体反应速度测试仪程序流程图,如图3-2所示。
图3-3程序流程图4 代码编写4.1按键电路的实现描述:读取按键byte bot(void) //读取按键,有按键被按下则返回0,否则返回1{if(key==0)return 0;else return 1;}4.2 4位LED数码管显示电路的实现描述:将缓存区display[]中的整数译码后用数码管进行显示void display(word ms) //数码管上的显示反应时间{byte posi=0x01,i,j,temp;disp[3]=ms/1000; //1sdisp[2]=(ms%1000)/100; //100msdisp[1]=(ms%100)/10; //10msdisp[0]=ms%10; //1msfor(i=0;i<4;i++) //数码管显示{temp=disp[i];temp=table[temp];for(j=0;j<200;j++) //延时{P2=posi; //显示xxxx秒形式P0=temp;}posi*=2;}}4.3 随机函数的实现描述:调用系统随机函数unsigned long random(void) //生成随机数{word rt;byte k=0;srand (50000); //种下随机数种子,范围0-50000rt=rand(); //生成随机熟rt=rt*rand(); //使随机数足够大,能够延时足够时间return rt;}4.4 中断程序的实现描述:定时器初始化子程序void INIT_TMR1(void){TMOD=0x11;TH1=0xfc;TL1=0x66;TR1=1;}void delaylms(void) //延时1ms{INIT_TMR1() ;while(1){if(TF1==1){break;}}}4.5 主函数的实现void main(void){byte k=0;k=bot(); //获取按键情况P1=0xff; //输入前先把P1口都加高电平while(1) //主循环开始{word mstime=0,j;word r;while(bot()); //等待按键按下,否则始终等待led=0; //按键被按下后,灯亮r=random();for (j=r;j>0;--j) //延时一段随机时间,为1马上的随机倍数{delaylms();k=bot();if (k==1) //如果在灯灭前谈起按键,显示最长时间作为惩罚{mstime=9999;goto loop;}}led=1; //灯灭INIT_TMR1(); //初始定时状态while(1) //如果按键弹起,反复进入定时状态,没1ms计时器溢出一次,毫秒数加1{if(TF1==1){TH1=0xfc;TL1=0x18;TR1=1;TF1=0;++mstime;}if(k=bot()) break;}loop: led=1 ;while(1){if(k==1) //按键弹开后始终显示时间{k=bot();display(mstime);}else //若按键按下,重新开始测试{mstime=0;P2=0xff;break;}}}}4.6总程序byte bot(void) //读取按键,有按键被按下则返回0,否则返回1if(key==0)return 0;else return 1;void display(word ms) //数码管上的显示反应时间{byte posi=0x01,i,j,temp;disp[3]=ms/1000; //1sdisp[2]=(ms%1000)/100; //100msdisp[1]=(ms%100)/10; //10msdisp[0]=ms%10; //1msfor(i=0;i<4;i++) //数码管显示{temp=disp[i];temp=table[temp];for(j=0;j<200;j++) //延时{P2=posi; //显示xxxx秒形式P0=temp;}posi*=2;}}unsigned long random(void) //生成随机数{word rt;byte k=0;srand (50000); //种下随机数种子,范围0-50000rt=rand(); //生成随机熟rt=rt*rand(); //使随机数足够大,能够延时足够时间return rt;}void INIT_TMR1(void){TMOD=0x11;TH1=0xfc;TL1=0x66;TR1=1;}void delaylms(void) //延时1ms{INIT_TMR1() ;while(1){if(TF1==1){break;}}}void main(void){byte k=0;k=bot(); //获取按键情况P1=0xff; //输入前先把P1口都加高电平while(1) //主循环开始{word mstime=0,j;word r;while(bot()); //等待按键按下,否则始终等待r=random();for (j=r;j>0;--j) //延时一段随机时间,为1马上的随机倍数{delaylms();k=bot();if (k==1) //如果在灯灭前谈起按键,显示最长时间作为惩罚{mstime=9999;goto loop;}}led=1; //灯灭INIT_TMR1(); //初始定时状态while(1) //如果按键弹起,反复进入定时状态,没1ms计时器溢出一次,毫秒数加1{if(TF1==1){TH1=0xfc;TL1=0x18;TR1=1;TF1=0;++mstime;}if(k=bot()) break;}loop: led=1 ;while(1)if(k==1) //按键弹开后始终显示时间{k=bot();display(mstime);}else //若按键按下,重新开始测试{mstime=0;P2=0xff;break;}}}}5 程序调试程序调试一般是一个一个模块地进行,一个一个子程序地调试,最后联起来统调。