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

下载本文档

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

文档简介

1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:微机系统综合课程设计课程设计题目:反应速度测试院(系):计算机学院专 业:技术及科学与技术班 级:学 号:姓 名:指导教师:张维君完成日期:2013年7月7日沈阳航空航天大学课程设计报告 目 录第1章 总体设计方案11.1课程设计的内容和要求11.2 设计原理11.3设计思路2第2章 详细设计方案32.1实现方法32.2模块设计42.2.1主程序流程图42.2.2初始化模块52.2.3中断程序流程图52.3程序连线图6第3章 调试及结果分析73.1调试步骤及方法73.2实验结果7参考文献8附 录9-17-沈阳航空航天大学课程设计报告第1章 总

2、体设计方案1.1课程设计的内容和要求一、课程设计内容:1.用8255控制8个发光二极管,某一时刻一个发光二极管亮,拨动对应的开关后,现在亮的发光二极管灭,另一个发光二极管亮,重复10次这样的过程;2.用8253记录从发光二极管亮到拨动开关的时间;3.将最后的总时间显示在数码管上。二、课程设计要求:1.认真查阅相关资料;2.独立设计、调试并通过知道教师现场验收;3.撰写课程设计报告。1.2 设计原理根据课程设计任务书的要求,通过测试8个开关控制8个发光二极管的10次亮灭所需的时间,来测试反应速度,并将测试出的时间显示在数码管上。程序先初始化各芯片及装入中断服务程序,然后从预先建立的控制10次发光

3、二极管亮灭的顺序表中读取第一个数据,并显示在发光二极管上,同时计时器开始计时,并显示在数码管上,然后不断读取8个开关的状态,当对应的开关拨动时,发光二极管灭,之后从顺序表中读取第二个数据,显示在发光二极管上,这个过程重复10次,当第10次发光二极管所对应的开关拨动时,计时器停止计时,数码管上所显示的时间就是所测试的反应时间。在本次设计中使用了8255A并行接口芯片芯片、8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成反应速度的测试。其中利用8255芯片实现8个开关控制8个发光二极管亮灭的功能;8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的

4、方波,使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将测试出的反应时间显示在数码管上。1.3设计思路根据课设设计任务书的要求可将设计分为初始化模块、控制模块、计时模块以及显示模块。利用现有的环境,可用汇编语言来控制实验箱中的芯片来测试反应速度。初始化模块主要功能就行设置各芯片的工作方式及建立中断向量表。其中8255A并行接口芯片的工作方式是通过PA口控制输入,PB口控制输出;8253计时器的工作方式是使用计时器0,计数初值16位,以方式3的模式产生100HZ的

5、方波;8259A中断控制芯片的工作方式是单片的以30H为中断类型号,并且只允许IR0中断;8279键盘/显示芯片的工作方式是以8个字符左进方式显示。控制模块的主要功能就是用8个开关控制8个发光二极管的亮灭。当第一个发光二极管亮了之后,改变计时模块的状态位(SWITCH)来控制计时器启动,然后不断的读取PA口输入端的状态,当对应的开关拨动之后,发光二极管灭,然后点亮第二个发光二极管,然后不断的读取口的输入状态,重复10次这样的过程,当第10次的发光二极管所对应的开关拨动之后,改变及时模块的状态位(SWITCH)控制计时器停止。计时模块的功能就是用来计算时间。计时模块要按照状态标志位(SWITCH

6、)来控制计时器的开始停止时间,即受到状态位的控制。利用8253定时/计数器芯片产生方波来计算时间,每个方波的周期为10毫秒,当一个周期完成时产生中断,系统进入中断程序来实现计时,使时间增加1百分秒,保存在内存中,最后调用显示模块来显示时间。其中中断由8259A中断控制芯片产生。显示模块的功能就是用来显示时间。利用8279键盘/显示芯片在LED上分别显示秒和百分秒。第2章 详细设计方案2.1实现方法1. 内存分配程序中所需定义的内存单元含义如下:LED:存放09在数码管上显示的编码,共10个字节。TAB: 存放8个发光二极管10次点亮的顺序,共10个字节TIME:存放所测试的反应时间,共8个字节

