反应测试仪.docx
- 文档编号:30686080
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:27
- 大小:88.62KB
反应测试仪.docx
《反应测试仪.docx》由会员分享,可在线阅读,更多相关《反应测试仪.docx(27页珍藏版)》请在冰豆网上搜索。
反应测试仪
湖南人文科技学院
课程设计报告
课程名称:
单片机原理及应用课程设计
设计题目:
反应测试仪
系别:
通信与控制工程系
专业:
电子信息工程
班级:
08级电信二班
学生姓名:
李萍雷海军
学号:
0840920108409203
起止日期:
2010年12月20日~2010年12月28日
指导教师:
谢四连赵志刚
教研室主任:
侯海良
指导教师评语:
指导教师签名:
年月日
成绩评定
项目
权重
成绩
雷海军
李萍
1、设计过程中出勤、学习态度等方面
0.2
2、课程设计质量与答辩
0.5
3、设计报告书写及图纸规范程度
0.3
总成绩
教研室审核意见:
教研室主任签字:
年月日
教学系审核意见:
主任签字:
年月日
摘要
反应测试仪能够定量的测试人的反映速度。
利用这种仪器,可以在人才的选拔中起到积极的作用。
本设计以数字集成电路技术为基础,单片机技术为核心,介绍了一种简单反应测试仪的设计与制作,以STC89C52单片机的外中断0外接开关作为按键,程序运行后会在数码管上显示,然后计时,当数码管显示“P”时,提示实验者立即按键,如果实验者在看到“P”时立即按下键,则数码管会动态显示实验者的反应时间;如果实验者在看到按键提示后2S内没有按键,则数码管会显示“ERROR”,并返回程序重新开始测试。
本设计能在不清零的情况连续使用,并且能比较两次测试中反应时间短的,由数码管进行显示。
关键词:
数码管;动态显示;定时器0;反应测试仪
目录
1设计任务与要求3
2方案设计与论证3
2.1方案一:
3
2.2方案二:
3
3硬件单元电路设计4
3.1复位电路5
3.2数码管显示电路5
4反应测试仪器主程序流程图7
4.1定时器设计8
4.2数码管动态显示设计8
5程序调试9
6元件清单11
7总结12
8致谢13
参考文献14
附录1软件仿真图15
附录2程序清单16
基于STC89C52的反应测试仪设计
设计任务与要求
利用单片机作为控制核心,完成快速反应时间的测试。
具体要求如下:
基本部分:
1)能够测量出连续两次按键的间隔时间。
2)要求能够在不清零的情况连续使用。
3)由数码管进行显示。
测试部分:
第一次按键后,分别在10S、1分钟进行按键测试,并能测试人的最快反应速度测试。
方案设计与论证
方案一:
基于STC89C52单片机的LCD液晶显示模块1602显示的反应测试仪。
主要是以单片机来控制,用按键来输入反应时间信号,LCD1602液晶作为显示模块来显示测试时间。
方案一框图如下所示[1]:
图1方案一框图
方案二:
基于STC89C52单片机的数码管显示模块显示的倒计时器。
此电路对于反应测试仪中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
如图2所示[2]:
图2方案二框图
通过以上两个方案,我们发现方案二总体比方案一好。
方案一虽然硬件电路简单,但造价较高,且在编写程序实现所要求的功能时较难,而方案二所用的显示模块是比较熟悉的数码管,编写程序是相对容易,且电路造价不高,因此,综合考虑之后决定采用方案二。
硬件单元电路设计
LED数码管反应测试仪以STC89C52单片机为核心,起着控制作用,另外系统中使用8255A芯片作为扩展I/O作用[3]。
系统包括四位数码管显示电路,按键电路,复位电路。
反应测试仪的总体框图如下图3所示:
图3反应测试仪总体框图
复位电路
在系统中,有时会出现显示不正常,也为了调试方便,我们需要设计一个复位电路,STC89S52单片机复位电路共有上电复位、按键电平复位和按键脉冲复位。
工作原理是:
上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。
复位电路如下图4所示[4]:
图4复位电路原理图
数码管显示电路
本系统采用六位七段共阳数码显示管,由8255芯片的PA口控制数码管的位选,PB口输出数据给数码管[5]。
其数码管段值控制如下表1所示:
表1数码管段值控制
段值
g
c
dp
d
e
b
f
a
PB控制位
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
在这里我们使用的是8段数码管显示(包含小数点),通常在显示上我们采用的方法一般包括两种:
一种是静态显示,另一种是动态显示。
其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。
在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显示方法[6]。
图6 数码管显示电路原理图[7]
反应测试仪器主程序流程图
图6测试仪主程序流程
定时器设计
定时器0的初值为45535,定时时间是20ms,用作反应时间的计算,数码管显示“PPPPPP”时,定时器0开始启动,当定时器0的定时时间到时,进入定时器中断处理程序,使计时寄存器R3加1,并且重新给定时器0赋初值45535,跳出中断程序,判断是否有键按下,如有键按下则停止定时器,调用显示反应时间程序,如没有键按下则继续计时直到R3等于100时,停止定时器0,并显示“ERROR”,返回到程序开始。
流程图如图7所示[8]:
图7定时器设计流程图
数码管动态显示设计
反应时间的显示采用6位数码管动态显示,先设置8255A的控制端口为0x80,然后向PA口送第一个数码管的位选值【7】,向PB口送段码值,延时100US后,再改变PA口的值显示,使PA口指向第二个数码管,再向此数码管送段码值显示,以此类推,直到6个数码管全部显示完。
由于人眼睛的视觉停留效果,就可以在数码管上显示6个不同的数值。
数码管动态显示流程如图8所示[9]:
图8数码管动态显示流程图
程序调试
系统仿真用的是Proteus软件,可通过仿真显示出所设计系统的功能,对于程序的调试等有很大的帮助。
按键显示调试:
系统仿真时首先在使用KeilC译码器,把所写的程序进行编译,同时在仿真器里设置生成HEX文件,编译无错误进行Proteus仿真。
等所有的原件都连接完成后可以把KeilC编译生成的无错误文件加载到STC89C52中,启动Proteus软件的play按钮,开始仿真,数码管显示“000000”,开始计时,在第8S时显示P提示实验者按键准备,2S后显示“PPPPPP”时,立即按键,数码管显示了实验者按键反应时间“015213”即15.213Us。
与理论设计一致,按键显示调试成功[10]。
反应时间的比较调试:
第一次按键反应时间显示后,程序继续往下计时,在第58S时数码管显示5P,提示按键准备,2S后显示“PPPPPP”立即按键,显示“012352”即12.352US,2S后显示管又显示了“212352”即第二次测试的反应时间短。
最高位的2时第二次按键,后面5位则是第二次按键的反应时间。
与理论设计一致,反应时间调试成功。
软件总仿真图见附录1。
元件清单
表2元器件清单
名称
参数和型号
数量
单片机
STC89C52
1块
PNP三极管
9015
6个
电阻
1K
16个
数码管
共阳数码管器
6个
瓷片电容
30PF
2个
晶振
12M
1个
电解电容
10uf
1个
微动开关
2个
总结
身为电信专业的学生,设计是我们将来必需具备的技能。
而这次课程设计恰恰给我们提供了一个应用自己所学知识去勇于创新和实践的平台。
从通过理论设计,到仿真软件仿真,再到确定具体方案,最后到调试电路、成型。
整个过程都需要我充分利用所学的知识进行思考、借鉴。
可以说,本次课程设计是针对前面所学的知识进行的一次比较综合的检验。
总的来说,这次课程设计虽然很累,但却是苦中有乐,非常充实。
在这次实习中,正确的思路是很重要的,只有你的设计思路是正确的,设计才有可能成功。
因此我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础,所以跑图书馆和上网查资料成为了我们每天的必修课。
本次课程设计不仅培养了我们的科学严谨的学习态度,使我们认识到不管做任何事都要付出一定的努力,才会有大的收获。
同时也让我们领略到电子技术科学知识领域的广袤。
相信这次课程设计过后,我们的理论水平和实践动手能力都会有一个质的飞跃,也为今后的实践课程及毕业设计打下了坚实的基础。
致谢
能完成本次设计,离不开老师辛勤地指导,老师能在百忙中来指导我们,每当我们遇到了棘手的问题,老师总能给我们最好的建议,教我们改进得方法,不厌其烦地指出我们在设计中存在的问题和错误,使我们能更好地完成设计。
正是老师不厌其烦的指导和每天下午的讲解,让我们的设计思路越发清晰,明朗,清楚了应该从哪些方面着手工作。
同时还要感谢在这样课程设计中给我们提供帮助的同学,是你们让我们能更好的完成这次设计。
参考文献
[1]朱定华,戴汝平.单片微机原理与应用.[M].北京:
清华大学出版社,2003
[2]楼然苗,李光飞.单片机课程设计指导.[M].北京航空航天大学出版社,2007
[3]李凤霞,刘桂山,薛庆.C语言程序设计(第二版).[M].北京理工大学出版社,2008
[4]张鑫,华臻,陈书谦.单片机原理及应用(M).北京电子工业出版社,2005
[5]韩存梅.反应测试仪的原理及设计[J].中央民族大学学报(自然科学版),2009,(04)
[6]反应时间[J].中国单片机应用杂志,1986,(03)
[7]鄢积分,朱洪涛.七段LED数码管字形扫描动态显示技术[J].江西蓝天学院学报,2008,(S1)
[8]吴霆.LED显示与驱动方法综述[J].广东海洋大学学报,2007,(04)
[9]何利英.单片机I/O口实现串行LED动态显示[J].辽宁师专学报(自然科学版),2004,(03)
[10]詹华群,彭健飞,邬文静.一种新颖的LED动态显示方法[J].今日电子,2003
附录1软件仿真图
附录2程序清单
PADSTCA0D1FFH
PBDSTCA0D2FFH
PC0DSTCA0D5FFH
PCZHDSTCA0D7FFH
ORG0000H
LJMPINIT
ORG0003H;外中断0
LJMPIN0
ORG000BH;定时器0
LJMPTIMER0
ORG0030H
INIT:
MOVDPTR,#PCZH
MOVA,#80H
MOVX@DPTR,A;写8255a的控制字80h
CLRTR0
MOV40H,#00H;显示值分别送40h,41h,42h,
MOV41H,#00H;43h,44h,45h进行显示
MOV42H,#00H
MOV43H,#00H
MOV44H,#00H
MOV45H,#00H
LCALLXSHI;初值显示00
MOVR2,#100;定时器循环初值
CLRC
CLRIT0
SETBEX0
SETBEA
SETBPX0;定时器0和外中断0初始化
SETBET0
MOVTH0,#0B1H;定时器赋初值b1df=45536
MOVTL0,#0DFH
MOVTMOD,#01H;选择定时器工作方式1
MOVR1,#00H;判断是第几次按键的标志位
MAIN0:
MOVR4,#07;记时赋初值
MOVR3,#01
ZHUNBEI_7S:
MOV40H,R3
LCALLXSHI
MOVA,R3
INCA
MOVR3,A
DJNZR4,ZHUNBEI_7S
MOV40H,#16
LCALLXSHI;显示一个“p”
MOV40H,#9
LCALLXSHI
MOVDPTR,#PA;显示6个“p”
MOVA,#00H
MOVX@DPTR,A
MOVDPTR,#TABLE
MOVA,#16
MOVCA,@A+DPTR
MOVDPTR,#PB
MOVX@DPTR,A
SETBTR0;定时器启动
MAIN2:
MOV49H,#2
LCALLYSHI0
JBIE0,JISUAN
MOVA,R2
JBACC.7,ERROR;超过2.5秒没有按键,显示error
LJMPMAIN2
ERROR:
;显示error
MOV40H,#17
MOV41H,#0
MOV42H,#17
MOV43H,#17
MOV44H,#14
MOV45H,#0
LCALLXSHI
LJMPINIT
JISUAN:
;反应时间转换便于显示
CLRC
MOVA,#100
SUBBA,R2
MOVR2,A
MOV50H,R2
MOVA,50H
MOVB,#200
MULAB
MOV51H,A
MOV52H,B
MOVB,#100
MULAB
MOV53H,A
MOV54H,B
MOVA,52H
MOVB,#100
MULAB
MOV55H,A
MOV56H,B
CLRC
MOVA,54H
ADDA,55H
MOV54H,A
MOVA,#00H
ADDCA,56H
MOV56H,A
CLRC
MOVA,53H
ADDA,TL0
MOV53H,A
MOVA,54H
ADDCA,TH0
MOV54H,A
MOVA,#00H
ADDCA,56H
MOV56H,A
MOVA,53H
ANLA,#0F0H
SWAPA
MOV57H,A;第1位显示
MOVA,54H
ANLA,#0FH
MOV58H,A;第2位显示
ANLA,#0F0H
SWAPA
MOV59H,A;第3位显示
MOVA,56H
ANLA,#0FH
MOV60H,A;第4位显示
MOVA,56H
ANLA,#0F0H
SWAPA
MOV61H,A;第5位显示
XIANSHI:
MOV40H,57H
MOV41H,58H
MOV42H,59H
MOV43H,60H
MOV44H,61H
LCALLXSHI
CJNER1,#0FFH,DI2CIKEY0
LJMPCMPXIANSHI
DI2CIKEY0:
;第二次按键反应测试
MOV70H,57H;暂存第一次按键的反应时间
MOV71H,58H
MOV72H,59H
MOV73H,60H
MOV74H,61H
MOVR1,#0FFH
MOVR2,#100
MOVTH0,#0B1H
MOVTL0,#0DFH
CLRTR0
MOVR3,#46
MOV62H,#02
MOV63H,#01
DI2CIKEY1:
;
MOV40H,62H
MOV41H,63H
MOV42H,64H
MOV43H,65H
MOV44H,66H
MOV45H,67H
LCALLXSHI
INC62H
MOVA,62H
CJNEA,#0AH,L1
INC63H
MOV62H,#00H
L1:
MOVA,63H
CJNEA,#0AH,L2
INC64H
MOV63H,#00H
L2:
MOVA,64H
CJNEA,#0AH,L3
INC65H
MOV65H,#00H
L3:
MOVA,65H
CJNEA,#0AH,L4
INC66H
MOV65H,#00H
L4:
MOVA,66H
CJNEA,#0AH,L5
INC67H
MOV66H,#00H
L5:
DJNZR3,DI2CIKEY1
MOV40H,#16
LCALLXSHI;显示一个“p”
MOV40H,#9
MOV41H,#5
LCALLXSHI
MOVDPTR,#PA;显示6个“p”
MOVA,#00H
MOVX@DPTR,A
MOVDPTR,#TABLE
MOVA,#16
MOVCA,@A+DPTR
MOVDPTR,#PB
MOVX@DPTR,A
SETBTR0
LJMPMAIN2
CMPXIANSHI:
CLRC;比较反应时间,并显示最短的反应时间
MOVA,74H
SUBBA,61H
JZNEXT0
JCXIANSHI1
JNCXIANSHI2
NEXT0:
CLRC
MOVA,73H
SUBBA,60H
JZNEXT1
JCXIANSHI1
JNCXIANSHI2
NEXT1:
CLRC
MOVA,72H
SUBBA,59H
JZNEXT2
JCXIANSHI1
JNCXIANSHI2
NEXT2:
CLRC
MOVA,71H
SUBBA,58H
JZNEXT3
JCXIANSHI1
JNCXIANSHI2
NEXT3:
CLRC
MOVA,70H
SUBBA,57H
JZXIANSHI1
JCXIANSHI1
JNCXIANSHI2
XIANSHI1:
MOV30H,#03H
BAOZHI1:
MOV40H,70H
MOV41H,71H
MOV42H,72H
MOV43H,73H
MOV44H,74H
MOV45H,#01H
LCALLXSHI
DJNZ30H,BAOZHI1
LJMPINIT
XIANSHI2:
MOV31H,#03H
BAOZHI2:
MOV40H,57H
MOV41H,58H
MOV42H,59H
MOV43H,60H
MOV44H,61H
MOV45H,#02H
LCALLXSHI
DJNZ31H,BAOZHI2
LJMPINIT
IN0:
;中断处理程序
CLRTR0
RETI
TIMER0:
;定时器处理程序
MOVA,R2
SUBBA,#01
MOVR2,A
MOVTH0,#0B1H
MOVTL0,#0DFH
RETI
XSHI:
;显示子程序
MOV37H,#80
DTXS0:
MOV38H,#11011111B
MOV39H,#6
MOVR0,#40H
DTXS1:
MOVDPTR,#PA
MOVA,38H
MOVX@DPTR,A
MOVDPTR,#TABLE
MOVA,@R0
MOVCA,@A+DPTR
MOVDPTR,#PB
MOVX@DPTR,A
MOVR5,#10
D3:
MOVR7,#100
DJNZR7,$
DJNZR5,D3
INCR0
MOVA,38H
RRA
MOV38H,A
DJNZ39H,DTXS1
DJNZ37H,DTXS0
RET;158050US
YSHI0:
;延时10ms,最大可延时2.5s
MOVR5,49H
D1:
MOVR6,#100
D2:
MOVR7,#50
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
TABLE:
DB0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA,0x20;0X70"P"0X71"R"
DB0x28,0x30,0x25,0xE4,0x23,0x64,0x74,0x70,0x71,0xDF;0XDF"."
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 反应 测试仪