




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:微机系统综合课程设计微机系统综合课程设计 课程设计题目:按键反应速度测试按键反应速度测试 院(系):计算机学院 专 业:计算机科学与技术 班 级:计算机1203 学 号:2012040101127 姓 名: 指导教师: 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要 求;数据不实求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。不予通过。报告和电子数据必须作为实验现象重复的关键依据。 沈阳航空航天大学课程设计报告 i 学术诚信声明 本人声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指 导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别 加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表 或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一 同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明 并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本 教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后 果。 本人签名: 日期: 年 月 日 沈阳航空航天大学课程设计报告 ii 沈阳航空航天大学沈阳航空航天大学 课课程程设设计计任任务务书书 课程设计名称微微机机系系统统综综合合课课程程设设计计专业计计算算机机科科学学与与技技术术 学生姓名王庆贺王庆贺班级计算机计算机 1203学号2012040101127 题目名称按键反应速度测试按键反应速度测试 起止日期2015年6月29日起至2015年7月12日止 课设内容和要求: 一、课程设计内容 在 led 数码管上显示一组数字,按对应数字键后显示内容换成下一组数字。 累计按键的延迟时间,最后显示被测试者的总反应时间。 二、课程设计要求 1. 认真查阅相关资料; 2. 独立设计、调试并通过指导教师现场验收; 3.撰写课程设计报告。 参考资料: 1 张毅刚.单片机原理及应用m.哈尔滨:哈尔滨工业大学出版社,2008 2 戴仙金.51 单片机及其 c 语言程序开发实例m.北京:清华大学出版社,2011 3 黄惟公.单片机原理及应用技术m.西安:西安电子科技大学出版社,2010 教教研研室室审审核核意意见见: 教教研研室室主主任任签签字字: 指导教师(签名)指导教师(签名) 年月日 学学 生(签名)生(签名)年月日 沈阳航空航天大学课程设计报告 iii 课程设计总结:课程设计总结: 单片机在应用可以说是无处不在,很多领域都应用了单片机,所以掌握单片 机的开发技术是十分重要的。单片机的学习培养了我综合运用所学知识解决实际 问题的能力 本次单片机实习合算起来总共有两周的时间,刚拿到课程设计题目时不太了 解具体的要求,不知道从何处入手,通过请教指导老师,之后认真钻研以及询问 同学,最终完成了课程设计。 本次单片机课程设计运用到许多之前所学过的知识,令我认识到理论结合实 践的重要性。在用 c 语言把程序设计出来后,连接实验箱后也出现了大量小问 题,不过在老师和同学们的帮助下,问题全部得到解决。不仅丰富了我的理论知 识,而且在实践过程中更令我学会了坚持、耐心和努力。 这次能那么成功的完成我的设计,要感谢老师和同学们的帮助,在理解程序 的时候也请教了同学,他们也很热情的回答我的问题,让我在这次实习中不会觉 得那么孤立无援。这次的实习也让我学到了很多东西,对很多单片机方面的知识 有了更深的了解,并且能够运用到实践中了。原来实习不尽可以锻炼我们的动手 能力,而且能够让我们学到更多的理论知识,也觉得很充实。 沈阳航空航天大学课程设计报告 iv 目目 录录 1 总体设计方案总体设计方案.1 1.1课程设计内容和要求.1 1.2 设计原理 .1 1.3 设计思路 .1 2 详细设计方案详细设计方案.3 2.1 实现方法 .3 2.1.1 硬件实现3 2.1.2 软件实现3 2.2 模块设计 .4 2.2.1 测试数字控制模块4 2.2.2 按键状态读取模块5 2.2.3 计时模块5 2.2.4 显示模块6 3 调试及结果分析调试及结果分析.8 3.1 调试步骤及方法 .8 3.2 实验结果 .8 参考文献参考文献.9 附附 录录.10 沈阳航空航天大学课程设计报告 1 1 总体设计方案 1.1 课程设计内容和要求课程设计内容和要求 一、课程设计内容 在 led 数码管上显示一组数字,按对应数字键后显示内容换成下一组数字。 累计按键的延迟时间,最后显示被测试者的总反应时间。 二、课程设计要求 1. 认真查阅相关资料; 2. 独立设计、调试并通过指导教师现场验收; 3. 撰写课程设计报告。 1.2 设计原理设计原理 根据课程设计任务书的要求,通过单片机的 p1 口控制 8 个发光二极管,测 试被测试者从看到所显示数字到按下对应数字键的反应时间,累计十次,并将测 试出的时间显示在数码管上。 时间的计数通过单片机的定时器实现,程序开始先配置定时器,设置定时器 的工作模式和计数初值,之后开启定时器中断和总中断,并启动定时器。在定时 器启动同时,显示第一个数字,然后等待被测试者按下对应数字键,当按下对应 数字键的时候,数码管显示下一组数字,再等待被测试者正确按下对应的数字键. .这样重复十次。当被测试者最后一次正确按下对应数字键时候,定时器停止工 作。之后根据计数器的定时计数情况,计算相应的反应时间,并在数码管上显示。 1.3 设计思路设计思路 本文基于 lab8000 型实验箱,以 51 单片机为控制核心,连接矩阵键盘,数 码管采用内驱方式,只需要连接 key/led cs 就可以控制数码管的显示。 本文采用 c 语言编程,根据模块化设计思想,软件主要包括:测试数字控制 模块、按键状态读取模块、计时模块和显示模块。 沈阳航空航天大学课程设计报告 2 测试数字控制模块的主要功能是显示测试数字。 按键状态读取模块的主要功能是读取数字键盘的状态并判断数字正误情况。 当计时开始的时候,显示第一个数字,然后等待被测试者按下对应数字键,当正 确按下对应数字键的时候,数码管显示下一组数字,再等待被测试者正确按下对 应的数字键这样重复十次。当被测试者最后一次正确按下对应数字键时候, 定时器停止工作。 计时模块的功能就是用来计算总的反应时间,总反应时间是从计时开始,点 数码管显示第一个数字到拨动最后一个开关,计时结束这一段时间。 本文采用单片机的定时/计数器 0 进行时间的测量,首先配置计时器工作于 计时模式二,即 8 位自动重装载模式,并使能总中断和定时器中断,这样启动定 时器就可以计时了,当计数器溢出的时候,进入中断处理函数,在定时器中断函 数处理中记录定时器的溢出次数,同时会将高位寄存器的初值自动装载入低位寄 存器,重新开始计时。当测试结束时,停止计时,最终计算总的计数次数,得出 计时时间。 显示模块的功能就是用来显示时间。 时间采用四位数码管进行显示,整数部分两位、小数部分也两位,单片机采 用内驱的方式控制数码管的显示,在显示前,通过相应的算法得到十位、个位、 十分位和百分位的字形码,通过单片机发送字形码以及相应的位选信号,就可以 实现时间的显示了。 沈阳航空航天大学课程设计报告 3 2 详细设计方案 2.1 实现方法实现方法 本文是基于 lab8000 实验箱,并以单片机为控制核心的按键反应速度测试 系统设计,系统分为硬件实现和软件实现两部分,下面将分别介绍。 2.1.1 硬件实现硬件实现 硬件电路包括三部分:单片机、矩阵键盘和数码管。因为本文是基于 lab8000 实验箱,相关的硬件电路已经设计好,我们需要做的就是进行相应的连 线,具体的连线如表 2.1 所示。 表表 2.12.1 硬件连线硬件连线 连线端口 1端口 2 1p1.4 p1.7key0 key3 2key/led_cscs0 2.1.2 软件实现软件实现 软件实现是本文的重点,使用的是 c 语言编程,采用模块化的设计思想,根 据系统要求和相关的硬件电路,软件实现可以分为三个部分:测试数字模块、按 键状态读取模块、计时模块和显示模块。 具体的软件流程为: 1. 定时器初始化; 2. 开定时器中断和总中断; 3. 启动定时器; 4. 显示一个数字,等待被测试者按下对应数字键; 5. 点亮另一个发光二极管重复十次; 6. 停止定时器; 7. 计算总反应时间; 8. 数码管显示总反应时间。 沈阳航空航天大学课程设计报告 4 软件流程图如图 2.1 所示。 开始 配置定时器 开中断 启动定时器 十次测试 停止定时器 计算总时间 时间显示 溢出值加一 图图 2.12.1 软件流程图软件流程图 2.2 模块设计模块设计 根据前面的介绍,本文可分为四个模块,分别为:测试数字控制模块、按键 状态读取模块、定时器计时模块和数码管显示模块,下面将一一介绍。 2.2.1 测试数字控制模块测试数字控制模块 在程序中,先运用位控制,关所有八段管,并使最低位选通,用于显示数字: outbit = 0; outbit = 0x01; 人为设定十个数字,具体是通过如下数组实现的: outseg = disp_345; outseg = disp_340; 沈阳航空航天大学课程设计报告 5 outseg = disp_344; 测试数字右移两位,最低位显示: outbit = 0x01|(0x0b xdata unsigned char outbit _at_ 0x8002; / 位控制口 xdata unsigned char outseg _at_ 0x8004; / 段控制口 unsigned int ncnt = 0; float tim = 0; unsigned int timshow = 0; unsigned int shiwei = 0; unsigned int gewei = 0; unsigned int shifenwei = 0; unsigned int baifenwei = 0; unsigned char disp_1 = 0x00,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unsigned char disp_2 = 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; unsigned char disp_34 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void main(void) unsigned char keyvalue = 0; tmod = 0x02; / 定时器 0,8 位自动重装载 th0 = 0x0; tl0 = 0x0; ea = 1; / 使能总中断 et0 = 1; / 使能定时器中断 tr0 = 1; / 计时开始 outbit = 0; / 关所有八段管 outbit = 0x01; / 最低位选通,用于显示数字 outseg = disp_345; / 显示第一个数字 5,其键值为 0xbb outbit = 0x01|(0x0b2); while(!(keyvalue=(p1 outseg = disp_340; / 显示第二个数字 0,其键值为 0xe7 outbit = 0x01|(0x072); while(!(keyvalue=(p1 沈阳航空航天大学课程设计报告 11 outseg = disp_348; / 显示第三个数字 8,其键值为 0x7b outbit = 0x01|(0x0b2); while(!(keyvalue=(p1 outseg = disp_346; / 显示第四个数字 6,其键值为 0xbd outbit = 0x01|(0x0d2); while(!(keyvalue=(p1 outseg = disp_341; / 显示第五个数字 1,其键值为 0xd7 outbit = 0x01|(0x072); while(!(keyvalue=(p1 outseg = disp_349; / 显示第六个数字 9,其键值为 0x7d outbit = 0x01|(0x0d2); while(!(keyvalue=(p1 outseg = disp_347; / 显示第七个数字 7,其键值为 0x77 outbit = 0x01|(0x072); while(!(keyvalue=(p1 outseg = disp_343; / 显示第八个数字 3,其键值为 0xdd outbit = 0x01|(0x0d2); while(!(keyvalue=(p1 outseg = disp_342; / 显示第九个数字 2,其键值为 0xdb outbit = 0x01|(0x0b2); while(!(keyvalue=(p1 outseg = disp_344; / 显示第十个数字 4,其键值为 0xb7 outbit = 0x01|(0x072); while(!(keyvalue=(p1 outbit = 0x00; tr0 = 0; / 计时结束 tim = (float)ncnt)*256 + tl0) / 1000000; / 计算总时间 timshow = (unsigned int)(tim * 100); shiwei = timshow / 1000;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度创业投资辅导与咨询服务协议
- 2025年废旧轮胎环保回收处理技术研究报告
- 2025版新型材料贴砖工程劳务分包合同样本
- 2025典当合同范本:艺术品典当融资协议范本
- 环保产业园2025年循环经济模式绿色产业发展与区域竞争力研究报告
- 2025年房地产区域分化对粤港澳大湾区投资策略的启示与建议
- 职业技能培训在乡村振兴中的政策效应分析:2025年实践与反思报告
- 农业机械使用安全及维护保养指南
- 食品零售行业线上线下融合方案
- 酒店旅游度假目的地开发策略研究方案
- 陈腐垃圾施工方案
- 渤海大学《软件工程》2022-2023学年第一学期期末试卷
- 税务会计岗位招聘笔试题及解答(某大型国企)2024年
- ICD-10疾病编码完整版
- 消防设备设施操作讲解培训讲课文档
- 内分泌科医疗管理制度
- 临床开展十二项细胞因子检测临床意义
- FlowmasterV7中文技术手册
- 房屋承包出租合同
- 石油化学工业的发展历程与前景
- 《滚珠丝杠螺母副》课件
评论
0/150
提交评论