




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称: 单片机原理及应用课程设计 设计题目: 反应测试仪 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 0 8级电信二班 学生姓名: 学 号: 起止日期:2010年12月20日 2010年12月28日指导教师: 教研室主任: 27指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩雷海军 李萍1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日摘 要反应测试仪能够定量的测试人的反映速度。利用这种仪器,可以在人才的选拔中起到积极的作用。本设计以数字集成电路技术为基础,单片机技术为核心,介绍了一种简单反应测试仪的设计与制作,以STC89C52单片机的外中断0外接开关作为按键,程序运行后会在数码管上显示,然后计时,当数码管显示“P”时,提示实验者立即按键,如果实验者在看到“P”时立即按下键,则数码管会动态显示实验者的反应时间;如果实验者在看到按键提示后2S内没有按键,则数码管会显示“ERROR”,并返回程序重新开始测试。本设计能在不清零的情况连续使用,并且能比较两次测试中反应时间短的,由数码管进行显示。关键词:数码管;动态显示;定时器0;反应测试仪目 录1设计任务与要求32方案设计与论证32.1方案一:32.2方案二:33硬件单元电路设计43.1复位电路53.2数码管显示电路54反应测试仪器主程序流程图74.1定时器设计84.2数码管动态显示设计85程序调试96元件清单117总结128致谢13参考文献14附录1 软件仿真图15附录2 程序清单16基于STC89C52的反应测试仪设计1 设计任务与要求 利用单片机作为控制核心,完成快速反应时间的测试。具体要求如下: 基本部分:1) 能够测量出连续两次按键的间隔时间。2) 要求能够在不清零的情况连续使用。3) 由数码管进行显示。测试部分:第一次按键后,分别在10S、1分钟进行按键测试,并能测试人的最快反应速度测试。2 方案设计与论证2.1 方案一:基于STC89C52单片机的LCD液晶显示模块1602显示的反应测试仪。主要是以单片机来控制,用按键来输入反应时间信号,LCD1602液晶作为显示模块来显示测试时间。方案一框图如下所示1:图1 方案一框图2.2 方案二:基于STC89C52单片机的数码管显示模块显示的倒计时器。此电路对于反应测试仪中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。如图2所示2:图2 方案二框图 通过以上两个方案,我们发现方案二总体比方案一好。方案一虽然硬件电路简单,但造价较高,且在编写程序实现所要求的功能时较难,而方案二所用的显示模块是比较熟悉的数码管,编写程序是相对容易,且电路造价不高,因此,综合考虑之后决定采用方案二。3 硬件单元电路设计LED数码管反应测试仪以STC89C52单片机为核心,起着控制作用,另外系统中使用8255A芯片作为扩展I/O作用3。系统包括四位数码管显示电路,按键电路,复位电路。反应测试仪的总体框图如下图3所示:8255ASTC89C52复位电路数码管显示按键电路模块图3 反应测试仪总体框图3.1 复位电路在系统中,有时会出现显示不正常,也为了调试方便,我们需要设计一个复位电路,STC89S52单片机复位电路共有上电复位、按键电平复位和按键脉冲复位。工作原理是:上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。复位电路如下图4所示4:图4 复位电路原理图3.2 数码管显示电路本系统采用六位七段共阳数码显示管,由8255芯片的PA口控制数码管的位选,PB口输出数据给数码管5。其数码管段值控制如下表1所示: 表1 数码管段值控制 段值gcdpdebfaPB控制位PB7PB6PB5PB4PB3PB2PB1PB0在这里我们使用的是8段数码管显示(包含小数点),通常在显示上我们采用的方法一般包括两种:一种是静态显示,另一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多,所耗得电能较大;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中,为了减少端口资源,降低电能消耗,采用的是动态显示方法6。图6数码管显示电路原理图74 反应测试仪器主程序流程图 图6 测试仪主程序流程4.1 定时器设计定时器0的初值为45535,定时时间是20ms,用作反应时间的计算,数码管显示“PPPPPP”时,定时器0开始启动,当定时器0的定时时间到时,进入定时器中断处理程序,使计时寄存器R3加1,并且重新给定时器0赋初值45535,跳出中断程序,判断是否有键按下,如有键按下则停止定时器,调用显示反应时间程序,如没有键按下则继续计时直到R3等于100时,停止定时器0,并显示“ERROR”,返回到程序开始。流程图如图7所示8:图7 定时器设计流程图4.2 数码管动态显示设计反应时间的显示采用6位数码管动态显示,先设置8255A的控制端口为0x80,然后向PA口送第一个数码管的位选值【7】,向PB口送段码值,延时100US后,再改变PA口的值显示,使PA口指向第二个数码管,再向此数码管送段码值显示,以此类推,直到6个数码管全部显示完。由于人眼睛的视觉停留效果,就可以在数码管上显示6个不同的数值。数码管动态显示流程如图8所示9:图8 数码管动态显示流程图5 程序调试系统仿真用的是Proteus软件,可通过仿真显示出所设计系统的功能,对于程序的调试等有很大的帮助。按键显示调试:系统仿真时首先在使用Keil C 译码器,把所写的程序进行编译,同时在仿真器里设置生成HEX文件,编译无错误进行Proteus仿真。等所有的原件都连接完成后可以把Keil C编译生成的无错误文件加载到STC89C52中,启动Proteus软件的play按钮,开始仿真,数码管显示“000000” ,开始计时,在第8S时显示P提示实验者按键准备,2S后显示“PPPPPP”时,立即按键,数码管显示了实验者按键反应时间“015213”即15.213Us。与理论设计一致,按键显示调试成功10。反应时间的比较调试:第一次按键反应时间显示后,程序继续往下计时,在第58S时数码管显示5P,提示按键准备,2S后显示“PPPPPP”立即按键,显示“012352”即12.352US,2S后显示管又显示了“212352”即第二次测试的反应时间短。最高位的2时第二次按键,后面5位则是第二次按键的反应时间。与理论设计一致,反应时间调试成功。软件总仿真图见附录1。6 元件清单 表2 元器件清单名称参数和型号数量单片机STC89C521块PNP三极管90156个电阻1K16个数码管共阳数码管器6个瓷片电容30PF2个晶振12M1个电解电容10uf1个微动开关2个7 总结 身为电信专业的学生,设计是我们将来必需具备的技能。而这次课程设计恰恰给我们提供了一个应用自己所学知识去勇于创新和实践的平台。从通过理论设计,到仿真软件仿真,再到确定具体方案,最后到调试电路、成型。整个过程都需要我充分利用所学的知识进行思考、借鉴。可以说,本次课程设计是针对前面所学的知识进行的一次比较综合的检验。总的来说,这次课程设计虽然很累,但却是苦中有乐,非常充实。在这次实习中,正确的思路是很重要的,只有你的设计思路是正确的,设计才有可能成功。因此我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础,所以跑图书馆和上网查资料成为了我们每天的必修课。 本次课程设计不仅培养了我们的科学严谨的学习态度,使我们认识到不管做任何事都要付出一定的努力,才会有大的收获。同时也让我们领略到电子技术科学知识领域的广袤。相信这次课程设计过后,我们的理论水平和实践动手能力都会有一个质的飞跃,也为今后的实践课程及毕业设计打下了坚实的基础。8 致谢能完成本次设计,离不开老师辛勤地指导,老师能在百忙中来指导我们,每当我们遇到了棘手的问题,老师总能给我们最好的建议,教我们改进得方法,不厌其烦地指出我们在设计中存在的问题和错误,使我们能更好地完成设计。正是老师不厌其烦的指导和每天下午的讲解,让我们的设计思路越发清晰,明朗,清楚了应该从哪些方面着手工作。同时还要感谢在这样课程设计中给我们提供帮助的同学,是你们让我们能更好的完成这次设计。参考文献1 朱定华,戴汝平.单片微机原理与应用.M.北京:清华大学出版社,20032 楼然苗,李光飞.单片机课程设计指导.M.北京航空航天大学出版社,20073 李凤霞,刘桂山, 薛庆.C语言程序设计(第二版). M.北京理工大学出版社,20084 张鑫,华臻,陈书谦.单片机原理及应用(M). 北京电子工业出版社,20055 韩存梅.反应测试仪的原理及设计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 程序清单PA DSTCA 0D1FFHPB DSTCA 0D2FFHPC0 DSTCA 0D5FFHPCZH DSTCA 0D7FFHORG 0000HLJMP INIT ORG 0003H;外中断0LJMP IN0 ORG 000BH;定时器0 LJMP TIMER0ORG 0030HINIT:MOV DPTR,#PCZHMOV A,#80HMOVX DPTR,A;写8255a的控制字80h CLR TR0MOV 40H,#00H;显示值分别送40h,41h,42h, MOV 41H,#00H; 43h,44h,45h进行显示 MOV 42H,#00HMOV 43H,#00HMOV 44H,#00HMOV 45H,#00HLCALL XSHI ;初值显示00 MOV R2,#100;定时器循环初值 CLR CCLR IT0SETB EX0SETB EASETB PX0;定时器0和外中断0初始化 SETB ET0MOV TH0,#0B1H;定时器赋初值 b1df=45536 MOV TL0,#0DFHMOV TMOD,#01H;选择定时器工作方式1 MOV R1,#00H;判断是第几次按键的标志位 MAIN0:MOV R4,#07;记时赋初值 MOV R3,#01ZHUNBEI_7S:MOV 40H,R3LCALL XSHIMOV A,R3INC AMOV R3,ADJNZ R4,ZHUNBEI_7SMOV 40H,#16 LCALL XSHI ;显示一个“p” MOV 40H,#9 LCALL XSHIMOV DPTR,#PA ;显示6个“p” MOV A,#00HMOVX DPTR,AMOV DPTR,#TABLEMOV A,#16MOVC A,A+DPTRMOV DPTR,#PBMOVX DPTR,ASETB TR0 ;定时器启动 MAIN2:MOV 49H,#2LCALL YSHI0JB IE0,JISUANMOV A,R2JB ACC.7,ERROR ;超过2.5秒没有按键,显示error LJMP MAIN2ERROR:;显示error MOV 40H,#17MOV 41H,#0 MOV 42H,#17MOV 43H,#17MOV 44H,#14MOV 45H,#0LCALL XSHILJMP INITJISUAN: ;反应时间转换便于显示 CLR CMOV A,#100SUBB A,R2MOV R2,AMOV 50H,R2MOV A,50HMOV B,#200MUL ABMOV 51H,AMOV 52H,BMOV B,#100MUL ABMOV 53H,A MOV 54H,BMOV A,52HMOV B,#100MUL ABMOV 55H,AMOV 56H,BCLR CMOV A,54HADD A,55HMOV 54H,AMOV A,#00HADDC A,56HMOV 56H,ACLR CMOV A,53HADD A,TL0MOV 53H,AMOV A,54HADDC A,TH0MOV 54H,AMOV A,#00HADDC A,56HMOV 56H,AMOV A,53HANL A,#0F0HSWAP AMOV 57H,A ;第1位显示 MOV A,54HANL A,#0FHMOV 58H,A ;第2位显示 ANL A,#0F0HSWAP A MOV 59H,A ;第3位显示 MOV A,56HANL A,#0FHMOV 60H,A ;第4位显示 MOV A,56HANL A,#0F0HSWAP A MOV 61H,A ;第5位显示 XIANSHI:MOV 40H,57HMOV 41H,58HMOV 42H,59HMOV 43H,60HMOV 44H,61HLCALL XSHICJNE R1,#0FFH,DI2CIKEY0LJMP CMPXIANSHIDI2CIKEY0: ;第二次按键反应测试 MOV 70H,57H ;暂存第一次按键的反应时间 MOV 71H,58H MOV 72H,59H MOV 73H,60H MOV 74H,61H MOV R1,#0FFHMOV R2,#100MOV TH0,#0B1HMOV TL0,#0DFHCLR TR0MOV R3,#46MOV 62H,#02MOV 63H,#01DI2CIKEY1: ;MOV 40H,62HMOV 41H,63HMOV 42H,64HMOV 43H,65HMOV 44H,66HMOV 45H,67HLCALL XSHIINC 62HMOV A,62HCJNE A,#0AH,L1INC 63HMOV 62H,#00HL1:MOV A,63HCJNE A,#0AH,L2INC 64HMOV 63H,#00HL2:MOV A,64HCJNE A,#0AH,L3INC 65HMOV 65H,#00HL3:MOV A,65HCJNE A,#0AH,L4INC 66HMOV 65H,#00HL4:MOV A,66HCJNE A,#0AH,L5INC 67HMOV 66H,#00HL5:DJNZ R3,DI2CIKEY1MOV 40H,#16 LCALL XSHI;显示一个“p” MOV 40H,#9MOV 41H,#5 LCALL XSHIMOV DPTR,#PA ;显示6个“p” MOV A,#00HMOVX DPTR,AMOV DPTR,#TABLEMOV A,#16MOVC A,A+DPTRMOV DPTR,#PBMOVX DPTR,ASETB TR0 LJMP MAIN2CMPXIANSHI:CLR C;比较反应时间,并显示最短的反应时间 MOV A,74H SUBB A,61H JZ NEXT0JC XIANSHI1JNC XIANSHI2 NEXT0:CLR CMOV A,73HSUBB A,60HJZ NEXT1JC XIANSHI1JNC XIANSHI2 NEXT1:CLR CMOV A,72HSUBB A,59HJZ NEXT2 JC XIANSHI1JNC XIANSHI2 NEXT2:CLR CMOV A,71HSUBB A,58H JZ NEXT3 JC XIANSHI1JNC XIANSHI2 NEXT3:CLR CMOV A,70HSUBB A,57H JZ XIANSHI1JC XIANSHI1 JNC XIANSHI2XIANSHI1:MOV 30H,#03HBAOZHI1:MOV 40H,70HMOV 41H,71HMOV 42H,72HMOV 43H,73HMOV 44H,74HMOV 45H,#01HLCALL XSHIDJNZ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论