7、。分别秒、百分秒。SWITCH:计时器运行状态,占1个字节,开始(0)停止(1)。2. 时钟频率选择CPU的频率为。用8253芯片产生方波。计数器0的接CPU时钟脉冲,计数初值为0C00H,使产生周期为10ms的方波。3. 显示设置显示功能由8279芯片和数码管实现。秒表的显示规则是(秒、百分秒),即(000000、00)。4. 端口地址分配本次课程设计共使用了4种芯片,他们的端口号设置如表2.1所示。表2.1 端口地址分配表芯片名称端口号含义8255A200H203HPA口、PB口、控制端口8253210H213H计数器0、计数器1、计数器2、控制端口8259A220H221H偶地址端口、奇

8、地址端口8279230H、232H数据端口、控制端口5. 子程序子程序名称和功能如表2.2所示。表2.2 子程序表名称作用名称作用I8255初始化8255芯片I8253初始化8253芯片I8259初始化8259A芯片I8279初始化8279芯片INTS装中断向量INTR中断服务程序DIS显示程序2.2模块设计2.2.1主程序流程图主程序又称控制模块,其主要功能是初始化各芯片,8个开关控制8个发光二极管。在初始化结束后,第一个发光二极管亮,计时器开始计时,直到第十个发光二极管亮,计时器停止计时,将计时结果显示在数码管上。开始关中断初始化芯片开中断开始计时停止计时停止显示发光二极管状态显示发光二极

9、管状态是否开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始开始图2.1 主程序流程图2.2.2初始化模块初始化模块主要用于初始化各芯片,设定芯片工作方式,以及装入中断向量等。各芯片初始化情况如表2.3所示。表2.3 芯片的初始化芯片名称初始化8255APA口:输入;PB口:输出8253计数器0:先送低八位,后高八位,工作方式3,二进制计数,计数初值0C00H8259AICW1:上升沿触发,单片,写ICW4,控制字13H;ICW2:中断类型号30H,控制字30H;ICW4:正常EOI,8086/8088系统,控制字0

10、1H;中断向量:中断类型号30H对应的中断服务程序为INTR8279清除显示和显示寄存器,控制字0D2H;键盘显示命令,八个字符显示,左端输入方式,控制字00H2.2.3中断程序流程图中断程序中包含计时模块和显示模块,计时模块受SWITCH控制。中断程序的流程如图2.2。中断开始计时计数器加1测试时间显示中断结束否是图2.2 中断程序流程图2.3程序连线图程序连线图如图2.3所示。 8255PA0-7PB0-7CS8279CS K0-K7 R0-R7 230-237 200-207 时钟脉冲8259CS IR08253CSClk0Gate0Out0 210-217 VCC 220-2272.3

11、程序连线图 第3章 调试及结果分析3.1调试步骤及方法 问题1:查询顺序表之后,在发光二极管上显示的不是所建表中的数据问题分析:单步跟踪调试时,执行XLAT时出现问题,执行XLAT语句后,在AL中存放的不是所建表中的数据,之后发现所查询的表是在数据段中,而没有将代码段中的内容存入数据段中,由此引发查询错误。解决方案:在主程序开始输入:PUSH CS POP DS问题2:数码管上无显示问题分析:8279芯片不工作,是由于没有电源的接入。解决方案:将GATA0与VCC相连。3.2实验结果本程序能够满足题目的所有要求,其测试结果如下:1. 当程序开始运行之后,第一个发光二极管亮,计时器开始计时,数码

12、管上开始显示时间000000792. 拨动对应的发光二极管开关,发光二极管灭,同时下一个发光二极管亮,重复10次之后,计时器停止计时,数码管也不在跳动,所显示的时间即为所测得的反应时间00003556参考文献1龚尚福.微机原理与接口技术 M 西安: 西安电子科技大学出版社, 20032沈美明,温冬婵.IBM-P汇编语言程序设计M 北京: 清华大学出版社, 20013张雪兰.汇编语言程序设计 M 北京: 清华大学出版社, 20064王爱英.计算机组成与设计 M 北京:教育出版社, 20035王忠民.微型计算机原理 M 西安: 西安电子科技大学出版社, 2003附 录CODESEGMENTASSU

