1第一章课题综述1.1课题背景速度素质是指人体进行快速运动的能力,即在单位时间内迅速完成某一动作或通过某一距离的能力。反应速度是指人体对刺激发生反应的快慢。从生理机制分析,反应快慢取决于“反射弧”的五个环节:感受器—传入神经—神经中枢—传出神经—效应器。下面以MCS-8051单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间。我们学习的是单片机理论知识,而课程设计则是对我们学习的理论知识的实践和巩固。1.2设计要求基于MCS-8051单片机的人体反应速度测试仪设计要求如下:1.按下“开始”按钮,红灯亮,按钮一直保持按下状态。2.红灯持续点亮一段随机时间,然后熄灭,灯熄灭时人松开按钮。3.计算灯熄灭的时间和按钮被松开的时间之差,显示出来。4.若测试者在红灯熄灭之前松开按钮,则显示出错信息。1.3面对的问题1.对MCS-8051单片机的了解和应用。2.对八段数码管的特性的了解和使用。1.4需解决的关键技术课题主要通过控制红灯的状态,通过测试按钮的状态来间接计算人体反应速度。要了解每一段数码管与MCS-8051单片机的连接,数码管显示数字的段码,各个芯片的输入输出关系,单片机内部定时器的原理与控制,必须通过查阅资料确定。必须了解数码管显示器的显示原理。2第二章系统分析2.1涉及的基础知识通过学习和查阅资料,本课题需要掌握和了解如下知识:1.MCS-8051单片机各输入输出端口的功能特性。2.MCS-8051单片机复位电路工作原理及设计。3.MCS-8051单片机晶振电路工作原理及设计。4.测试按钮、测试灯电路设计。5.驱动器74LS244、反相器74LS04的特性及使用。6.数码管显示器的特性及使用。7.MCS-8051单片机引脚。8.单片机内部定时器原理及使用。9.单片机C语言及程序设计。2.2MCS-8051单片机简介随着超大规模集成电路技术的发展,在一个集成电路芯片上集成了中央处理器CPU、数据存储器RAM、程序存储器ROM或EPROM、各种I/O接口等,构成了一个计算机,称为单片机。也就是说,单片机是集成在一块集成电路芯片上的计算机。单片机以其较高的性价比、较高的集成度、较高可靠性、较强控制功能以及低电压、低功耗、偏于携带等优点收到广大用户的青睐。MCS-51系列单片机以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富指令系统,堪称为一代“名机”,为以后的其他单片机发展奠定了基础。MCS-51系列单片机具有品种全、兼容性强、软硬件资料丰富等特点,因此应用非常广泛,直到现在MCS-51系列单片机仍为单片机中的主流机型,也是高档单片机的基础。8051是MCS-51系列单片机中的代表产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4KB的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。8051中集成了完善的各种中断源,用户可十分方便的控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。2.3MCS-8051单片机引脚图MCS-8051单片机采用40条引脚的双列直插式封装,引脚配置如图2—1所示。单片机电源引脚接入单片机的工作电源:VCC引脚接+5V电源,VSS引脚接地。单片机时钟由引脚XTAL1和XTAL2接外部时钟配置电路组成。单片机复位,当振荡器运行时,在RST引脚加上两个机器周期的高电平使单片机复位。MCS-8051单片机具有4个8位的输入/输出口,P0、P1、P2和P3口。P0口是双向8位三态I/O口,此口常作为地址总线低8位及数据总线分时复用口,可带8个LSTTL负载。P1口是8位准双向I/O口,可带4个LSTTL负载。P2口是8位准双向I/O口,常作地址总线高8位使用,可驱动4个LSTTL负载。P3口是8位准双向I/O口,为双功能复用口,可驱动4个LSTTL负载。2.4数码管显示器2.4.1数码管显示器的特性1.发光响应快,亮度强,高频特性好;而且随着材料的不同,数码管还能发出红、黄、绿、蓝、橙等多种颜色的光。3图2—1MCS-8051单片机引脚图2.机械性能好,体积小,重量轻,价格低廉;能与COMS和TTL电路配合使用;使用寿命长。3.工作电压低,驱动电流适中。每段电流为5~10mA,一只数码管的8段LED全亮需要电流35~70mA。这样打的电流需要由驱动电路提供,因此,使用时要注意数码管的驱动问题。在使用中,为了给发光二极管加驱动电压,他们应有一个公共的引脚,公共的引脚有如下两种链接方法:一、共阴极接法。把发光二极管的阴极连接在一起构成阴极公共引脚,使用时公共引脚接地,这样阳极引脚上加高电平的发光二极管就导通点亮,而加低电平的则不亮。二、共阳极接法。把发光二极管的阳极连接在一起作为阳极公共引脚,使用时阳极公共引脚接+5V。这样阴极引脚上加低电平的发光二极管即可导通点亮,而加高电平的则点不亮。本课题采用SR410561K四位一体数码管,为共阳极接法,位选信号位高电平有效,段码信号为低电平有效。2.4.2数码管的显示原理并排使用的多位数码管组成数码管显示器。数码管显示器多采用动态显示方式,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。显示时通过位控制信号采用扫描的方法逐位地循环点亮各位数码管。动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。数码管显示器的动态显示需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。把数码管显示器段码表预先存放在存储器中,使用时通过查表就可以得到段码。段码输出后送到公共端码线上,也可称为段控信号。而通过并行口输出的相互独立的位码则是起选通作用的,也称位控活扫描信号,用于选择显示位。动态显示具有硬件简单,功耗低和显示灵活性强等优点。但动态显示增加了驱动软件的复杂性,且显示亮度较低。2.4.3数码管显示器段码SR410561K四位一体数码管采用共阳极接法,单个数码管如图2—2所示。4图2—2八段数码管则数码管段码如表2—1所示。表2—1数码管段码显示数字Dpgfedcba段码011000000c0111111001f9210100100a4310110000b0410011001995100100109261000001082711111000f88100000008091001000090A1000100088b1000001183C11000110c6d10100001a1E1000011086F100011108e2.5定时器2.5.1定时器工作原理在MCS-8051单片机内集成了两个16位的定时器/计数器T0和T1,其基本工作原理是加1计数,即对指定的脉冲信号进行加1操作,直到出现溢出为止。当T0和T1作为定时器使用时,其计数脉冲信号取自单片机内部的时钟信号,每个机器周期产生一个计数脉冲,使计数器加1。T0和T1分别有两个8位的计数器组成,其中T0由特殊功能寄存器TH0与TL0组成,而T1则由特殊功能寄存器TH1与TL1组成。这四个寄存器用来存储定时或计数使用的初值,所以也被称为时间常数存储器。特殊功能寄存器TMOD和TCON完成对定时器/计数器的控制功能。2.5.2定时器的控制MCS-8051单片机的定时功能是由特殊功能寄存器TH0,TL0,TH1,TL1,TMOD和TCON完成的。5特殊功能寄存器TMOD用于确定定时器的工作方式,格式如下:其中,前4位用于控制T1的工作方式,后四位用于控制T0的工作方式。本课题仅使用T1作为定时器,选择工作方式为方式1,即为选择T1为16为定时器。则TMOD的值应设置为00010000B,即TMOD=0x10。特殊功能寄存器TCON用于用于控制定时器的启动和停止技术,同时包含了定时器的状态,可进行位寻址。格式如下:本课题中用到的控制位有TI的控制位TR1和TF1,无需中断控制。TR1为T1运行控制位,若TR1=1,允许T1计数,若TR1=0,禁止T1计数。TF1为T1计数溢出标志值,当T1被允许计数后,T1从初值开始加1计数,最高位产生溢出时,TF1由硬件置1,TF1的信息可由软件查询。2.5.3定时器初值的设定本课题中,设置初值使T1的定时周期为1ms。当红灯熄灭后,定时器开始工作,每1ms定时器产生一次溢出,使数码管要显示的反应时间以毫秒为单位加1,达到使数码管显示人体反应时间的目的。T1采用工作方式1定时,时钟频率采用6MHz,则计数初值:x=216-6×106×1×10-3/12=65536-6000/12=65036化为二进制x=1111111000001100B,则计数初值应为TH1=0xfe,TL1=0x0c。D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT06第三章总体方案设计3.1总体方案数码管的显示电路中采用动态数码管显示。采用MCS-8051单片机的P0端口(P0.0~P0.7端口)控制段码,低电平有效。P2.0~P2.3端口控制4位数码管的位选择,高电平有效。(P2.3端口控制第1个数码管,P2.2端口控制第2个数码管,P2.1端口控制第3个数码管,P2.0端口控制第4个数码管)。各个数码管的段码都是P0端口的输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态扫描的方式,即先只让最低位显示,经过一段延时,再只让次低位显示,以此类推。由于视觉暂留,只要延时时间足够短,就能够使得数码的显示看起来非常稳定清楚。3.2功能模块框图人体反应速度测试仪的功能模块框图如图3—1所示。硬件电路由MCS-8051单片机、电源电路、测试按钮和测试灯电路、晶振电路、复位电路、驱动电路、反相电路以及数码管显示电路组成。图3—1人体反应速度测试仪功能模块框图电源电路MCS—8051单片机晶振电路复位电路测试按钮和测试灯电路数码管显示电路驱动电路反相电路7第四章系统硬件设计4.1硬件连接图4.1.1测试按钮与测试灯电路MCS-8051单片机的P1.0端口控制一个发光二极管,即为测试红灯。发光二极管加限流电阻接+5V电源,当单片机的P1.0端口输出低电平时,红灯亮,输出高电平时,红灯灭。P1.1端口接“开始”按钮,按钮另一端接地。若按钮按下,则P1.1口输入低电平,否则输入高电平。4.1.2数码管显示电路数码管采用SR410561K四位一体数码管。MCS-8051单片机的P0口的8个端口(P0.0~P0.7)控制数码管的八段数码显示。P0口8位输出经限流电阻接入到数码管显示器的段码端口。数码管采用共阳极接法,低电平有效。限流电阻的接入是由于在应用数码管进行显示时,首先需要考虑的问题是驱动电流,与发光二极管相同,数码管的发光段也需要串联限流电阻,串联限流电阻的组织越大,电流越小,亮度越低;电阻阻值越小,电流越大,亮度越高。在使用限流电阻时需要在每一个线段上都串联限流电阻,而不要在公共端上串联一个限流电阻,否则在显示不同的数字时,会造成数码管亮度的不同。单片机P2口的P2.0~P2.3控制4位数码管的位选,P2口输出经限流电阻后需进行反相,反相之后经驱动电路接入到数码管显示器的位选端。4.1.3晶振电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的运行。单片机必须在时钟的驱动下才能正常工作。MCS-8051单片机的时钟可以由内部方式或外部方式产生。本课题采用内部方式的晶振电路,如图4—1所示,一般选用石英晶体振荡器。利用MCS-8051单片机内部的震荡电路,并在XTAL1和XTAL2两脚间外接晶体以及电容C1和C2构成的并联谐振电路,使内部振荡器产生自激振荡。组成时钟电路的晶体振荡器的频率大小决定了单片机系