反应速度测试_第1页
反应速度测试_第2页
反应速度测试_第3页
反应速度测试_第4页
反应速度测试_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳航空航天大学课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:反应速度测试院(系):计算机学院专业:技术及科学与技术班级:学号:姓名:指导教师:张维君完成日期:2013年7月7日沈阳航空航天大学课程设计报告沈阳航空航天大学课程设计报告--I-目录TOC\o"1-5"\h\z第1章总体设计方案1课程设计的内容和要求1设计原理1设计思路2第2章详细设计方案3实现方法3模块设计42.2.1主程序流程图42.2.2初始化模块52.2.3中断程序流程图5程序连线图6第3章调试及结果分析73.1调试步骤及方法7实验结果7参考文献8附录9沈阳航空航天大学课程设计报告沈阳航空航天大学课程设计报告--#-第1章总体设计方案课程设计的内容和要求一、课程设计内容:用8255控制8个发光二极管,某一时刻一个发光二极管亮,拨动对应的开关后,现在亮的发光二极管灭,另一个发光二极管亮,重复10次这样的过程;用8253记录从发光二极管亮到拨动开关的时间;将最后的总时间显示在数码管上。二、课程设计要求:认真查阅相关资料;独立设计、调试并通过知道教师现场验收;撰写课程设计报告。设计原理根据课程设计任务书的要求,通过测试8个开关控制8个发光二极管的10次亮灭所需的时间,来测试反应速度,并将测试出的时间显示在数码管上。程序先初始化各芯片及装入中断服务程序,然后从预先建立的控制10次发光二极管亮灭的顺序表中读取第一个数据,并显示在发光二极管上,同时计时器开始计时,并显示在数码管上,然后不断读取8个开关的状态,当对应的开关拨动时,发光二极管灭,之后从顺序表中读取第二个数据,显示在发光二极管上,这个过程重复10次,当第10次发光二极管所对应的开关拨动时,计时器停止计时,数码管上所显示的时间就是所测试的反应时间。在本次设计中使用了8255A并行接口芯片芯片、8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成反应速度的测试。其中利用8255芯片实现8个开关控制8个发光二极管亮灭的功能;8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的方波,使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将测试出的反应时间显示在数码管上。设计思路根据课设设计任务书的要求可将设计分为初始化模块、控制模块、计时模块以及显示模块。利用现有的环境,可用汇编语言来控制实验箱中的芯片来测试反应速度。初始化模块主要功能就行设置各芯片的工作方式及建立中断向量表。其中8255A并行接口芯片的工作方式是通过PA口控制输入,PB口控制输出;8253计时器的工作方式是使用计时器0,计数初值16位,以方式3的模式产生100HZ的方波;8259A中断控制芯片的工作方式是单片的以30H为中断类型号,并且只允许IR0中断;8279键盘/显示芯片的工作方式是以8个字符左进方式显示。控制模块的主要功能就是用8个开关控制8个发光二极管的亮灭。当第一个发光二极管亮了之后,改变计时模块的状态位(SWITCH)来控制计时器启动,然后不断的读取PA口输入端的状态,当对应的开关拨动之后,发光二极管灭,然后点亮第二个发光二极管,然后不断的读取口的输入状态,重复10次这样的过程,当第10次的发光二极管所对应的开关拨动之后,改变及时模块的状态位(SWITCH)控制计时器停止。计时模块的功能就是用来计算时间。计时模块要按照状态标志位(SWITCH)来控制计时器的开始停止时间,即受到状态位的控制。利用8253定时/计数器芯片产生方波来计算时间,每个方波的周期为10毫秒,当一个周期完成时产生中断,系统进入中断程序来实现计时,使时间增加1百分秒,保存在内存中,最后调用显示模块来显示时间。其中中断由8259A中断控制芯片产生。显示模块的功能就是用来显示时间。利用8279键盘/显示芯片在LED上分别显示秒和百分秒。第2章详细设计方案实现方法1.内存分配程序中所需定义的内存单元含义如下:LED:存放0~9在数码管上显示的编码,共10个字节。TAB:存放8个发光二极管10次点亮的顺序,共10个字节TIME:存放所测试的反应时间,共8个字节。分别秒、百分秒。SWITCH:计时器运行状态,占1个字节,开始(0)停止(1)。时钟频率选择CPU的频率为3.072105HZ。用8253芯片产生方波。计数器0的CLK接CPU0时钟脉冲,计数初值为0C00H,使OUT产生周期为10ms的方波。0显示设置显示功能由8279芯片和数码管实现。秒表的显示规则是(秒、百分秒),即(000000、00)。端口地址分配本次课程设计共使用了4种芯片,他们的端口号设置如表2.1所示。表2.1端口地址分配表芯片名称端口号含义8255A200H~203HPA口、PB口、控制端口8253210H~213H计数器0、计数器1、计数器2、控制端口8259A220H~221H偶地址端口、奇地址端口8279230H、232H数据端口、控制端口5.子程序子程序名称和功能如表2.2所示。表2.2子程序表

