单片机系统开发与应用实习报告基于AT89S52单片机的人体反应速度测试仪

上传人:仙*** 文档编号:30444584 上传时间:2021-10-10 格式:DOC 页数:17 大小:172.53KB
收藏 版权申诉 举报 下载
单片机系统开发与应用实习报告基于AT89S52单片机的人体反应速度测试仪_第1页
第1页 / 共17页
单片机系统开发与应用实习报告基于AT89S52单片机的人体反应速度测试仪_第2页
第2页 / 共17页
单片机系统开发与应用实习报告基于AT89S52单片机的人体反应速度测试仪_第3页
第3页 / 共17页
资源描述:

《单片机系统开发与应用实习报告基于AT89S52单片机的人体反应速度测试仪》由会员分享,可在线阅读,更多相关《单片机系统开发与应用实习报告基于AT89S52单片机的人体反应速度测试仪(17页珍藏版)》请在装配图网上搜索。

1、单片机系统开发与应用工程实习报告单片机系统开发与应用工程实习报告选题名称选题名称: 基于 AT89S52 单片机的人体反应速度测试仪 系(院)系(院): 专专 业业: 班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2009 2010 学年 第 2 学期2010年 5 月 30 日摘要:随着社会的发展,许多交通事故都是由于人们在突发情况下不能及时做出判断而导致的。因此,在面对突发事故时,人的反应快慢直接影响到事情变化的好坏。下面以 AT89S52 单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间,间接反映人们面对突发状况的反应能力。以 AT89S

2、52 单片机为核心的人体反应速度测试仪,主要控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。正常情况下系统运行主程序一直处于空闲等待状态,知道测试者按下按键后,LED 测试灯立即点亮。AT89S52 单片机在 LED 测试灯亮的同时开始计算一个随机时间,在一段随机时间结束后,AT89S52 单片机 把 LED 测试灯熄灭,并开始计时灯灭与测试者放开按键的时间差,此计时时间用于纪录被测试者的反应时间,并以毫秒为时间单位在4 位数码管上显示。如果在 LED 测试灯灭之前提前放开测试按键,则显示 9999 作为出错信息。关键词:AT89S52 ; LED ; 数码管 目目 录录1 课题综

3、述.11.1 课题来源.11.2 预期目标.11.3 面对的问题.11.4 需解决的关键技术.12 系统分析.12.1 涉及的基础知识.12.2 总体方案.32.3 功能模块框图.43 系统设计.43.1 硬件连接图.43.2 实现方法.53.3 详细流程图.54 代码编写.64.1 按键电路的实现.64.2 4 位 LED 数码管显示电路的实现.74.3 随机函数的实现.74.4 中断程序的实现.84.5 主函数的实现.85 程序调试.106 运行与测试.116.1 硬件测试.116.2 软件测试.11总结.12参考文献.13单片机系统开发与应用工程实习报告11 课题综述课题综述1.1 课题

4、来源课题来源许多交通事故都是由于人们在突发情况下不能及时做出判断而导致的。因此,在面对突发事故时,人的反应快慢直接影响到事情变化的好坏。下面以 AT89S52 单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间,间接反映人们面对突发状况的反应能力。我们学习的是单片机理论知识,而课程设计则是对我们学习的理论知识的时间和巩固。1.2 预期目标预期目标基于 AT89S52 单片机的人体反应速度测试仪设计要求如下:(1)测试者按下测试按键后,测试灯亮起,测试随子开始。(2)在测试过程中,测试者要注意观察测试灯的变化,当看到测试灯熄灭时,测试者要迅速放开测试按钮,单片机会在数码管上显示测试者

5、的反应时间。(3)若测试者在测试灯熄灭之前放开测试按键,则系统自动判为犯规,并显示出错信息。1.3 面对的问题面对的问题(1) 对 AT89S51 单片机的了解和应用(2) 对 LED 数码管的特性的了解和使用1.4 需解决的关键技术需解决的关键技术本项目主要通过控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。要了解每一段数码管与 AT89S52 个引脚的连接,各个芯片的输入输出关系,必须通过查阅资料确定。必须了解 LED 显示器的显示原理。2 系统分析系统分析2.1 涉及的基础知识涉及的基础知识通过学习和查阅资料,本项目需要掌握和了解如下知识:+5V 电源原理及设计。单片机复位电

6、路工作原理及设计。单片机系统开发与应用工程实习报告2单片机晶振电路工作原理及设计。测试按键电路设计。驱动电路 74LS07、74LS244 的特性及使用。LED 的特性及使用。AT89S52 单片机引脚。单片机 C 语言及程序设计。2.1.1 AT89S51 单片机简介功能特性:AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统

7、 可编程 Flash,使得AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为

