51单片机串口通信及电子音响解析.pdf
《51单片机串口通信及电子音响解析.pdf》由会员分享,可在线阅读,更多相关《51单片机串口通信及电子音响解析.pdf(15页珍藏版)》请在三一文库上搜索。
1、项目一 :电子音响 1.1实训目的 了解计算机发出不同音调声音的编程方法。 1.2实训内容 编写单片机程序组成乐谱 ,用 I/O 接口 P1.7口输出 ,经过功率放大控制喇叭演奏 一首 完整的歌曲。 (歌曲自选 1.3编程提示 利用单片机内部的定时器可以产生不同周期(频率的脉冲信号 ,输出的信号再经 过 功率放大电路可以驱动喇叭等电声设备发出声音。 (1要产生音频信号 ,只要知道某一音频的周期 (1/频率,然后将此周期除以 2即 为 半周期的时间 , 利用定时器定时产生半周期时间, 计时到后反相输出 , 重复此过程即 得到 此频率的脉冲信号。 (2让定时器工作在定时方式,改变定时时间常数 TH
2、0 及 TL0,以产生不同的频 率。 (3把整首歌曲的乐谱信息存储在单片机数据存储区中一段连续的区域。每个 音符使 用一个字节 , 字节的高四位代表音符的高低, 低四为代表音符的节拍。演奏 时连续读取音符 数据,在程序中分析处理后输出相应的脉冲信号。 1.4实训电路 图 1-1 1.5实训步骤 实验连线 :把 P1.7用导线连至 VIN 插孔上 ,打开音频驱动单元的按钮开关。 编写并运行程序 ,验证歌曲演奏效果。 附件:音乐播放器软件设计相关知识 音乐相关知识 在设计之前 , 我们还需要了解一些音乐的相关知识。在人类还没有产生语言时, 就知道利用声音的高低、强弱等来表达自己的思想和感情。声带、
3、 琴弦等物 体振 动时会发出声波 , 声波通过空气传播进入人耳, 人们就听到了声音。声音有 噪音和 乐音之分 , 振动有规律的声音是乐音, 如人声带发出的歌声、由琴弦发出 的琴音 等。 音乐中所用的声音主要是乐音。乐音听起来有的高 , 有的低 , 这就叫 音高。 音 高是由发音物体振动频率的高低决定的, 频率高声音就高 , 频率低声音 就低。 比如, 女人唱歌时声带振动频率高, 男人唱歌时声带振动频率低, 所以男 声比女声低。 音乐中所用乐音的范围从每秒钟振动 16次的最低音到每秒钟振动 4186次的 最高音 , 大约 97个。 现在最大的钢琴可以奏出其中的 88个音, 是音乐范围最大 的 乐
4、器。人唱歌时因受生理限制,所能唱出的乐音仅是乐音范围中的一小部分。不同 音高的乐音是用 C 、 D 、 E 、 F 、 G 、 A 、 B 来表示的 ,这 7个字母就是 乐音的 音名,它们一般依次唱成 DO 、 RE 、 MI 、 FA 、 SO 、 LA 、 SI ,即唱成简谱 的 1、 2、 3、 4、 5、 6、 7,相当于汉字 “ 多来米发梭拉西 ” 的读音 ,这是唱曲时 乐音的 发音,所以叫唱名。把 C 、 D 、 E 、 F 、 G 、 A 、 B 这一组音的距离分成 12个等 份,每一个等份叫一个 “ 半音” 。两个音之间的距离有两个“ 半音” 的,就 叫“ 全音” 。在 钢琴等
5、键盘乐器上 , C-D 、 D-E 、 F-G 、 G-A 、 A-B 两音之间隔着 一个黑键 ,它们 之间的距离就是全音 ; E-F 、 B-C 两音之间没有黑键相隔 ,它们 之间的距离就是半 音。 通俗地说 , 那些唱成 1、 2、 3、 4、 5、 6、 7的音叫自然音 , 那些在它们的左 上角加上 #号(如 #4、 #1或者 b 号(如 b7、 b3的叫变化音。 #叫升记号 ,表示把音在 原来的基础上升高半音 ; b 叫降记号 ,表示把音在原来 的基础上降低半音。 音持续时间的长短即时值 ,一般用拍数表示。休止符表示暂停发音。 一首音乐是由许多不同的音符组成的, 而每个音符对应着不同的
6、频率, 这样 就 可以利用不同的频率的组合,加以与拍数对应的延时 ,构成音乐。 在设计中我将音乐的简谱编成音符表和节拍表。所谓简谱 , 是指一种简易的 记 谱法。 有字母简谱和数字简谱两种。一般所称的科谱 , 系指数字简谱。 数字简 谱 以可动唱名法为基础 ,用 1、 2、 3、 4、 5、 6、 7 代表音阶中的 7个基本音级 , 读 音为 do 、 re 、 mi 、 fa 、 sol 、 la 、 si ,休止以 O 表示。每一个数字的时值名相 当 于五线谱的 4 分音符 了解音乐的一些基本知识后可知, 产生不同频率的音频脉冲 , 不同频率的脉 冲 经滤波放大电路驱动喇叭, 就会发出不同
7、的音调。对于单片机而言 , 产生不同 频率 的脉冲非常方便 ,可以利用它的定时 /计数器 T0,工作模式 1,设定计数值 TH0 和 TL0, 定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平, 下一次反转发出脉 冲高电平。 因为定时参数不同 , 所以产生不同频率的脉冲信号。 在此情况下 , C 调的各音符频率与在 12Mz 的单片机下的计数值 T 的对照表 4.1 所示。 T 的值决定了 TH0 和 TL0 的值,其关系如下。 TH0=T/256, TL0=T%256 。 表 4.1 C 调各音符频率与计数值 T (12Mz 单片机 , T0 工作模式 1对照表 除了音符以外 ,节拍
8、也是音乐的关键组成部分。 节拍实际上就是音持续时间的长短, 在单片机系统中可以用延时来实现。如 果 1/4拍的延时设为 0.1秒, 则 1拍的延时是 0.4 秒。 只要知道 1/4拍的延时时间 , 其余 的节拍延时时间就是它的倍数。 表 4.2所示的为 1/4节拍和 1/8节拍的延时时间设定。 表 4.2 1/4节拍和 1/8 节拍的延时时间 单片机产生不同频率脉冲信号的原理: 1要产生音频脉冲 ,只要算出某一音频的脉冲(1/频率,然后将此周期除以 2,即为半周期的时间 ,利用定时器计时这个半周期的时间,每当计时到后就将输 出脉冲的 I/O 反相,然后重复计时此半周期的时间再对 I/O 反相,
9、就可以在 I/O 脚上得 到此频率的脉冲。 2利用 8051的内部定时器使其工作在计数器模式 MODE1 下,改变计数值 TH0 及 TL0 以产生不同频率的方法如下: 例如,频率为 523Hz ,其周期天 /523 S=1912uS, 因此只要令计数器计时 956uS/1us=956, 在每计数 956次时就将 I/O 反接,就可得到中音 DO (532Hz 。 计数脉 冲值与频率的关系公式如下: N=Fi/2/Fr (N :计数值 , Fi :内部计时一次为 1uS , 故其频率为 1MHz , Fr :要产生的频率 3 其 计数值的求法如下 : T=65536-N=65536-Fi/2/
10、Fr 计算举例 : 设 K=65536,F=1000000=Fi=1MHz,求低音 DO (261Hz 、中音 DO (523Hz 、高 音 DO (1046Hz 的计数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音 DO 的 T=65536-500000/262=63627 中音 DO 的 T=65536-500000/523=64580 高音 DO 的 T=65536-500000/1047=65059 4 每个音符使用 1个字节 , 字节的高 4位代表音符的高低 , 低 4位代表音符的 节 拍,下表为节拍码
11、的对照。但如果 1拍为 0.4秒, 1/4拍是 0.1秒,只要设定 延迟时间 就可求得节拍的时间。假设 1/4节拍为 1DELAY , 则 1拍应为 4DELAY , 以此类 推。所以只要求得 1/4拍的 DELAY 时间,其余的节拍就是它的倍数 , 5 建立音乐的 步骤: 1、先把吧乐谱的音符找出 ,然后由上表建立 T 值表的顺序。 2、把 T 值表建立在 TABLE1, 构成发音符的计数值放在“TABLE ” 。 3、简谱码 (音符为高位 ,节拍为 (节拍数为低 4位,音符节拍码放在 程序的 “TABLE ” 处。 1.6程序流程图 1.7程序设计 源程序设计如下 : org 0000h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 串口 通信 电子 音响 解析
链接地址:https://www.31doc.com/p-4971633.html