名称作用名称作用18255初始化8255芯片I8253初始化8253芯片18259初始化8259A芯片I8279初始化8279芯片INTS装中断向量INTR中断服务程序DIS显示程序模块设计2.2.1主程序流程图主程序又称控制模块,其主要功能是初始化各芯片,8个开关控制8个发光二极管。在初始化结束后,第一个发光二极管亮,计时器开始计时,直到第十个发光二极管亮,计时器停止计时,将计时结果显示在数码管上。否是显示发光二极管状态显示发光二极管状态初始化芯片开始计时停止计时开中断关中断开始停止否是显示发光二极管状态显示发光二极管状态初始化芯片开始计时停止计时开中断关中断开始停止图2.1主程序流程图

初始化模块初始化模块主要用于初始化各芯片,设定芯片工作方式,以及装入中断向量等。各芯片初始化情况如表2.3所示。表2.3芯片的初始化芯片名称初始化8255APA口:输入;PB口:输出8253计数器0:先送低八位,后咼八位,工作方式3,二进制计数,计数初值0C00H8259AICW1:上升沿触发,单片,写ICW4,控制字13H;ICW2:中断类型号30H,控制字30H;ICW4:正常E0I,8086/8088系统,控制字01H;中断向量:中断类型号30H对应的中断服务程序为INTR8279清除显示和显示寄存器,控制字0D2H;键盘显示命令,八个字符显示,左端输入方式,控制字00H中断程序流程图中断程序中包含计时模块和显示模块,计时模块受SWITCH控制。中断程序的流程如图2.2。图2.2中断程序流程图

程序连线图程序连线图如图2.3所示。K0-K7R0-R7K0-K7R0-R7200-207PAO-7PBO-7230-237VCC220-227时钟脉冲210-2172.3程序连线图CS230-237VCC220-227时钟脉冲210-2172.3程序连线图第3章调试及结果分析3.1调试步骤及方法问题1:查询顺序表之后,在发光二极管上显示的不是所建表中的数据问题分析:单步跟踪调试时,执行XLAT时出现问题,执行XLAT语句后,在AL中存放的不是所建表中的数据,之后发现所查询的表是在数据段中,而没有将代码段中的内容存入数据段中,由此引发查询错误。解决方案:在主程序开始输入:PUSHCSPOPDS问题2:数码管上无显示问题分析:8279芯片不工作,是由于没有电源的接入。解决方案:将GATA0与VCC相连。实验结果本程序能够满足题目的所有要求,其测试结果如下:1.当程序开始运行之后,第一个发光二极管亮,计时器开始计时,数码管上开始显示时间000000・792.拨动对应的发光二极管开关,发光二极管灭,同时下一个发光二极管亮,重复10次之后,计时器停止计时,数码管也不在跳动,所显示的时间即为所测得的反应时间000035・56参考文献龚尚福.微机原理与接口技术[M]西安:西安电子科技大学出版社,2003沈美明,温冬婵.IBM-P汇编语言程序设计[M]北京:清华大学出版社,2001张雪兰.汇编语言程序设计[M]北京:清华大学出版社,2006王爱英.计算机组成与设计[M]北京:教育出版社,2003王忠民.微型计算机原理[M]西安:西安电子科技大学出版社,2003附录CODESEGMENTASSUMECS:CODESTART:JMPMAINLEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0-9TABDB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH,0EFH,0FDHTIMEDB9,9,9,9,9,9,9,9;单位秒SWITCHDB1;计时器运行(0)停止(1);****************主程序*************************MAIN:PUSHCSPOPDSCLI;关中断CALLI8255CALLI8253CALLI8259CALLI8279CALLINTS;装入中断向量表STI;开中断MOVCL,00HLEABX,TABA0:CMPCL,10HJZSTOPMOVAL,CLXLATMOVDX,201HA1:OUTDX,ALMOVSWITCH,0HMOVAH,ALMOVDX,200HINAL,DXNOTALCMPAH,ALJNZA1INCCLJMPA0MOVSWITCH,1HSTOP:;**************初始化************************I8255:MOVDX,203HI8255:MOVDX,203HMOVAL,90HOUTDX,ALRET;8255A初始化200-207I8253:MOVAL,36H;8253A初始化210-217MOVDX,213HOUTDX,ALMOVAX,0C00HMOVDX,210HOUTDX,ALMOVAL,AHOUTDX,ALRET