8、止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。主要性能:与 MCS-51 单片机产品兼容、8K 字节在系统可编程 Flash 存储器、1000 次擦写周期、全静态操作:0Hz33Hz 、 三级加密程序存储器 、32 个可编程I/O 口线 、三个 16 位定时器/计数器八个中断源、全双工 UART 串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。图 2-1 AT89S52 引脚图单片机系统开发与应用工程实习报告32.1.2 LED 显示器的特性(1) 发光响应快,亮度强,高频特性好;而且随着材料的不同,数码管还能发出红、黄、绿、蓝

9、、橙等多种颜色的光。(2) 机械性能好,体积小,重量轻,价格低廉;能与 COMS 和 TTL 电路配合使用;使用寿命长。(3) 工作电压低,驱动电流适中。每段电流为 510mA,一只数码管的 7 段 LED全亮需要电流 3570mA。这样打的电流需要由驱动电路提供,因此,使用时要注意数码管的驱动问题。在使用中,为了给发光二极管加驱动电压,他们应有一个公共的引脚,公共的引脚有如下两种链接方法:一、共阴极接法。把发光二极管的阴极连接在一起构成阴极公共引脚,使用时公共引脚接地,这样阳极引脚上加高电平的发光二极管就导通点亮,而加低电平的则不亮。二、共阳极接法。把发光二极管的阳极连接在一起作为阳极公共引

10、脚,使用时阳极公共引脚接+5V。这样阴极引脚上加低电平的发光二极管即可导通点亮,二加高电平的则点不亮。2.1.3 LED 显示器显示原理、并排使用的多位数码管成为 LED 显示器。LED 显示器多采用动态显示方式,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。显示时通过位控制信号采用扫描的方法逐位地循环点亮各位数码管。动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。 LED 显示器的动态显示需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。把 LED 显示器段码表预先存放在存

11、储器中,使用时通过查表就可以得到段码。段码输出后送到公共端码线上,也可称为段控信号。而通过并行口输出的相互独立的位码则是起选通作用的,也称位控活扫描信号,用于选择显示位。动态显示具有硬件简单,功耗低和显示灵活性强等优点,但动态显示增加了驱动软件的复杂性,且显示亮度较低。 2.2 总体方案总体方案LED 数码管的显示电路中采用动态数码管显示,在其中 P0 端口控制段码,低电平有效,P2.0P2.3 端口控制位码,高电平有效。P2.3 端口控制第 1 个数码管,P2.2端口控制第 2 个数码管,P2.1 端口控制第 3 个数码管,P2.0 端口控制第 4 个数码管。单片机系统开发与应用工程实习报告

12、4各个数码管的段码都是 P0 端口的输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态扫描的方式,即先只让最低位显示 0,经过一段延时,再只让次低位显示 1,以此类推。由于视觉暂留,只要延时时间足够短,就能够使得数码的显示看起来非常稳定清楚。2.3 功能模块框图功能模块框图复位电路晶振电路 AT89S52单片机电源电路驱动电路4 位 LED 数码管显示电路LED 测试灯和测试按键电路 图 2-1 人体反应速度测试仪框图3 系统设计系统设计3.1 硬件连接图硬件连接图用一只发光二极管模拟测试灯,以 AT89S52 单片机的 P1.0 端口控制这只发光二极管、发光二极管

13、加限流电阻接+5V 电源,P1.0 端口输出低电平时,测试灯亮,输出高电平时,测试灯灭。P1.1 端口接测试按键,P0 端口控制 LED 数码管的七段数码显示,P2.0P2.3 控制 4 位数码管的位选。单片机系统开发与应用工程实习报告5 图 3-1 人体反应测速仪电路原理图 3.2 实现方法实现方法主程序采用查询方式,当测试按键按下时,AT89S52 单片机使 LED 测试灯亮起的同时调用随机函数产生一个随机时间,AT89S52 单片机利用这个随机时间计时。计时时间到,AT89S52 单片机产生一个输出使单片机的 P1.1 端口为低电平,LED 测试灯熄灭,AT89S52 单片机进行新的一轮

14、计时,送开测试按键,计时时间停止,把这个计时时间送往数码管显示电路显示。当 AT89S52 单片机第一轮的计时时间还未到时,若测试按键松开,AT89S52 单片机 9999 送往数码管显示电路显示。3.3 详细流程图详细流程图人体反应速度测试仪程序流程图,如图 3-2 所示。 单片机系统开发与应用工程实习报告6开 始初 始 化测试按键是否被按下?测试按键是否被松开?测试灯亮,并调用随机函数生成随机时间随机时间到了吗?测试灯熄灭,CPU 计时,松开测试按钮计时停显示装置结束NYYNYNY 图 3-2 程序流程图4 代码编写代码编写4.1 按键电路的实现按键电路的实现描 述:读取按键byte bo

15、t(void) /读取按键,有按键被按下则返回 0,否则返回 1 if(key=0)return 0; else return 1;单片机系统开发与应用工程实习报告74.2 4 位位 LED 数码管显示电路的实现数码管显示电路的实现描 述:将缓存区 display中的整数译码后用数码管进行显示void display(word ms) /数码管上的显示反应时间 byte posi=0 x01,i,j,temp; disp3=ms/1000; /1s disp2=(ms%1000)/100; /100ms disp1=(ms%100)/10; /10ms disp0=ms%10; /1ms fo

