单片机音乐盒课程设计报告.docVIP

  • 137
  • 0
  • 约6.06千字
  • 约 9页
  • 2018-12-28 发布于广东
  • 举报
单片机音乐盒课程设计报告.doc

哈尔滨理工大学 单片机原理及应用 课程设计报告 设计题目:礼品发音盒设计 专 业: 电气T程及其自动化 班 级: 电气12—1 姓 名: 马玉明 学 号: 1230070113 一、设计目的 1、 通过本次课程设计加深对单片机课程的认识和掌握,对单片机的应用做 进一步了解。 2、 通过本次课程设计提高学生的编程能力、调试能力、文献资料查阅能力, 为毕业设计和以盾工作打基础。 3、 利用1/0 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而 演乐曲,可以通过按键选择歌曲。 二、 设计意义 电子音乐已广泛地应用于社会生活的各个领域。其类型从音乐卡片到CD、 MP3等多种多样,制作原理也各不相同。声音是通过振动产生的。单片机对某一 I/O引脚以一定的频率循环置1和清0,这一引脚便产生一定频率的方波,该方 波通过放大后作用于扬声器便产生一定频率的声音。若改变输出方波的频率,产 生的声咅也就改变了。通过控制输出方波的时间长短,声咅的长短也就得到控制。 因此,根据乐谱,单片机就可产生电子音乐。音乐屮最关键的两个要素是音符和 节拍。单片机控制的音乐发生器系统由硬件电路和软件W部分构成。利用单片机 控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成木低, 电路制作容易。更换歌曲时,硬件电路无需作任何修改,只需修改软件即吋实现。 三、 设计思路 乐音听起来有的高低之分,这就叫音高。产生不同频率的音频脉冲就能产生 咅乐。单片机产生不同频率的脉冲可以利用它的定时/计数器来产生特定方波频 率信号。以下将分析音乐的音符和对应的频率,以及单片机定时计数的关系。采 用12MHz时钟频率,利用单片机的内部定时器/计数器0,使其工作在模式1,定 吋屮断,然后控制某一引脚的输出每次取反,就可以在该引脚输出相应的方波频 率。改变计数初值就可以改变频率。即要产生音频输出方波,首先要算出某一音 频的周期(1/频率),然盾将此周期除以2得到半个周期的时间。定时器的定时 时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就可在该引 脚上得到某一音频的脉冲。 其屮,定吋吋间=(216-计数初值)X吋钟周期X 12 或定吋吋间=(216-计数初值)X机器周期 因此计数初值=216-定时时间机器周期 除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间 的1:短,在单片机系统里可以用延时来实现。如果1/4拍的延时设为0.1秒,则 1拍的延吋是0. 4秒。以此类推:假设1/4拍执行一次延时程序,则1/2拍就执 行两次延吋程序,所以只要求出1/4延吋吋间,其余的节拍就是它的倍数。 U! 1、总体设计 单片机 2、硬件设计 C1 ■Ih C2 dh n rs 五、附录 1、程序框 幵始 初始化 \z 设置节拍起始位置设置间距 读取音节、音符 暑 节拍结束,?音乐结束 \ 音乐结束 2、8255简介 引脚功能: RESET:复位输入线,当该输入端处于高电平吋,所有A部寄存器(包括控 制寄存器)均被清除,所有I/O 口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=O时,表示芯 片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传 输. RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且 /CS=O时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从 8255读取信息或数据。 338.3. 1 8255 弓 I脚WR:写入信号,当这个输入引脚为 低跳变沿时,即/WR产生一个低脉冲 且/CS=O 33 8.3. 1 8255 弓 I脚 写入8255。 DO?D7:三态双向数据总线,8255 与CPU数据传送的通道,当CPU执行 输入输出指令时,通过它实现8位数 据的读/写操作,控制字和状态信息也 通过数据总线传送。 8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能 在以下三种方式下工作。 方式o 基本输入输出A式;方式1 选通输入/出方式; 方式2 双向选通输入/输岀方式; PAO?PA7:端口 A输入输出线,一个8位的数据输出锁存器/缓冲器,一 个8位的数据输入锁存器。工作于三种方式中的任何一种; PBO?PB7:端I」B输入输出线,一个8位的I/O锁存器,一个8位的 输入输出缓冲器。不能工作于方式二; PCO?PC7:端口 C输入输出线,一个8位的数据输山锁存器/缓冲器,一 个8位的数据输入缓冲器。端口 C可以通过工作方式设定而分成2个4位 的端UI,每个4位的端U乜含一个4位的锁存器,分别与端UA和端UB 配合使用,可作为控制信号输出或状态信号输入端口。’不能工作于方式一 或二。 A1,AO:地址选择线,用来选择8255的

文档评论(0)

1亿VIP精品文档

相关文档