51单片机串口通信及电子音响

上传人:第*** 文档编号:34244897 上传时间:2018-02-22 格式:DOC 页数:17 大小:153.70KB
返回 下载 相关 举报
51单片机串口通信及电子音响_第1页
第1页 / 共17页
51单片机串口通信及电子音响_第2页
第2页 / 共17页
51单片机串口通信及电子音响_第3页
第3页 / 共17页
51单片机串口通信及电子音响_第4页
第4页 / 共17页
51单片机串口通信及电子音响_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《51单片机串口通信及电子音响》由会员分享,可在线阅读,更多相关《51单片机串口通信及电子音响(17页珍藏版)》请在金锄头文库上搜索。

1、项目一: 电子音响1.1实训目的了解计算机发出不同音调声音的编程方法。1.2实训内容编写单片机程序组成乐谱,用 I/O接口 P1.7口输出,经过功率放大控制喇叭演奏一首完整的歌曲。(歌曲自选)1.3编程提示利用单片机内部的定时器可以产生不同周期(频率)的脉冲信号,输出的信号再经过功率放大电路可以驱动喇叭等电声设备发出声音。(1)要产生音频信号,只要知道某一音频的周期(1/频率),然后将此周期除以 2即为半周期的时间,利用定时器定时产生半周期时间,计时到后反相输出,重复此过程即得到此频率的脉冲信号。(2)让定时器工作在定时方式,改变定时时间常数 TH0及 TL0,以产生不同的频率。(3)把整首歌

2、曲的乐谱信息存储在单片机数据存储区中一段连续的区域。每个音符使用一个字节,字节的高四位代表音符的高低,低四为代表音符的节拍。演奏时连续读取音符数据,在程序中分析处理后输出相应的脉冲信号。1.4实训电路图 1-11.5实训步骤实验连线:把 P1.7用导线连至 VIN插孔上,打开音频驱动单元的按钮开关。编写并运行程序,验证歌曲演奏效果。附件:音乐播放器软件设计相关知识音乐相关知识在设计之前,我们还需要了解一些音乐的相关知识。在人类还没有产生语言时,就知道利用声音的高低、强弱等来表达自己的思想和感情。声带、琴弦等物体振动时会发出声波,声波通过空气传播进入人耳,人们就听到了声音。声音有噪音和乐音之分,

3、振动有规律的声音是乐音,如人声带发出的歌声、由琴弦发出的琴音等。音乐中所用的声音主要是乐音。乐音听起来有的高,有的低,这就叫音高。音高是由发音物体振动频率的高低决定的,频率高声音就高,386 J2P1.780329VIN 10SPEAKER3 8 6421+频率低声音就低。比如,女人唱歌时声带振动频率高,男人唱歌时声带振动频率低,所以男声比女声低。音乐中所用乐音的范围从每秒钟振动 16 次的最低音到每秒钟振动 4186 次的最高音,大约 97 个。现在最大的钢琴可以奏出其中的 88 个音,是音乐范围最大的乐器。人唱歌时因受生理限制,所能唱出的乐音仅是乐音范围中的一小部分。不同音高的乐音是用 C

4、、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 个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”的,就叫“全音”。在钢琴等键盘乐器上,C-D、 D-E、F-G、G-A、A-B 两音之间隔着一个黑键,它们之间的距离就是全音;E-F、B-C 两音之间没有黑键相隔,它们之间的距离就是半音。通俗地说,那些唱成 1、2、3、4、5、6、7

5、的音叫自然音,那些在它们的左上角加上#号(如#4、#1)或者 b 号(如b7、b3)的叫变化音。#叫升记号,表示把音在原来的基础上升高半音;b 叫降记号,表示把音在原来的基础上降低半音。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。在设计中我将音乐的简谱编成音符表和节拍表。所谓简谱,是指一种简易的记谱法。有字母简谱和数字简谱两种。一般所称的科谱,系指数字简谱。数字简谱以可动唱名法为基础,用 1、2、3、4、5、6、7 代表音阶中的 7 个基本音级,读音为

6、do、re、mi 、fa 、sol、la、si,休止以 O 表示。每一个数字的时值名相当于五线谱的 4 分音符了解音乐的一些基本知识后可知,产生不同频率的音频脉冲,不同频率的脉冲经滤波放大电路驱动喇叭,就会发出不同的音调。对于单片机而言,产生不同频率的脉冲非常方便,可以利用它的定时/计数器 T0,工作模式 1,设定计数值 TH0 和 TL0,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平。因为定时参数不同,所以产生不同频率的脉冲信号。在此情况下,C 调的各音符频率与在 12Mz 的单片机下的计数值 T的对照表 4.1 所示。T 的值决定了 TH0 和 TL0

7、 的值,其关系如下。TH0=T/256,TL0=T%256。表 4.1 C 调各音符频率与计数值 T(12Mz 单片机,T0 工作模式 1)对照表音符 频率 简谱码(T 值) 音符 频率 简谱码( T 值)低 1DO 262 63628 #4FA# 740 64860#1DO# 277 63731 中 5SO 784 64898低 2RE 294 63835 #5SO# 831 64934#2RE# 311 63928 中 6LA 880 64968低 3MI 330 64021 #6LA# 932 64994低 4FA 349 64103 中 7SI 988 65030#4FA# 370 6