16、r(i=0;i4;i+) /数码管显示 temp=dispi; temp=tabletemp; for(j=0;j0;-j) /延时一段随机时间,为 1 马上的随机倍数 delaylms(); k=bot(); if (k=1) /如果在灯灭前谈起按键,显示最长时间作为惩罚 mstime=9999; goto loop; led=1; /灯灭 INIT_TMR1(); /初始定时状态 while(1) /如果按键弹起,反复进入定时状态,没 1ms 计时器溢出一次,毫秒数加 1 if(TF1=1) TH1=0 xfc; TL1=0 x18; TR1=1; TF1=0;单片机系统开发与应用工程实习

17、报告10 +mstime; if(k=bot() break; loop: led=1 ; while(1) if(k=1) /按键弹开后始终显示时间 k=bot(); display(mstime); else /若按键按下,重新开始测试 mstime=0; P2=0 xff; break; 5 程序调试程序调试程序调试一般是一个一个模块地进行,一个一个子程序地调试,最后联起来统调。在单片机上把各模块程序分别进行调试使其正确无误,可以用系统编程器将程序固化到 AT89S52 的 FLASH ROM 中,接上电源脱机运行。调试代码没有出现太大的问题,主要对数码管的码表进行了修改。单片机系统开发

18、与应用工程实习报告116 运行与测试运行与测试6.1 硬件测试硬件测试硬件的调试主要是把电路各种参数调整到符合设计要求。具体步骤如下:(1)先排除硬件电路故障,包括设计性错误和工艺性故障,一般原则是先静态后动态。(2)利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路故障。发现有些焊点连到了一起,造成了短路,然后进行了修改。(3)先将单片机 AT89S52 芯片取下,对电路板进行通电检查,通过观察看是没有异常,然后用万用表测试各电源电压,这些都没有问题,接上仿真机进行联机调试观察到各接口线路均正常。6.2 软件测试软件测试软件调试是利用仿真工具进行在线仿真调试,除发现

19、和解决程序错误外,也可发现硬件故障。由于我的 P0.0P0.7 接 A0A7 在电路中接反了,故将数码管的码表进行修改,然后才成功的。单片机系统开发与应用工程实习报告12总结总结本次单片机实习合算起来总共有两周的时间。之前的一周主要工作是画原理图和焊接电路,后一周主要就是完成软件测试和对硬件中错误的修改。一开始选择做人体速度测试仪的设计是因为觉得看起来会比较简单,但是真正做起来才发现其实还是比较困难的,毕竟在这一方面的技术有限。在画电路图的时候就会有很多困难,特别是封装这一块,不过有老师和同学们的帮助我还是成功的完成了。焊接电路方面由于没有太多经验所以函的不是很美观,其实主要对各个芯片的输入输

20、出和各个引脚的功能不太了解,所以一开始都会焊错。当基本完成的时兴高采烈的测试是否成功的时候,发现没有成功。自己在那一直苦恼到底哪里错了呢,实在搞不明白,后来经过老师的提点后发现错误并进行了修改。最后 LED 测试灯和测试按键电路终于对了,可是数码管显示总是存在问题,程序又没有错,电路也检查过,没有短路想象,并重新与原理图对照检查了一遍,还是没有发现。还是跑去问老师了,老师吧整体电路都看了下并检查了我的电路,发现原来线路接反了,原理图就有问题的。那改的话就很麻烦了,老师说不用改电路了,教我把程序改了下,最后终于成功完成了我的设计。这次能那么成功的完成我的设计,要感谢老师和同学们的帮助,在理解程序

21、的时候也请教了同学,他们也很热情的回答我的问题,让我在这次实习中不会觉得那么孤立无援。这次的实习也让我学到了很多东西,对很多单片机方面的知识有了更深的了解,并且能够运用到实践中了。原来实习不尽可以锻炼我们的动手能力,而且能够让我们学到更多的理论知识,也觉得很充实。最后我还要感谢学校给我这次实习的机会,和同学老师一起走过的这段时间深深地刻在我的脑海里。希望自己以后对待别的事情也可以这么认真。单片机系统开发与应用工程实习报告13参考文献参考文献1 杨居义,杨尧,杨晓琴.单片机课程设计指导.北京:清华大学出版社,20092 李广弟,单片机基础(第 3 版).北京:北京航空航天大学出版社,20073 李朝青, 单片机原理及接口技术.北京:北京航天航空大学出版色,20014 苏家健,曹柏荣,汪志锋.单片机原理及应用技术.北京:高等教育出版社,20035 潭浩强,C 语言程序设计.北京:清华大学出版社,20056 李华,李东.MCS51/98 系列单片机原理与应用.北京:机械工业出版社,1997指导教师评语指导教师评语

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!