




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北大学 2014 届本科生学年论文 课程设计 基于 51 单片机的音乐播放设计 摘 要 为方便人们的日常生活 优化学校 机关等单位的计时系统 采用以单片机为基础 设计了一种的自动音乐播放器 本设计利用单片机 AT89S52 的定时和计数功能 来完成 时间的显示和定时功能 并且 通过对定时器初值的设定来产生不同频率的声音 利用 定时器中断来完成对音乐节拍长度的控制 通过音频功率放大器 将单片机输出的信号 放大 再通过喇叭播放乐曲 通过 MAX232 型芯片 可以转换 PC 机上的电压和单片机的 电源电压 再通过串口接入 PC 机 这样就能从 PC 机上将用 C 语言编写的程序下载到单 片机上 最后可在数码管上显示时间 当定时时间到后 喇叭自动播放一段连续的音乐 此设计摆脱了传统闹钟的刺耳声音 取而代之的是美妙的音乐 能为人们的日常生活提 供准确的计时 且成本低廉 值得推广 关键词 音乐播放 音频转换 时间显示 ULN2003 河北大学 2014 届本科生学年论文 课程设计 Music playback design based on 51 single chip microcomputer Abstract For the convenience of People s Daily lives to optimize the timing system schools agencies and other units on the basis of the single chip microcomputer was adopted to design a kind of automatic music player This design using the single chip microcomputer AT89S52 timing and counting functions to complete the time display and timing functions And by the setting of the initial value of timer to generate different frequencies of sound using a timer interrupt to complete control of the beat of the music length Through the audio power amplifier MCU output signal amplification then play the music over the loudspeaker Through MAX232 chip can convert the voltage of power supply voltage of PC and microcontroller through a serial port connected to the PC so you can from the PC will be written in C language program downloaded to the microcontroller Finally on the digital tube display time when the time to regularly speakers play a continuous music automatically This design to get rid of the traditional alarm clock sharp voice instead the wonderful music can offer the accurate timing for People s Daily lives and low cost is worth promoting Key words Music playback Audio conversion Time display ULN2003 河北大学 2014 届本科生学年论文 课程设计 目 录 1 总体设计 1 2 硬件设计 2 2 1 AT89S52 型单片机介绍 2 2 2 ULN2003 及外围电路的设计 2 2 3 串行通信和 MAX232 芯片 3 2 4 AT89S52 的定时 计数器概述 3 2 5 LED 显示 5 3 软件设计 6 3 1 音乐编程原理及其流程图 6 3 1 1 产生声音信号 6 3 1 2 产生节拍信号 6 3 1 3 音频转换 7 3 2 时间显示程序设计 8 4 仿真及调试过程 9 4 1 硬件调试过程 9 4 2 软件仿真过程 9 5 结束语 11 参考文献 12 河北大学 2014 届本科生学年论文 课程设计 1 1 总体设计 在基于单片机的自动音乐播放器中 采用 AT89C52RC 型单片机为硬件基础 通过 C 语言对芯片进行编程 单片机需外接 5V 稳压电源 并通过 MAX232 电平转换芯片和串口 接入 PC 机 单片机工作时 用软件对定时器初值进行设定 从而得到所需要的声音频率 通过四位共阴 LED 数码管 可显示时间 并可进行定时设置 将单片机输出的信号放大 接入喇叭即可发声 1 具体要求如下 1 对时间进行定时 当定时时间到后 通过喇 叭能连续播放一段音乐 要求播放出的音乐的音阶准确 不能有太大偏差 否则会造成 音乐声音刺耳难听 音乐播放必须连贯 即音乐必须有节奏感 喇叭放出的音乐声音响 亮 不能太小 否则不能达到乐曲的提示作用 2 在四位共阴 LED 数码管上显示出时 间 24 小时制 包括小时 分钟 当定时 1 秒后 秒数加 1 当定时满 60 秒后 秒数 归零 分钟数加 1 当定时满 60 分钟后 分钟数归零 小时数加 1 当定时满 24 小时后 小时数归零 设计的硬件流程模块如图 1 1 图 1 1 硬件流程模块图 首先 PC 机通过串口及 MAX232 芯片将程序下载到单片机中 其中包括把一个个的单 音写入单片机的 RAM 存储器中 程序运行时再将音乐数据按顺序读出 利用单片机的定 时器中断控制音乐节拍的长度 这样就能形成一段乐曲 在单片机 P1 0 口接入音频放大 电路 将单片机输出的信号放大 再通过喇叭播放音乐 单片机 P2 口接 4 位共阴 LED 数 码管 并外接 1K 欧的排阻 利用单片机内部的定时器中断控制时间程序 然后在数码管 上显示出时间 单单 片片 机机 PC 机机 LED 显示显示 音频功率音频功率 放大器放大器 喇叭喇叭 河北大学 2014 届本科生学年论文 课程设计 2 2 硬件设计 2 1 AT89S52 型单片机介绍 AT89S52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可编程 Flash 存 储器 AT89S52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看 门狗定时器 2 个数据指针 三个 16 位定时器 计数器 一个 6 向量 2 级中断结构 全双 工串行口 片内晶振及时钟电路 另外 AT89S52 可降至 0Hz 静态逻辑操作 支持 2 种 软件可选择节电模式 空闲模式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位为止 2 2 2 ULN2003 及外围电路的设计 ULN2003 是高耐压 大电流复合晶体管阵列 由七个硅 NPN 复合晶体管组成乃音频 功率放大器 ULN2003 的每一对达林顿都串联一个 2 7K 的基极电阻 在 5V 的工作电压 下它能与 TTL 和 CMOS 电路直接相连 可以直接处理原先需要标准逻辑缓冲器来处理的 数据 3 ULN2003 工作电压高 工作电流大 灌电流可达 500mA 并且能够在关态时承受 50V 的电压 输出还可以在高负载电流并行运行 ULN2003 采用 DIP 16 或 SOP 16 塑料封装 ULN2003 是一个非门电路 包含 7 个 单元 单独每个单元驱动电流最大可达 350mA 9 脚可以悬空 采用 ULN2003 驱动蜂鸣器时设计电路图 2 1 如下 图 2 1 ULN2003 驱动蜂鸣器时设计电路图 河北大学 2014 届本科生学年论文 课程设计 3 2 3 串行通信和 MAX232 芯片 在单片机和 PC 机之间 要通过 MAX232 芯片进行电平转换 MAX232 芯片主要是完成 TTL EIA 双向电平转换 EIA RS 232C 与 TTL 转换 EIA RS 232C 是用正负电压来表示 逻辑状态 与 TTL 以高低电平表示逻辑状态的规定不同 4 因此 为了能够同计算机接 口或终端的 TTL 器件连接 必须在 EIA RS 232C 与 TTL 电路之间进行电平和逻辑关系的 变换 实现这种变换的方法可用分立元件 也可用集成电路芯片 与计算机 USB 之间通 信需要 USB 转串口设计 如下图 2 2 图 2 2 USB 转串口设计 2 4 AT89S52 的定时 计数器概述 图 2 3 是定时器 计数器的结构框图 由图可知 定时器 计数器由定时器 0 定时器 1 定时器方式寄存器 TMOD 和定时器控制寄存器 TCON 组成 定时器 0 定时器 1 是 16 位加法计数器 分别由两个 8 位专用寄存器组成 定时器 0 由 TH0 和 TL0 组成 定时器 1 由 TH1 和 TL1 组成 河北大学 2014 届本科生学年论文 课程设计 4 图 2 3 定时器 计数器的结构框图 TL0 TL1 TH0 TH1 的访问地址依次为 8AH 8DH 每个寄存器均可单独访问 定时 器 0 或定时器 1 用作计数器时 对芯片引脚 T0 P3 4 或 T1 P3 5 上输入的脉冲计数 每输入一个脉冲 加法计数器加 1 其用作定时器时 对内部机器周期脉冲计数 由于机 器周期是定值 故计数值确定时 时间也随之确定 TMOD TCON 与定时器 0 定时器 1 间通过内部总线及逻辑电路连接 TMOD 用于设置 定时器的工作方式 TCON 用于控制定时器的启动与停止 计数方式时 T 的功能是计来自 T0 P3 4 T1 P3 5 的外部脉冲信号的个数 输入脉 冲由 1 变 0 的下降沿时 计数器的值增加 1 直到回零产生溢出中断 表示计数已达预期 个数 外部输入信号的下降沿将触发计数 识别一个从 1 到 0 的跳变需 2 个机器 周期 所以 对外部输入信号最高的计数速率是晶振频率的 1 24 若晶振频率为 6MHz 则计数脉冲频率应低于 1 4MHz 当计数器满后 再来一个计数脉冲 计数器全部回 0 这就是溢出 脉冲的计数长度与计数器预先装入的初值有关 初值越大 计数长度越小 初值越 小 计数长度越大 最大计数长度为 65536 216 个脉冲 初值为 0 定时方式时 T 记录单片机内部振荡器输出的脉冲 机器周期信号 个数 每一个机器 周期使 T0 或 T1 的计数器增加 1 直至计满回零自动产生溢出中断请求 定时器的定时时 间不仅与定时器的初值有关 而且还与系统的时钟频率有关 在机器周期一定的情况下 初值越大 定时时间越短 初值越小 定时时间越长 最长的定时时间为 65536 216 个 机器周期 初值为 0 河北大学 2014 届本科生学年论文 课程设计 5 2 5 LED 显示 本文采用将多只 LED 的阴极连在一起的共阴式数码管 如把阴极接地 在相应段的 阳极接上正电源 该段即会发光 当然 LED 的电流通常较小 一般均需在回路中接上限 流电阻 假如我们将 b 和 c 段接上正电源 其它端接地或悬空 那么 b 和 c 段发光 此时 数码管显示将显示数字 1 而将 a b d e 和 g 段都接上正电源 其它引脚悬空 此时数码管将显示 2 8 位共阳数码管管脚图如图 2 4 采用 2 片 74HC573 驱动数码管 以降低 I O 口使用数量 图 2 4 8 位共阳数码管管脚图 河北大学 2014 届本科生学年论文 课程设计 6 3 软件设计 3 1 音乐编程原理及其流程图 3 1 1 产生声音信号 声音是音频振动的结果 振动的频率高则为高音 频率低则为低音 音频范围为 20HZ 200KHZ 之间 而人类耳朵比较容易辨识的声音大概是 200HZ 20KHZ 一般音响电路 是以正弦波信号驱动喇叭 产生悦耳的音乐的 5 在数字电路里 则是以脉冲信号驱动 喇叭以产生声音 同样的频率 脉冲信号或正弦信号产生的音效 对于人类的耳朵来说 很难有所区别 若用单片机产生声音 可利用程序产生频率 送到输入 输出端口 例如 P1 0 再从该点连接到喇叭的驱动电路 即可驱动喇叭 若要产生音频脉冲 只要算 出某一音频的周期 再将此周期除以 2 即为半周期的时间 利用定时器计时半周期时间 每当计时终止后就将 P1 0 反相 然后重复计时再反相 就可在 P1 0 引脚上得到此频率 的脉冲 3 1 2 产生节拍信号 音阶的频率是固定的 而节拍有快有慢 拍子越短节奏越快 拍子越长节奏越慢 控制发音的时间有两种方法 调用延时子程序或采用定时器中断 6 本次设计采用的是 定时器终端方式 设计的程序具体编程方法如下 1 首先 定义 toneh 和 tonel 两个数组 将各个音乐频率的定时器初值的 16 进 制数的高 8 位装入 toneh 低 8 位装入 tonel 2 利用单片机的定时器中断 将 toneh 和 tonel 的数据分别装入 TH0 和 TL0 并 且 收到信号 P1 0 就反相 void timer0 void interrupt 1 using 1 P1 0 P1 0 TH0 toneh rti TL0 tonel rti 3 利用定时器 1 控制音乐节拍的时间长度 将上文所述的定时器初值装入定时器 1 void timer1 void interrupt 3 using 2 TH1 0 x0c TL1 0 xdc 河北大学 2014 届本科生学年论文 课程设计 7 m 然后在程序执行时顺序查此表 取出音符代码 查频率表 置入 T C 口 取出节拍 代码 供定时器使用 启动后即可发出声音 3 1 3 音频转换 利用单片机的内部定时器使其工作计数器模式 MODEL1 下 改变其计数值 TH0 及 TL0 以产生不同频率的方法产生不同音阶 音阶与频率的对应关系如表 3 1 所示 表 3 1 音阶与频率的对应关系表 音符 DOREMEFASOLASI 低音简谱码 1234567 频率 Hz 523587659698784880987 高音简谱码 1234567 频率 Hz 1046117413181396156717601975 设计的软件流程如图 2 1 所示 程序开始运行时先对单片机进行初始化 其中包括 定时器及其工作方式的选择 外部中断设定 定时器初值的设定 图 3 1 软件流程设计图 开 始 初始化 读取简谱码 简谱码是否在 编码表中 读取音阶驱动喇叭延时 YES NO 河北大学 2014 届本科生学年论文 课程设计 8 3 2 时间显示程序设计 对于时间程序的设计 主要依靠单片机内部定时器的计数功能实现 时钟由秒针 分 针和时针组成 在程序中分别由 sdata mdata hdata 表示各单位的数据 首先对 sdata mdata hdata 分别设定一个初值 其中 sdata 设为 0 表示秒针初始为 0 然后 利用定时器对秒针计数 当计数值达到 1 秒的时间后产生定时器中断 sdata 的数据就加 1 由于本次设计采用的晶振频率为 6MHz 所以定时器取值为 2500 将 hdata 的数据装 入第一和第二个数码管 将 mdata 的数据装入第三和第四个数码管 当 sdata 的数据为 59 时 若此时再来一个定时器中断 则秒针重新归零 而分针就加 1 同样 分针和时 针的进位也是同一道理 当设定的闹钟时间一到 程序即转入音频程序 驱动喇叭放出 音乐 7 河北大学 2014 届本科生学年论文 课程设计 9 4 仿真及调试过程 4 1 硬件调试过程 本次设计的硬件电路主要由单片机 AT89S52 MAX232 和 ULN2003 的外围电路组成 在调试电路的过程中也碰到了一些问题 问题一 单片机无法正常下载程序 调试步骤 1 检查单片机和串口电路是否连接错 2 检查串口的接口是否连接正确 3 检查焊接电路是否有虚焊和漏焊 4 检查串口助手的芯片选择是否正确 MAX232 工作电压如表 4 1 所示 表 4 1 MAX232 工作电压表 管脚电压值 V 管脚电压值 V 16 6794 70 28 78100 32 52114 77 44 13120 44 5 4 2513 9 85 6 8 1614 7 60 78 26150 80164 79 问题二 下载音频程序后无法播放音乐 调试步骤 1 检查电源是否正常接入电路中 2 利用示波器测试单片机输出端是否有信号输出 发现信号输出正常 说明单片机 正常工作 3 利用示波器测试音频放大电路输出端是否有信号输出 发现信号输出正常 说明 音频放大电路工作正常 同时说明是喇叭部分出现了问题 4 故障原因 焊接时将发声器件烧坏了 导致发不出声音 解决方案 重新换一个 河北大学 2014 届本科生学年论文 课程设计 10 8 欧姆喇叭 即可正常播放音乐 4 2 软件仿真过程 对于时间显示程序 采用 Preteus 软件来仿真 首先进入 Preteu 界面 设计一个简 单的仿真电路 及一个单片机的基本外围电路 在 P0 0 P0 7 接一个 4 位共阴数码管和 排阻 最后 把程序调入单片机中 开始运行 1 调试过程中所遇到的问题 运行程序时 LED4 位共阴数码管显示程乱码 原因分析 数码管初始设置有错 解决方案 重新设置数码管显示参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合成孔径激光雷达技术:原理、发展与挑战
- 合作学习:开启大学英语自主学习的新钥匙
- 民政局发布离婚协议书范本及财产分割原则说明
- 原生大红紫薇苗木采购合同2篇
- 民警演讲面试题库及答案
- 教师招聘之《小学教师招聘》考试历年机考真题集含答案详解【能力提升】
- 2025呼伦贝尔农垦集团有限公司校园招聘44人笔试模拟及答案详解(新)
- 2025内蒙古呼伦贝尔农垦谢尔塔拉农牧场有限公司调整部分岗位报考专业要求笔试模拟及完整答案详解一套
- 教师招聘之《小学教师招聘》能力测试备考题含答案详解【培优】
- 2025年教师招聘之《幼儿教师招聘》考前冲刺模拟题库附答案详解【黄金题型】
- 2025-2026学年人美版(2024)小学美术二年级上册教学计划及进度表
- 歌乐山下的英烈课件
- 涉警舆情应对课件
- 2025年四川省凉山彝族自治州中考道德与法治真题及答案
- (2025年标准)赛事承办协议书
- 美术绘本创作教学课件
- 2025无犯罪记录证明申请表申请书(模板)
- GB/T 7031-2025机械振动道路路面谱测量数据的报告
- 新材料研发开发合同
- 矿山支护工培训课件
- 品质红线管理办法
评论
0/150
提交评论