08011331郭劲廷mcu综合课程设计_new资料.doc

东南大学自动化学院 MCU(微控制器) 综合课程设计报告 院 (系): 自动化 专 业: 自动化 姓 名: 郭劲廷 学 号: 实 验 室: 电工电子MCU 实验组别: 同组人员: 实验时间: 2014年 6 月2 日 评定成绩: 审阅教师: 目 录 一、 课程设计目的与要求(含设计指标) 3 二、 原理设计(或基本原理) 3 三、 方案论证(架构设计) 4 四、 方案实现与测试 6 五、 分析与总结 6 六、 参考书目 9 七、 C语言源代码 9 一、 课程设计目的与要求(含设计指标) 1.设计目的 秒表是常见的计时工具,生活中经常会用到。具有开始计时,暂停,置零等功能。如果是用于长跑计时的秒表,那么一般会具有可以计多个人的时间的功能,这一点可以再加一个按键然后使用数组存储数据实现。通过使用c语言进行单片机语句的编写,要用到定时中断等知识。 2.设计功能要求 本次课程设计以实现一个可以准确计时,可实现暂停置零和纪录多个时间为最终目的,并且计时精度要求达到0.1秒。学会使用c语言进行编写,通过对各种指令的合理运用,熟悉对于各种指令的用法,学会会使用c语言设计各个模块。要用到的模块有独立按键、数码管、定时中断、蜂鸣器。 3.功能简介 BST-V51单片机实物图 1.可实现计时功能,最大计时时间为99小时,最小计时单位为0.1秒。 2.支持暂停功能,按键盘中左下角的K1键,可暂停计时;按下K2,可继续计时。 3.支持置零功能,按下键盘左下角K3,可实现置零,无论是否暂停。同时清除已纪录的时间。 4.每过一分钟蜂鸣器会发出一次很短的声音,代表已经计时一分钟,每次按键也有声音提示。 5.计时进行的同时再次按K2,可以记录当前时间,最多支持记录20个时间。 6.按K4可以查看已经纪录的时间,可暂停后查看,也可以直接查看。 7.晶振为11.0592M。 二、 原理设计(或基本原理) 本次综合课程设计目的是用c语言实现一个秒表。要求编写一次程序,每次运行一次可执行程序,可以实现计时。对于使用c语言的好处就是可读性比较好,而且易于编写。程序的核心原理就是使用定时中断进行计时,当定时器计数满时,定时器会给出一个中断信号,然后cpu收到信号之后放下当前程序转入中断程序。在中断程序里面我们让定义计数最小值变量pp+1,假设一次中断信号为50ms。那么主程序的while循环不断地扫描当pp到达2时(即0.1秒),让pp清零并让纪录0.1秒的变量w+1,以此类推。最大计时单位为小时,最多可计时99小时,通过数码管显示。大多数判断都在while循环里面进行,因为主程序要不停地扫描判断按键是否按下,计数是否满等等。在主程序外面还有按键判断程序,用于判断按键是否按下。数码管显示程序用于显示相应的数字。软件延时程序用于短暂的延时。这些都可以通过主程序直接调用。 程序流程图及算法 Y N Y N Y N

文档评论(0)

1亿VIP精品文档

相关文档