音乐盒设计
- 格式:doc
- 大小:309.50 KB
- 文档页数:18
目录
1. 技术要求 .................................................................................................. 错误!未定义书签。
2. 设计方案及原理 ........................................................................................................................ 1
2.1 设计方案 ............................................................................................................................................ 1
2.2 原理 ..................................................................................................................................................... 2
3. 实现方案 .................................................................................................................................... 2
3.1 设计思路 ............................................................................................................................................ 2
3.2 主要芯片引脚及功能 ..................................................................................................................... 3
3.3 工作过程及程序流程图 ................................................................................................................ 4
4. 模块功能分析或原程序代码 ................................................................................................................. 4
4.1 模块功能分析 .................................................................................................................................. 4
4.2 原程序代码 ....................................................................................................................................... 6
5. 调试过程及结论 ...................................................................................................................................... 14
6. 心得体会 .................................................................................................................................. 15
7. 参考文献 .................................................................................................................................................... 15
武汉理工大学《专业课程设计3(微处理器与微控制器应用)》课程设计说明书
1
音乐盒的设计
1. 技术要求
(1) 能够产生低中高三个音调的7个标准音阶DO,RE,M,FA,SO,LA,SI;
(2) 自选一首歌曲,查找到相关的乐谱,确定音节和节拍,并编写相关的源程序使蜂鸣器能够播放出该首歌曲。
2. 设计方案及原理
2.1 设计方案
(1) 要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲
(2) 利用89C51的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。
记数脉冲值与频率的关系公式如下:
N=Fi/2/Fr N:记数值
Fi:内部计时一次为1微秒.故其频率为1MHZ
Fr;要产生的频率
(3) 起记数值的求法如下:
T=65536-N=65536-Fi/2/Fr
例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr
低音D0的T=65536-500000/262=63627
中音D0的T=65536-500000/523=64580 武汉理工大学《专业课程设计3(微处理器与微控制器应用)》课程设计说明书
2
低音D0的T=65536-500000/1047=65059
2.2 原理
当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。
(1) 硬件电路中用0INT、1INT分别接S1、S2作为上、下一曲的功能键。
(2) 用P2.0口控制喇叭。
(3) 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。
图1 音乐盒原理图
3. 实现方案
3.1 设计思路
要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲。利用89C51的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率武汉理工大学《专业课程设计3(微处理器与微控制器应用)》课程设计说明书
3
的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。
3.2 主要芯片引脚及功能
Vcc(40脚):电源端,为+5V。
Vss(20脚):接地端。
XTAL1(19脚):接外部晶体和微调电容的另一段;在片内它是震荡电路反向放大器的输入端,在采集外部时钟时,该引脚接地。
XTAL2(18脚):接外部晶体和微调电容的一段;在89C51片内它是震荡电路反向放大器的输出端,震荡电路的频率就是晶体固有频率。若需采用外部时钟时,该引脚输入外部始终脉冲。89C51正常工作时,该引脚应有脉冲信号输出。
P2口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。在CPU访问偏外存储器时,它输出高8位地址。
P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。
武汉理工大学《专业课程设计3(微处理器与微控制器应用)》课程设计说明书
4
3.3 工作过程及程序流程图
按一下暂停键,音乐盒会锁定在当前曲目并且不会播放,再按一下就会继续播放当前曲目;按一下上一首按键,音乐盒会跳到当前曲目的前一首继续播放;按一下下一首按键音乐盒会跳到当前曲目的后一首进行播放。
图2 程序流程图
4. 模块功能分析或源程序代码
4.1 模块功能分析
(1) 通过三个按键暂停按键、上一首按键、下一首按键来控制音乐盒是否进行播放、是否跳到上一首进行播放和是否跳到下一首进行播放。 开始
初始化
设置音阶起始位置,设置节拍间距 读取音阶,音符 节拍结束 音乐结束 武汉理工大学《专业课程设计3(微处理器与微控制器应用)》课程设计说明书
5
图3 按键模块图
(2) 通过用延时或定时器控制蜂鸣器的端口输出频率在2kHZ左右的矩形波就能使蜂鸣器发出声音。
武汉理工大学《专业课程设计3(微处理器与微控制器应用)》课程设计说明书
6
图4 播放模块图
4.2 源程序代码
OUT BIT P2.0 ;定义音频输出端口,p2.0
N EQU 6 ;歌曲总数
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP LAST_SONG ;外部中断0用于接上一曲歌按键
ORG 000BH
AJMP F_T0 ;定时器0用于定时,作音符发生器用
ORG 0013H
q4: AJMP NEXT_SONG ;外部中断1接下一曲歌按键
ORG 001BH
AJMP START_PAUSE ;定时器1用计数,这里用作中断,接开始/暂停键,初值为0ffH,方式2
ORG 0030H
MAIN: MOV SP,#60H