1、 1 单片机课程设计单片机课程设计 结题报告结题报告 音乐倒数计时器音乐倒数计时器 姓名:姓名: 学号:学号: 指导教师:指导教师: 2 1、系统方案设计系统方案设计 a) 项目设计的内容项目设计的内容 选题:音乐倒数计数器选题:音乐倒数计数器 设计要求设计要求 利用 AT89C51 单片机结合字符型 LED 显示器设计一个简易的倒数计数器, 可用来煮 方便面、煮开水或小睡片刻等。做一小段时间倒计数,当倒计数为 0 时,则发出一段 音乐声响,通知倒计数终了,该做应当做的事。 定时闹钟的基本功能如下。 6 位 LED 显示器。 显示格式为“TIME 分分:秒秒”。 用 4 个按键操作来设置当前想
2、要倒计数的时间。 一旦按下键则开始倒计数, 当计数 为 0 时,发出一阵音乐声。 程序执行后工作指示灯 LED 闪动,表示程序开始执行,按下操作键 K1K4 动作如 下。 K1可调整倒计数的时间 160 分钟。 K2设置倒计数的时间为 5 分钟,显示“0500”。 K3设置倒计数的时间为 10 分钟,显示“1000”。 K4设置倒计数的时间为 20 分钟,显示“2000”。 复位后 LED 的画面应能显示倒计时的分钟和秒数,此时按 K1 键则在 LED 上显示出 设置画面。此时,若: a. 按操作键 K2增加倒计数的时间 1 分钟。 b. 按操作键 K3减少倒计数的时间 1 分钟。 c. 按操
3、作键 K4设置完成。 本题目最大难点是实现音乐的播放。作者利用定时计数器,通过载入不同的计数 初值,产生频率不同的方波,输入到蜂鸣器(SOUNER)中,使其发出频率不同的声音。 本设计中单片机晶振为 1.0592MHz,通过计算各音阶频率,可得 1、2、3、4、5、6、7 共 7 个音应赋给定时器的初值为 64580、64684、64777、64820、64898、64968、65030。 在此基础上, 可将乐曲的简谱转化为单片机可以“识别”的“数组谱”, 进一步加 入对音长、休止符等的控制量后,可以实现音乐的播放。 根据实际的使用习惯, 要求中提出的设置时采用 K1 到K4 实现的功能并不十
4、分合理, 要实现 1 到 60 分钟可调如果初值设置时最大只能是 20 分钟那么想要定时超过 30 分钟 时在微调阶段就会十分麻烦,需要反复按下按键,并且 K1 键的作用在实际应用时也容 3 易混淆,所以在编程时将 K1 到 K4 四个键扩展为 K1 到 K4 在加上“确认”和“返回” 共六个按键,使得时间的设置更加符合平常的认知和使用习惯,更加实用。 具体更改如下: 表 1_1 其他指标相比题目要求没有较大更改。 b) 项目设计的指标项目设计的指标 指标属性 指标内容 基本指标 1 程序开始:红灯闪烁,初始显示为“00-00” ,格式为“分 分秒秒” 2 按下“确认”键前5、10、15、20
5、分钟初值设置自由调整 3 按下“确认”键后在初值基础上160分钟微调设置自由 调整 4 设置完成按下“确认”键开始计时,数码管实时显示倒记 时间 5 倒计时到“0000”时显示关闭,播放一段音乐 6 音乐播放完毕自动回到程序开始 扩 展 指 标 7 按下“确认键”前指示灯黄灯亮,绿灯灭表示是 SET1初值 设置阶段 8 按下“确认键”后指示灯绿灯亮,黄灯灭表示是 SET2微调 设置阶段 9 实现秒位的微调设置和倒计时显示 10 若按下的不是操作键则红灯闪烁表示错误,但不改变设置 值 按键功能说明 名称 对应键 SET1阶段功能 SET2阶段功能 K1 “7” 初值设置为5分钟 分钟数减一 K2
6、 “8” 初值设置为10分钟 分钟数加一 K3 “9” 初值设置为20分钟 秒钟数减一 K4 “A” 初值设置为40分钟 秒钟数加一 确认 “E” 初值确认并进入SET2阶段 微调确认并进入计时阶段 返回 “D” 初值清零回到设置开始 设置清零回到设置开始 4 11 若按下的是“返回”键则返回设置开始,并且设置值全部 清零 12 若微调时分钟或秒钟数低于0或高于60红灯闪烁表示错误, 但不改变设置值 表 1_2 c) 项目设计的方案选择项目设计的方案选择 方案一:方案一:使用 MSP430 单片机自制最小系统,包含按键、数码管、LED 灯、音频 放大等模块部分,采用 C 语言编写程序实现按键控制、数码管倒计时显示和音乐的播 放。 方案二:方案二:使用 89C51 单片机自制最小系统,包含按键按键、数码管、LED 灯、音 频放大等模块部分,采用 C 语言编写程序实现按键控制、数码管倒计时显示和音乐的 播放。 方案三:方案三:使用伟福 Lab2000 实验箱,采用汇编语言编写程序实现按键控制、数码 管倒计时显示和音乐的播放。