8、4185 高 1DO 1046 65058低 5SO 392 64260 #1DO# 1109 65085#5SO# 415 64331 高 2RE 1175 65110低 6LA 440 64400 #2RE# 1245 65134#6LA# 466 64463 高 3MI 1318 65157低 7LA 494 64524 高 4FA 1397 65178中 1DO 523 64580 #4FA# 1480 65198#1DO# 554 64633 高 5SO 1568 65217中 2RE 587 64684 #5SO# 1661 65235#2RE# 622 64732 高 6LA 1

9、760 65252中 3MI 659 64777 #6LA# 1865 65268中 4FA 698 64820 高 7SI 1976 65283除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现。如果 1/4 拍的延时设为 0.1 秒,则 1 拍的延时是 0.4 秒。只要知道 1/4 拍的延时时间,其余的节拍延时时间就是它的倍数。表 4.2 所示的为 1/4 节拍和 1/8 节拍的延时时间设定。表 4.2 1/4 节拍和 1/8 节拍的延时时间曲调值(1/4 节拍) 延时 DELAY 曲调值(1/8 节拍) 延时 DELAY调 4/4 1

10、25ms 调 4/4 62ms调 3/4 187ms 调 3/4ms 94ms调 2/4 250ms 调 2/4 125ms 单片机产生不同频率脉冲信号的原理:1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的 I/O反相,然后重复计时此半周期的时间再对 I/O反相,就可以在I/O脚上得到此频率的脉冲。2)利用 8051的内部定时器使其工作在计数器模式 MODE1下,改变计数值 TH0及 TL0以产生不同频率的方法如下:例如,频率为 523Hz,其周期天/523 S=1912uS,因此只要令计

11、数器计时956uS/1us=956,在每计数 956次时就将 I/O反接,就可得到中音 DO(532Hz)。计数脉冲值与频率的关系公式如下:N=Fi/2/Fr (N:计数值,Fi:内部计时一次为 1uS,故其频率为 1MHz,Fr:要产生的频率 )3) 其计数值的求法如下:T=65536-N=65536-Fi/2/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低音 D

12、O的 T=65536-500000/262=63627中音 DO的 T=65536-500000/523=64580高音 DO的 T=65536-500000/1047=650594) 每个音符使用 1个字节,字节的高 4位代表音符的高低,低 4位代表音符的节拍,下表为节拍码的对照。但如果 1拍为 0.4秒,1/4 拍是 0.1秒,只要设定延迟时间就可求得节拍的时间。假设 1/4节拍为 1DELAY,则 1拍应为4DELAY,以此类推。所以只要求得 1/4拍的 DELAY时间,其余的节拍就是它的倍数, 5) 建立音乐的步骤:1、先把吧乐谱的音符找出,然后由上表建立 T值表的顺序。2、把 T值表

13、建立在 TABLE1,构成发音符的计数值放在“TABLE”。3、简谱码(音符)为高位,节拍为(节拍数)为低 4位,音符节拍码放在程序的“TABLE”处。1.6 程序流程图开始T0 初始化并开中断允放 T0 中断装入音符到 T 值到 T0启动 T0 工作停止 T0 工作T0 中断入口重装 TH0,TL0 初值P1.7 取反1.7程序设计源程序设计如下:org 0000hsjmp mainorg 000bhmov th0,r1mov tl0,r0cpl p1.7retimain: mov tmod,#01hmov ie,#82hmov dptr,#tabloop: clr amovc a,a+dp

14、trmov r1,ainc dptrclr amovc a,a+dptrmov r0,aorl a,r1jz next0mov a,r0anl a,r1cjne a,#0ffh,nextsjmp main中断返回next: mov th0,r1mov tl0,r0setb tr0sjmp next1next0: clr tr0next1: clr ainc dptrmovc a,a+dptrmov r2,aloop1: acall d200cdjnz r2,loop1inc dptrajmp loopd200c: mov r3,#81hd200b: mov a,#0ffhd200a: dec

15、ajnz d200adec r3cjne r3,#00h,d200brettab: db 0feh,25h,04h,0feh,25h,02hdb 0feh,25h,02h,0fdh,80h,04hdb 0feh,84h,02h,0feh,84h,02hdb 0feh,84h,04h,0feh,25h,04hdb 0feh,25h,02h,0feh,84h,02hdb 0feh,0c0h,04h,0feh,84h,02hdb 0feh,98h,02h,0feh,84h,02hdb 0feh,57h,08h,00h,00h,04hdb 0ffh,0ffhend 上面程序歌曲表为新年好的乐谱项目二:

16、MCS-51 串行口应用实训双机通信1.1 实训目的掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。了解实现串行通信的硬环境,数据格式的协议,数据交换的协议。掌握双机通信的原理和方法。1.2 实训内容利用 MCS-51 单片机串行口,实现双机通信。本实验将 1 号实验机键盘上键入的数字显示到 2 号实验机的数码管上。1.3 实训电路1.4 实训步骤1.4.1 实训连线用随机所配的串行通信电缆把两台实验仪 RS232-9 芯串行接口相连。1.4.2PC 环境1 号机发送,2 号机接收1 号机:在与 PC 联机状态下,编辑、调试程序,然后编译、连接、下载程序,退出系统,联机状态,释放串口;在“P.”状态下按 F2 功能键,使系统进入串行口出借状态,显示“P.”,键入“EXEC”用连续方式运行程序。2 号机:在与 PC 联机状态下,编辑、调试程序,然后编译、连接、下载程序,退出系统联机状态,释放串口;在“P

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号