I8259:MOVAL,13H;8259A初始化220-227MOVDX,220HOUTDX,ALMOVAL,30HMOVDX,221HOUTDX,ALMOVAL,03HOUTDX,ALMOVAL,0FEH;中断IR0OUTDX,ALRETI8279:11010010MOVAL,0D2H;8279A初始化230-23711010010MOVDX,232HOUTDX,ALMOVAL,0HOUTDX,ALRETINTS:PUSHDS;中断向量的装入PUSHAXXORAX,AXMOVDS,AXMOVAX,OFFSETINTR;INTR偏移地址MOVDS:[30H*4],AXMOVAX,CS;INTR段地址MOVDS:[30H*4+2],AXPOPAXPOPDSRET;************子程序************************;***中断服务程序*********INTR:PUSHAXPUSHBXPUSHDXPUSHDICMPSWITCH,1HJZT;计时器停止则跳转到ENDMOVDI,OFFSETTIMET0:CMPBYTEPTR[DI+7],9JZT1INCBYTEPTR[DI+7]JMPDIST1:MOVBYTEPTR[DI+7],0CMPBYTEPTR[DI+6],9JZT2INCBYTEPTR[DI+6]JMPDIST2:MOVBYTEPTR[DI+6],0CMPBYTEPTR[DI+5],9JZT3INCBYTEPTR[DI+5]JMPDIST3:MOVBYTEPTR[DI+5],0CMPBYTEPTR[DI+4],9JZT4INCBYTEPTR[DI+4]JMPDIST4:MOVBYTEPTR[DI+4],0CMPBYTEPTR[DI+3],9JZT5INCBYTEPTR[DI+3]JMPDIST5:MOVBYTEPTR[DI+3],0CMPBYTEPTR[DI+2],9JZT6INCBYTEPTR[DI+2]JMPDIST6:MOVBYTEPTR[DI+2],0MOVBYTEPTR[DI+1],0MOVBYTEPTR[DI],0T:JMPDIS;***显示程序*********DIS:MOVAL,90HMOVDX,232H;命令端口OUTDX,ALMOVBX,OFFSETLEDMOVDI,OFFSETTIMEMOVDX,230H;数据端口MOVAL,BYTEPTR[DI+7]XLATOUTDX,ALMOVAL,BYTEPTR[DI+6]XLATOUTDX,ALMOVAL,BYTEPTR[DI+5]XLATADDAL,80HOUTDX,ALMOVAL,BYTEPTR[DI+4]XLATOUTDX,ALMOVAL,BYTEPTR[DI+3]XLATOUTDX,ALMOVAL,BYTEPTR[DI+2]XLATOUTDX,ALMOVAL,BYTEPTR[DI+1]XLATOUTDX,ALMOVA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论