单片机系统开发与应用工程实习报告
选题名称: 基于AT89S52单片机的人体反应速度测试仪 系(院): 专 业: 班 级: 姓 名: 学 号: 指导教师: 学年学期: 2009 ~ 2010 学年 第 2 学期
2010 年 5 月 30 日
摘要:
随着社会的发展,许多交通事故都是由于人们在突发情况下不能及时做出判断而导致的。因此,在面对突发事故时,人的反应快慢直接影响到事情变化的好坏。下面以AT89S52单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间,间接反映人们面对突发状况的反应能力。以AT89S52单片机为核心的人体反应速度测试仪,主要控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。正常情况下系统运行主程序一直处于空闲等待状态,知道测试者按下按键后,LED测试灯立即点亮。AT89S52单片机在LED测试灯亮的同时开始计算一个随机时间,在一段随机时间结束后,AT89S52单片机 把LED测试灯熄灭,并开始计时灯灭与测试者放开按键的时间差,此计时时间用于纪录被测试者的反应时间,并以毫秒为时间单位在4位数码管上显示。如果在LED测试灯灭之前提前放开测试按键,则显示9999作为出错信息。
关键词:AT89S52 ; LED ; 数码管
目 录
1 课题综述 ............................................................................................................................... 1
1.1 课题来源 ............................................................................................................................................ 1 1.2预期目标 ............................................................................................................................................. 1 1.3 面对的问题 ........................................................................................................................................ 1 1.4 需解决的关键技术 ............................................................................................................................ 1
2 系统分析 ............................................................................................................................... 1
2.1 涉及的基础知识 ................................................................................................................................ 1 2.2 总体方案 ............................................................................................................................................ 3 2.3 功能模块框图 .................................................................................................................................... 4
3 系统设计 ............................................................................................................................... 4
3.1 硬件连接图 ........................................................................................................................................ 4 3.2 实现方法 ............................................................................................................................................ 5 3.3 详细流程图 ........................................................................................................................................ 5
4 代码编写 ............................................................................................................................... 6
4.1按键电路的实现 ................................................................................................................................. 6 4.2 4位LED数码管显示电路的实现 .................................................................................................... 7 4.3 随机函数的实现 ................................................................................................................................ 7 4.4 中断程序的实现 ................................................................................................................................ 8 4.5 主函数的实现 .................................................................................................................................... 8
5 程序调试 ............................................................................................................................. 10 6 运行与测试 ......................................................................................................................... 11
6.1 硬件测试 ...........................................................................................................................................11 6.2 软件测试 ...........................................................................................................................................11
总结 ......................................................................................................................................... 12 参考文献 ................................................................................................................................. 13
单片机系统开发与应用工程实习报告
1 课题综述
1.1 课题来源
许多交通事故都是由于人们在突发情况下不能及时做出判断而导致的。因此,在面对突发事故时,人的反应快慢直接影响到事情变化的好坏。下面以AT89S52单片机为核心,设计出测试人体反应速度的仪器用以测试人的反应时间,间接反映人们面对突发状况的反应能力。我们学习的是单片机理论知识,而课程设计则是对我们学习的理论知识的时间和巩固。
1.2预期目标
基于AT89S52单片机的人体反应速度测试仪设计要求如下: (1)测试者按下测试按键后,测试灯亮起,测试随子开始。
(2)在测试过程中,测试者要注意观察测试灯的变化,当看到测试灯熄灭时,测试者要迅速放开测试按钮,单片机会在数码管上显示测试者的反应时间。
(3)若测试者在测试灯熄灭之前放开测试按键,则系统自动判为犯规,并显示出错信息。
1.3 面对的问题
(1) 对AT89S51单片机的了解和应用 (2) 对LED数码管的特性的了解和使用
1.4 需解决的关键技术
本项目主要通过控制测试灯的状态,通过测试按键的状态来间接计算人体反应速度。要了解每一段数码管与AT89S52个引脚的连接,各个芯片的输入输出关系,必须通过查阅资料确定。必须了解LED显示器的显示原理。
2系统分析
2.1 涉及的基础知识
通过学习和查阅资料,本项目需要掌握和了解如下知识: ·+5V电源原理及设计。 ·单片机复位电路工作原理及设计。
1
单片机系统开发与应用工程实习报告
·单片机晶振电路工作原理及设计。 ·测试按键电路设计。
·驱动电路74LS07、74LS244的特性及使用。 ·LED的特性及使用。 ·AT89S52单片机引脚。 ·单片机C语言及程序设计。 2.1.1 AT89S51单片机简介
功能特性:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。
主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz 、 三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
图2-1 AT89S52引脚图
2