[毕业设计]基于微机键盘应用的人体反应系统设计.doc
《[毕业设计]基于微机键盘应用的人体反应系统设计.doc》由会员分享,可在线阅读,更多相关《[毕业设计]基于微机键盘应用的人体反应系统设计.doc(27页珍藏版)》请在三一办公上搜索。
1、目 录1 前言12 系统总体方案设计22.1方案比较22.2 方案论证与选择33 软件设计43.1程序流程图43.2主程序43.3菜单程序63.4测试程序83.5计时程序113.6系统介绍程序123.7结果显示程序134 系统调试145 系统功能和指标参数156 总结与体会187 参考文献19附录:Turbo C 2.0201 前言速度素质是指人体进行快速运动的能力,即在单位时问内迅速完成某一动作或通过某一距离的能力。它包括反应速度、动作速度和周期性运动的位移速度。反应速度是速度素质中的一个重要的部分。 反应速度是指人体对刺激发生反应的快慢。从生理机制分析,反应快慢取决于“反射弧”的五个环节:
2、感受器传人神经中枢延搁传出神经效应器。反应速度通常用“从刺激到开始发生反应的时间”,即反应时来衡量。 目前.国内外常用反应时指标研究运动员的机能状态及心理活动过程。反应速度是人类的基本生理素质之一。反应测试系统这个题目的提出是建立在学习接口技术课程的基础上。通过课程的学习,对计算机接口技术中各个重要的接口芯片内部原理、实现功能有了一定程度的掌握。在此之上,提出在接口技术范畴内一些较为复杂的仪器设计,主要复杂在进行多个芯片、功能的组合以实现更为高级实用的功能。反应测试仪能够定量的测试人的反映速度。利用这种仪器,可以在人才的选拔中起到积极的作用。例如选择少年体育运动员、舞蹈、杂技、魔术学员及其他要
3、求机敏素质的培养对象时,可以提供科学的数据。所以,反应测试仪的潜在实用价值极大。并且,在计算机专业中,反应测试仪的提出,主要对计算机接口芯片的控制和计算功能提出更高的要求。从各种文献资料中我们可以发现,现有的对此项目的研究是深入而广泛的。如机动车驾驶员反应测试仪、药物药理反应测试仪、听觉稳态诱发测试仪等等各个方面的课题研究层出不穷。而在技术上主要集中在单片机控制和由系统集成接口芯片进行功能组合等方向。并且在测试范围上也是种类众多。单从刚刚提到的反应测试仪器就可看到有对神经反应速度、身体反应速度等不同方面进行测试的。由于本人水平有限,无法全面把握计算机接口技术知识的互相衔接,在本项目中,仅对几个
4、功能原理比较简便的芯片进行实验,并且对其功能组合也并不复杂,以求在自身水平范围内,选择最少、最简洁、最低廉的功能组合实现题目所提要求。即设计一个能测试人的反应(响应)时间的仪器。按启动钮,测试开始,一旦看到灯亮,立即按测试钮,八段码显示反应时间xx.xx秒。在知识范围和时间范围以内,在完成题目基本要求的基础之上,对本仪器功能进行力所能及的扩充。如:在反应时间测试精度上、仪器操作的简便性上、被测试者的易测试性等方面。2 系统总体方案设计2.1方案比较方案一:这里介绍的人体反应速度测试器由数字电路芯片和LED发光二极管等组成,可以测出你对信号的反应能力,并将反应能力分为段,段数越高反应速度越快,经
5、常进行反应测试训练,可以逐步提高你的反应速度。反应测试器由开机延时、测试信号灯、时钟脉冲、减法计数、启动显示、停止控制等部分组成。 电路由3种共4只CMOS数字集成电路构成。其中IC1是双4位静态移位寄存器4015,其内部含有2组独立的4位串入并出移位寄存器,在本电路中将两组级联使用。 IC2是四2输入端或非门电路4001,IC3、IC4是6反相器4069,每个芯片内含有6个独立的反相器,具有较大的驱动电流能力,可以直接驱动发光二极管。 电源开关闭合后,LED10电源指示发光管点亮,之后延迟数秒,测试信号灯LED1点亮,减法计数器电路在时钟脉冲的作用下开始递减,由LED2LED9组成的测试显示
6、发光管依次熄灭,在这过程中,当被测试人按下停止按钮K2时,则时钟脉冲停振,减法计数器处于保持状态,LED2LED9的熄灭个数将记录为被测试者的反应速度。按键LED移位寄存器图2.1 方案一框图方案二:本次设计,是在已经学习的接口技术课程及所做实验基础上,加深对计算机内部的几个重要的接口芯片的技术功能的熟练掌握。并且积累一些进行计算机硬件设计、线路排布以及硬件程序编写的经验。对计算机接口芯片技术的原理在实验过程中加深理解,并且开拓自己在计算机硬件设计中的思路。在本次设计过程中,我们主要是在PC机上进行,用C语言编写程序,主要运用软件来实现,硬件方面不用花多大的功夫,就利用我们常用的键盘和PC机显
7、示就行了。键盘PC机显示图2.2 方案二框图2.2 方案论证与选择从原理框图来看,显然方案二要简单一些。方案一用的是移位寄存器来完成计时,而方案二是在PC机上直接利用软件来实现;从显示来看,方案一是用LED来显示,方案二则是利用PC机的显示器来显示。从整体来看,方案一需设计硬件电路,而方案二就直接用我们常用的电脑就可以完成了,无论从经济还是设计的工作量考虑,显然方案二都要优越于方案一,因此我选择方案二来完成这次的设计。3 软件设计3.1程序流程图NY开始结束菜单系统介绍退出开始测试显示结果是否按错图4.1 程序流程图3.2主程序/*FileName:*Author :*Vertion :0.1
8、*Modified:12-10*/#include #include #include #include #include #include #define N 5void Test(void);void Init(void);void Count(void);void Instruct(void); void DrawFace(int x,int y,int z);int main(void) clrscr();while(1)switch(menu_select()case 0:Test();break;case 1:Instruct();break; case 2:exit(0);ret
9、urn 0;3.3菜单程序/*/int menu_select(void) char *f= /*定义菜单字符串数组*/ *MENU*, /*菜单的标题行*/ 1. Start, 2. Instruction, 3. Quit, Press direction key to choose ; /*退出*/ char s80; int i; int key=0; /*记录所压键值*/ int c=0; textcolor(YELLOW); /*设置文本颜色为黄色*/ textbackground(BLUE); /*设置背景颜色为兰色*/ gotoxy(10,2); putch(0xda); /*
10、输出左上角边框*/ for(i=1;i44;i+) putch(0xc4); /*输出上边框水平线*/ putch(0xbf); /*输出右上角边框 */ for(i=3;i22;i+)/*输出左右两边的垂直线*/ gotoxy(10,i);putch(0xb3); gotoxy(54,i);putch(0xb3); gotoxy(10,22);putch(0xc0); /*输出左上角边框*/ for(i=1;i44;i+) putch(0xc4); /*输出下边框水平线*/ putch(0xd9); /*输出右下角边框*/ window(11,3,53,21); /* 制作显示菜单的窗口,大
11、小根据菜单条数设计*/ clrscr(); /*清屏*/ for(i=0;i8; /*对所压的键进行判断*/ gotoxy(10,i+1); textbackground(BLUE);/*设置背景颜色为蓝色*/ cprintf(%s,fi); /*输出菜单项*/ if(key=72) i=i=1?3:i-1; /*如压向上光标键,i减1,如已到第一行再上移,则到最后一行*/ if(key=80)i=i=3?1:i+1; /*如压向下光标键,i加1,如已到最后一行再下移,则到第一行*/ gotoxy(10,i+1); /*光标移动i的下一项*/ textbackground(LIGHTGREEN
12、); /*将背景颜色设为浅绿*/ cprintf(%s,fi); /*输出菜单项*/ c=i-1; /*给代表菜单选项的整数赋值*/ textbackground(BLACK); /*设置背景颜色为黑色*/ window(1,1,80,25); /*恢复原窗口大小*/ return c; /*返回代表菜单选项的整数值*/3.4测试程序/*/void Test(void) int i=0,k=0;int x,y,x1;static int n; float val5,mid;char ch3;char str8;clock_t start,end; clrscr();Init(); srand(
13、time(NULL);Count(); do k=(rand()%100); if(k=65 & k=90) x=rand()%100+200; y=rand()%100+150; setfillstyle(SOLID_FILL,YELLOW); bar(x,y,x+50,y+50); setcolor(RED); settextstyle(0,0,2); sprintf(ch,%c,k); outtextxy(x+10,y+10,ch); start=clock(); if(getch()=k+32) end=clock(); vali=(end-start)/CLK_TCK; else n
14、=n+1; setfillstyle(SOLID_FILL,YELLOW); bar(200,400,500,420); setcolor(RED); settextstyle(0,0,2); outtextxy(200,400,Sorry,you miss it!); vali=0.00000; sleep(1); i+; setfillstyle(SOLID_FILL,BLACK); bar(100,100,500,450); while(iN); setfillstyle(SOLID_FILL,YELLOW);bar(190,100,500,400); setcolor(RED);set
15、textstyle(0,0,2); outtextxy(200,100,The time used:); for(i=0,x=140;iN;i+,x+=20) sprintf(str,%d,i+1); outtextxy(200,x,str); outtextxy(220,x,:); sprintf(str,%f,vali); outtextxy(240,x,str); outtextxy(370,x,S); if(n=5) outtextxy(200,250,U lost all!); else mid=(float)(val0+val1+val2+val3+val4)/(N-n); out
16、textxy(200,250,You lost:); sprintf(ch,%d,n); outtextxy(350,250,ch); sprintf(str,%f,mid); outtextxy(200,270,The equal time is:); outtextxy(250,290,str); outtextxy(380,290,S); if(mid1.000000 & mid =0); setfillstyle(SOLID_FILL,BLACK); bar(100,100,450,120); /*/void Init(void)int gd=DETECT,gm,errorcode;
17、initgraph(&gd,&gm,);errorcode=graphresult(); if(errorcode!=grOk)printf(Graphics error:%sn,grapherrormsg(errorcode); printf(Press any key to exit!n);getch();exit(1);3.6系统介绍程序/*/ void Instruct(void)clrscr();Init(); setcolor(RED);settextstyle(0,0,3); outtextxy(100,50,WELCOME TO THE SYSTEM ); setcolor(W
18、HITE);settextstyle(0,0,1); outtextxy(50,100,This system is desiged to test the reaction of the pepole.The system );outtextxy(20,120,will dispaly a char on the screnn,when you see what it is.You must print);outtextxy(20,140,the same one as soon as possible.If you match it.The system will record); out
19、textxy(20,160,the time and calculate the score of you.If you cant match it.I am sorry);outtextxy(20,180,you lost it.Good luck next time! We will test five char every loop.);outtextxy(50,250,Press any key to continue.); DrawFace(350,350,50);getch(); closegraph(); 3.7结果显示程序/*/void DrawFace(int x,int y
![[毕业设计]基于微机键盘应用的人体反应系统设计.doc_第1页](https://www.31ppt.com/fileroot1/2023-4/1/60ec76d3-da8a-41c5-9e0e-db6ce558ee0e/60ec76d3-da8a-41c5-9e0e-db6ce558ee0e1.gif)
![[毕业设计]基于微机键盘应用的人体反应系统设计.doc_第2页](https://www.31ppt.com/fileroot1/2023-4/1/60ec76d3-da8a-41c5-9e0e-db6ce558ee0e/60ec76d3-da8a-41c5-9e0e-db6ce558ee0e2.gif)
![[毕业设计]基于微机键盘应用的人体反应系统设计.doc_第3页](https://www.31ppt.com/fileroot1/2023-4/1/60ec76d3-da8a-41c5-9e0e-db6ce558ee0e/60ec76d3-da8a-41c5-9e0e-db6ce558ee0e3.gif)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 微机 键盘 应用 人体 反应 系统 设计

链接地址:https://www.31ppt.com/p-4019091.html