13、MECS:CODESTART: JMPMAIN LED DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0-9 TAB DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH,0EFH,0FDH TIME DB9,9,9,9,9,9,9,9 ;单位秒 SWITCHDB1 ;计时器运行(0)停止(1);*主程序*MAIN:PUSH CS POP DS CLI;关中断 CALL I8255 CALLI8253 CALLI8259 CALLI8279 CALLINTS;装入中断向量表 STI;开中断 MOV CL,00H LEA BX

14、,TABA0: CMP CL,10H JZ STOP MOV AL,CL XLAT MOV DX,201H OUT DX,AL MOV SWITCH,0H MOV AH,AL MOV DX,200HA1: IN AL,DX NOT AL CMP AH,AL JNZ A1 INC CL JMP A0STOP: MOV SWITCH,1H ;*初始化*I8255: MOV DX,203H ;8255A初始化 200-207 MOV AL,90H OUT DX,AL RETI8253: MOVAL,36H ;8253A初始化 210-217 MOV DX,213H OUT DX,ALMOV AX,0

15、C00HMOV DX,210HOUT DX,ALMOV AL,AHOUT DX,ALRETI8259: MOVAL,13H ;8259A初始化 220-227MOV DX,220HOUT DX,ALMOV AL,30HMOV DX,221HOUT DX,ALMOV AL,03HOUT DX,ALMOV AL,0FEH ;中断IR0OUT DX,ALRETI8279: MOVAL,0D2H ;8279A初始化230-237 11010010MOV DX,232HOUT DX,AL MOV AL,0HOUT DX,ALRETINTS: PUSHDS ;中断向量的装入 PUSHAXXOR AX,AX

16、MOV DS,AX MOV AX,OFFSET INTR ;INTR偏移地址MOV DS:30H*4,AX MOV AX,CS ;INTR段地址MOV DS:30H*4+2,AX POPAX POPDS RET;*子程序*;*中断服务程序*INTR: PUSHAXPUSHBXPUSHDXPUSHDICMP SWITCH,1HJZ T;计时器停止则跳转到ENDMOV DI , OFFSET TIMET0:CMP BYTE PTRDI+7,9JZ T1INC BYTE PTRDI+7JMP DIST1:MOV BYTE PTRDI+7,0CMP BYTE PTRDI+6,9JZ T2INC BYT

17、E PTRDI+6JMP DIST2:MOV BYTE PTRDI+6,0CMP BYTE PTRDI+5,9JZ T3INC BYTE PTRDI+5JMP DIST3:MOV BYTE PTRDI+5,0CMP BYTE PTRDI+4,9JZ T4INC BYTE PTRDI+4JMP DIST4:MOV BYTE PTRDI+4,0CMP BYTE PTRDI+3,9JZ T5INC BYTE PTRDI+3JMP DIST5:MOV BYTE PTRDI+3,0CMP BYTE PTRDI+2,9JZ T6INC BYTE PTRDI+2JMP DIST6:MOV BYTE PTRD

18、I+2,0 MOV BYTE PTRDI+1,0 MOV BYTE PTRDI,0T: JMP DIS;*显示程序*DIS:MOV AL,90HMOV DX,232H ;命令端口OUT DX,ALMOV BX , OFFSET LEDMOV DI , OFFSET TIMEMOV DX , 230H ;数据端口MOV AL,BYTE PTRDI+7XLATOUT DX , ALMOV AL,BYTE PTRDI+6XLAT OUT DX , AL MOV AL,BYTE PTRDI+5 XLATADD AL,80HOUT DX , ALMOV AL,BYTE PTRDI+4XLATOUT DX , AL MOV AL,BYTE PTRDI+3XLATOUT DX , AL MOV AL,BYTE PTRDI+2 XLATOUT DX , ALMOV AL,BYTE PTRDI+1XLATOUT DX , ALMOV AL,BYTE PTRDI XLA

温馨提示

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

最新文档

评论

0/150

提交评论