反应速度测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空航天大学
课程设计报告
课程设计名称:微机系统综合课程设计课程设计题目:反应速度测试
院(系):计算机学院
专业:技术及科学与技术
班级:
学号:
姓名:
指导教师:张维君
完成日期:2013年7月7日
目录
第1章总体设计方案 (1)
1.1课程设计的内容和要求 (1)
1.2设计原理 (1)
1.3设计思路 (2)
第2章详细设计方案 (3)
2.1实现方法 (3)
2.2模块设计 (4)
2.2.1主程序流程图 (4)
2.2.2初始化模块 (5)
2.2.3中断程序流程图 (5)
2.3程序连线图 (6)
第3章调试及结果分析 (7)
3.1调试步骤及方法 (7)
3.2实验结果 (7)
参考文献 (8)
附录 (9)
第1章总体设计方案
1.1课程设计的内容和要求
一、课程设计内容:
1.用8255控制8个发光二极管,某一时刻一个发光二极管亮,拨动对应的开关后,现在亮的发光二极管灭,另一个发光二极管亮,重复10次这样的过程;
2.用8253记录从发光二极管亮到拨动开关的时间;
3.将最后的总时间显示在数码管上。
二、课程设计要求:
1.认真查阅相关资料;
2.独立设计、调试并通过知道教师现场验收;
3.撰写课程设计报告。
1.2 设计原理
根据课程设计任务书的要求,通过测试8个开关控制8个发光二极管的10次亮灭所需的时间,来测试反应速度,并将测试出的时间显示在数码管上。
程序先初始化各芯片及装入中断服务程序,然后从预先建立的控制10次发光二极管亮灭的顺序表中读取第一个数据,并显示在发光二极管上,同时计时器开始计时,并显示在数码管上,然后不断读取8个开关的状态,当对应的开关拨动时,发光二极管灭,之后从顺序表中读取第二个数据,显示在发光二极管上,这个过程重复10次,当第10次发光二极管所对应的开关拨动时,计时器停止计时,数码管上所显示的时间就是所测试的反应时间。
在本次设计中使用了8255A并行接口芯片芯片、8253定时/计数器芯片、8259A中断控制芯片以及8279键盘/显示芯片来完成反应速度的测试。其中利用8255芯片实现8个开关控制8个发光二极管亮灭的功能;8253定时/计数器芯片实现分频功能,使其产生100HZ(10毫秒)的方波,使计时周期为10ms;
利用8259A中断控制芯片产生中断响应,通过8253控制8259每10毫秒产生
一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯片在数码管上进行显示,将测试出的反应时间显示在数码管上。
1.3设计思路
根据课设设计任务书的要求可将设计分为初始化模块、控制模块、计时模块以及显示模块。利用现有的环境,可用汇编语言来控制实验箱中的芯片来测试反应速度。
初始化模块主要功能就行设置各芯片的工作方式及建立中断向量表。
其中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章 详细设计方案
2.1实现方法
1. 内存分配
程序中所需定义的内存单元含义如下:
LED :存放0~9在数码管上显示的编码,共10个字节。
TAB: 存放8个发光二极管10次点亮的顺序,共10个字节
TIME :存放所测试的反应时间,共8个字节。分别秒、百分秒。
SWITCH :计时器运行状态,占1个字节,开始(0)停止(1)。
2. 时钟频率选择
CPU 的频率为HZ 5103.072 。用8253芯片产生方波。计数器0的0CLK 接CPU 时钟脉冲,计数初值为0C00H ,使0OUT 产生周期为10ms 的方波。
3. 显示设置
显示功能由8279芯片和数码管实现。秒表的显示规则是(秒、百分秒),即(000000、00)。
4. 端口地址分配
本次课程设计共使用了4种芯片,他们的端口号设置如表2.1所示。
表2.1 端口地址分配表
5. 子程序 子程序名称和功能如表2.2所示。
表2.2子程序表
2.2模块设计
2.2.1主程序流程图
主程序又称控制模块,其主要功能是初始化各芯片,8个开关控制8个发光二极管。在初始化结束后,第一个发光二极管亮,计时器开始计时,直到第十个发光二极管亮,计时器停止计时,将计时结果显示在数码管上。
图2.1 主程序流程图