1、通信与信息工程学院2015/2016 学年 第 1 学期课程设计 II 实验报告设计题目电子秒表任务要求基本要求A.设计秒表功能,精度为 0.01 秒。B.可同时记录和存储 10 个秒表数据(连续记录并显示已存储记录数,秒表记录数据查询和清除功能) 。发挥部分:A.设计和之间的串行口通信程序(参考通信实验)和通信协议,通过 USB 串行口向机上报秒表数据。实验设备及软件计算机;MSP-EXP430F5529 开发板;IAR 开发软件同组人员学号及姓名参考文献目 录一设计要求和原理说明1.1 设计要求A.设计秒表功能,精度为 0.01 秒。B.可同时记录和存储 10 个秒表数据(连续记录并显示已
2、存储记录数,秒表记录数据查询和清除功能) 。1.2 原理说明本次课程设计利用430单片机的定时器/计数器定时和计数原理,实现电子秒表的精确计时。利用中断系统实现计数开始和数据记录,并在 LED 显示屏上显示。当接通电源即对开发板、按键和定时器初始化。初 始 状 态 下 计 时 器 显 示00.00, 当 按 下 S2键 时 , 外 部 中 断 INT1向 CPU 发 出 中 断 请 求 , CPU 转 去 执 行外 部 中 断 1服 务 程 序 , 即 开 启 定 时 器 。计 时 采 用 定 时 器 T 中 断 完 成 , 秒 表 要求 的 精 度 为 0.01秒 , 故 设 定 定 时 溢
3、 出 中 断 周 期 为 10ms, 当 一 处 中 断 后 向 CPU发 出 溢 出 中 断 请 求 , 每 发 出 一 次 中 断 请 求 就 对 毫 秒 计 数 单 元 进 行 加 一 , 达 到10次 就 对 十 毫 秒 位 进 行 加 一 。 依 次 类 推 , 直 到 99.99秒 重 新 复 位 。当 按 下 S1键 , 停 止 内 部 中 断 , 执 行 外 部 中 断 处 理 程 序 , 即 记 录 当 前 计 时结 果 , 并 显 示 在 LCD 显 示 屏 上 。 记 录 完 成 才 允 许 其 他 中 断 。 LCD 屏 一 次 允许 显 示 十 个 数 据 , 当 记
4、 满 十 组 数 据 时 回 到 第 一 行 继 续 显 示 后 面 的 数 据 。当 再 次 按 下 S2键 , 数 据 清 零 。二系统硬件设计2.1按键输入模块设计本 次 设 计 具 有 三 个 功 能 : 启 动 定 时 器 , 计 时 和 清 零 。 对 S2键 设 计 实 现启 动 定 时 器 和 清 零 功 能 。 对 S1键 设 计 实 现 计 时 功 能 。当 按 下 S2键 时 , 外 部 中 断 INT1向 CPU 发 出 中 断 请 求 , CPU 转 去 执 行 外部 中 断 1服 务 程 序 , 即 开 启 定 时 器 。计 时 采 用 定 时 器 T 中 断 完
5、成 , 秒 表 要 求 的精 度 为 0.01秒 , 故 设 定 定 时 溢 出 中 断 周 期 为 10ms, 当 一 处 中 断 后 向 CPU 发 出溢 出 中 断 请 求 , 每 发 出 一 次 中 断 请 求 就 对 毫 秒 计 数 单 元 进 行 加 一 , 达 到 10次就 对 十 毫 秒 位 进 行 加 一 。 依 次 类 推 , 直 到 99.99秒 重 新 复 位 。当 按 下 S1键 , 停 止 内 部 中 断 , 执 行 外 部 中 断 处 理 程 序 , 即 记 录 当 前 计 时结 果 , 并 显 示 在 LCD 显 示 屏 上 。 记 录 完 成 才 允 许 其
6、他 中 断 。 LCD 屏 一 次 允许 显 示 十 个 数 据 , 当 记 满 十 组 数 据 时 回 到 第 一 行 继 续 显 示 后 面 的 数 据 。当 再 次 按 下 S2键 , 数 据 清 零 。2.2点阵 LCD 液晶显示模块在 该 电 路 中 , 液 晶 为 10264点 阵 LCD, 采 用 SPI 模 式 实 现 数 据 的 传 输 ,在 该 电 路 中 数 据 传 输 是 单 向 的 , 数 据 只 允 许 写 入 。 在 初 始 化 时 , 调节命令中PM(0 63)的数值就可调节液晶显示对比度;该液晶背光为 LED 背光,通过在 LCD_BL_EN(P7.6)上输出
7、 PWM 信号进行调节背光亮度。本次设计要求能够同时记录和存储10组数据。根据 LCD 液晶屏的点阵格式我们进行如下设计,即除去按键功能标记行和定时器同步显示行,记录的十组数据分五行显示,每行显示两组数据。当记满十组数据,重新回到数据记录的首行进行下一组数据的显示。三流程图设计四程序设计LCD 液晶模块,定时器及按键初始化开发板初始化设置中断,每中断一次计数加一链接键盘打开计时器 关闭计时器,清零FLAG=1?Y按下 S1按下 S2LCD 显示屏N当 S1键被按下时,禁止外部中断并记录当前时间,调用 timeshow()函数在 LCD 显示屏上显示。再返回执行中断处理前的程序。当 S2键被按下
8、,首先判断是否处于计时状态或清零状态。若处于计时状态,则定时器开始工作。此次设计要求时间精度为10ms,故对定时器的设计中断溢出时间为0.01s。从零时刻开始计时,因此采用增计数方式工作。并调用timeshow()函数实时显示当前时刻。定时器工作方式设定首先初始化时钟;使用了 MSP430F5529芯片的32KHz 低频晶体振荡器作为时钟;定时溢出中断周期为10ms,当一处中断后向 CPU 发出溢出中断请求,每发出一次中断请求就对十毫秒计数单元进行加一,达到10次就对百毫秒位进行加一,依次类推,直到99.99秒重新复位。五设计小结此次设计一开始我们首先从对 430 单片机的功能学习开始入手,学
9、习掌握单片机的编程方法。然后分析课程设计的功能要求,电子秒表要求的数据记录、显示和清零等功能需要我们对开发板初始化,设定按键功能,并且要正确设定系统的中断时间才能达到 0.01s 的精度。根据不同模块的功能要求,我们按照模块编程通过不断的调试和整合最终实现了程序的正确运行,能够在单片机上正确记录十组计时数据。但在实验中我们也发现了一些瑕疵,比如,当 S1 键按下过快,会导致同时记录显示两组数据。通过分析我们认为这是由于单片机的低频晶振存在毛刺消抖电路无法消除才导致的现象。本次课程设计不仅使我增进了对 430 单片机工作原理的了解,更提高了我实际动手操作的能力。通过对单片机编程,我学会了将软件与硬件相结合,将理论与实际相结合。对我以后的学习和工作都将有很大裨益。附:电子秒表运行结果:设计成绩评定评分内容 具体要求 总分 评分上机时间 上机时间是否达到要求的学时,按照实际情况给与一定的成绩。 10 分报告审阅结果 报告结构严谨,文字通顺,用语符合技术规范,图表清楚,书写格式规范,不与别人雷同。 30 分原理 原理清楚,能较好地理解课题任务并提出实施方案。 20 分完成情况独立完成规定设计任务,论证、分析、设计、计算、结构、建模、实验正确合理,有一定的创新。 30 分验收结果操作 能熟练操作相关工具软件,并利用工具软件完成设计任务。 10 分总成绩(五分制) 100 分指导教师评阅意见