基于C51单片机音乐盒设计
前言:
长久以来,音乐都在我们身边,封建时期的编钟道现在我们的各种各样的音乐播放,
而音乐盒在我们日常生活中经常拿来当礼物来赠送,音乐盒悠扬的的乐声,经常勾起人们
对美好往事的回忆,甚至魂牵梦萦,坠入时光岁月的追忆中。为了好好利用学到的知识用
于自己喜欢的事情中我选择了单片机音乐盒的设计,这让我有回忆起了儿时的美好时光。
技术指标:
1. 利用软件设计编写 3 首以上的歌曲并通过功放与扬声器播放出来;
2. 3 首歌曲的切换通过 3 个不同的按键来实现。
3. 能够实现暂停、播放功能。
原理: 利用AT89C51的I/O口产生一定频率的方波脉冲,驱动蜂鸣器发出不同的音调,
从而演凑乐曲利用PNP三极管进行简单的电路放大。
音调的产生:
1音符频率的产生:
音符及定时器初始值:
例如:中音1(do)的音频=523hz,周期T=1/523s=1912us
定时器/计数器0的定时时间为:T/2=1912/2=956us
定时器956us的计数值=定时时间/机器周期(12mhz晶振)=956us/1us=956
装入T0计数器初始值为65536-956=64580(0xFC44)
将0xFC44装入T0寄存器中(TH0装高八位即TH0=0XFC;TL0装低八位即TL=44),启
动T0工作后,每技术956次将产生溢出中断,进入中断服务,每次对P1.0引脚的输
出取反,就可得到中音do(523hz)的音符频率。依此产生其他的不同音符 以下给
出四个八度的28个频率数据
频率-半周期数据表 高八位
0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, //低音1234567
0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i
0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, //高音 234567
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF}; //超高音 1234567
频率-半周期数据表 低八位
0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6, //低音1234567
0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i
评论4