单片机课设电子音响.docx
- 文档编号:17727360
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:10
- 大小:80.03KB
单片机课设电子音响.docx
《单片机课设电子音响.docx》由会员分享,可在线阅读,更多相关《单片机课设电子音响.docx(10页珍藏版)》请在冰点文库上搜索。
单片机课设电子音响
专业综合实验报告
专业:
电子信息工程
班级:
:
学号:
指导教师:
2014年7月18日
电子音响实验
一、设计目的
了解计算机发出不同音调声音的编程方法。
二、设计容
用定时器产生不同频率的方法,组成的乐谱由单片机进行信息处理,经过放大后用8031的P1.0口输出音乐。
三、预备知识
1.单片机
8031和8051是最常见的mcs51系列单片机,是inter公司早期的成熟的单片机产品,应用围涉及到各行各业,下面介绍一下它的引脚图等资料。
<8031,8051管脚图>
8031,8051引脚功能
(1)主电源引脚Vss和Vcc
①Vss接地
②Vcc正常操作时为+5伏电源
(2)外接晶振引脚XTAL1和XTAL2
①XTAL1:
引脚18,部振荡电路反相放大器的输入端,是外接晶体的一个引脚。
当采用外部振荡器时,此引脚接地。
②XTAL2:
引脚19,部振荡电路反相放大器的输出端。
是外接晶体的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
(3)控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN,EA/VPP
①RST/VPD:
引脚9,复位输入信号。
当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向部提供备用电源,以保持部RAM中的数据。
②ALE/PROG:
引脚30,地址锁存有效信号,其主要作用是提供一个适当的定时信号,在它的下降沿用于外部程序存储器或外部数据存贮器的低8位地址锁存,使总线P0输出/输入口分时用作地址总线(低8位)和数据总线,此信号每个机器出现2次,只是在访问外部数据存储器期间才不输出ALE。
所以,在任何不使用外部数据存贮器的系统中,ALE以1/6振荡频率的固定速率输出,因而它能用作外部时钟或定时,8751的EPROM编程时,此端输编程脉冲信号。
③PSEN:
引脚29,程序选通有效信号,当从外部程序存贮器读取指令时产生,低电平时,指令寄存器的容读到数据总线上。
外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期两次有效。
同样可以驱动八LSTTL输入。
④EA/VPP:
引脚31,当保持TTL高电平时,如果指令计数器小于4096,8051执行部ROM的指令,8751执行部EPROM的指令,当使TTL为低电平时,从外部程序存贮器取出所有指令,在8751的EPROM编程时,此端为21V编程电源输入端。
对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。
(4)串行口
①P0.0~P0.7:
通道0,它是8位漏极开路的双向I/O通道,当扩展外部存贮器时,这也是低八位地址和数据总线,在编程校验期间,它输入和输出字节代码,通道0吸收/发出二个TTL负载。
②P1.0~P1.7:
通道1是8位拟双向I/O通道,在编程和校验时,它发出低8位地址。
通道1吸收/发出一个TTL负载。
③P2.0~P2.7:
通道2是8位拟双向I/O通道,当访问外部存贮器时,用作高8位地址总线。
通道2能吸收/发出一个TTL负载。
④P3.0~P3.7:
通道3准双向I/O通道。
通道3能吸收/发出一个TTL负载,P3通道的每一根线还有另一种功能:
P3.0:
RXD,串行输入口。
P3.1:
TXD,串行输出口。
P3.2:
INT0,外部中断0输入口。
P3.3:
INT1,外部中断1输入口。
P3.4:
T0,定时器/计数器0外部事件脉冲输入端。
P3.5:
T1,定时器/计数器1外部事件脉冲输入端
由于8031其优越性:
1.部flash支持IAP编程,非常便于现场或远程软件修改,调试,升级,也可保护数据.简化了系统设计,省去了通常外部扩展的24XX系列或93XX系列或小容量并行E^2PROM,元件数减少,PC面积减小,系统可靠性增加,总体成本下降.2.性好3.片FLASH容量大,空间利用率高4.性能价格比及高,所以对于本次电子音箱设计,采用8031单片机。
2、蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、机、定时器等电子产品中作发声器件。
单片机上面使用的蜂鸣器一般都是无源电磁式的蜂鸣器。
它由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
3、要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用计时器计时(此半周期时间),计时到后即反向输出,重复此过程即得到此频率的脉冲。
4、让定时器工作在计数方式,改变计数值TH0及TL0,以产生不同的频率。
5、每个音符使用一个字节,字节的高四位代表音符的高低,低四位代表音符的节拍。
6、低音1至高音1所对应的频率(Hz)依次是:
131、147、165、175、196、220、247、262、294、330、349、392、440、494、523。
乘以二就提升该声音一个八度音阶,减半则降一个八度。
四、设计线路图
五、实验步骤
1、把P1.0用插针连至SIN插孔上。
要输出某一曲调,必须知道此曲调所包括的音符以及每个音符所占的节拍。
一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。
因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。
音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
一个音符用一个字节的代码表示,字节高四位代表音符高低,低四位代表音符的节拍数。
要产生音频信号,只要算出该音频的周期。
利用定时器定时半个周期时间,每当定时时间到达就将输出音频的P1.0反相,然后重复定时半个周期,再将P1.0反相,如此反复就可在P1.0引脚上得到该音频信号。
只要改变计数初值THO、TLO就可以产生不同的音频信号。
2、电子音响驱动区的短路片连下边LB,选喇叭。
3、调试、运行程序(见后面)。
将播放“兰花草”歌曲。
六、程序代码
SPKEQUP1.0;蜂鸣器所在端口
ORG0000H
JMPSTART
START:
MOVR3,#00H
NEXT:
MOVA,R3
MOVDPTR,#TABLE
MOVCA,A+DPTR
JZSTART
MOVR7,A
INCR3
MOVA,R3
MOVCA,A+DPTR
MOVR2,A
ACALLSONG
INCR3
SJMPNEXT
;===============================================================================
;=== 歌曲播放子程序===
SONG:
MOVA,R2;取出节拍
RLA
JNZKEEP
MOVA,#01H
KEEP:
MOVR2,A
REPEAT:
ACALLEIGHTH
DJNZR2,REPEAT
RET
;===============================================================================
;=== 产生1/8拍延时子程序 ===
EIGHTH:
MOVA,R7;查表取出廷时参数,保存到R4
MOVDPTR,#DELAY_T
MOVCA,A+DPTR
MOVR4,A
MOVA,R7;查表取出1/8拍周期数,保存到R5
MOVDPTR,#S_PARA
MOVCA,A+DPTR
MOVR5,A
NEXTCYC:
ACALLSOUND
DJNZR5,NEXTCYC
RET
;===============================================================================
;=== 发声子程序===
SOUND:
SETBSPK
ACALLSDELAY
CLRSPK
ACALLSDELAY
RET
SDELAY:
MOVA,R4;廷时值在R4
MOVR0,A
XL2:
MOVR1,#03H
DL1:
NOP
DJNZR1,DL1
DJNZR0,XL2
RET
;===============================================================================
;=== 1/8拍周期表 ===
S_PARA:
DS1DH
DB15H,16H,00
DB19H,00H,1CH,00H,1FH,21H,00H,25H
DB00H,29H,2CH,00H,31H,34H,37H,00H
DB3EH,41H,00H,49H,00H,52H,57H,00H
DB62H
;===============================================================================
;=== 延时参数表 ===
DELAY_T:
DS1DH
DB7EH,77H,00H
DB6AH,00H,5EH,00H,54H,4FH,00H,46H
DB00H,3FH,3BH,00H,35H,32H,2FH,00H
DB2AH,27H,00H,23H,00H,1FH,1DH,0C0H
DB1AH
;===============================================================================
;=== 歌曲表兰花草 ===
TABLE:
DW2202H,2902H,2902H,2902H,2906H,2702H;我从山中来
DW2502H,2702H,2502H,2402H,2208H;带着兰花草
DW2E02H,2E02H,2E02H,2E02H,2E06H,2C02H;种在小园中
DW2902H,2C02H,2D02H,2A02H,2908H;祈祷花开早
DW2902H,2E02H,2E02H,2C02H,2906H,2702H;一日看三回
DW2502H,2702H,2502H,2402H,2206H,1D02H;看得花时过
DW1D02H,2502H,2502H,2402H,2206H,2902H;兰花却依然
DW2702H,2502H,2402H,2002H,2208H;苞也无一个
DW0000H;
END
七、设计总结
本次设计,编写软件使用的是汇编语言。
因为汇编语言是面向机器硬件的语言,助记符指令和机器指令一一对应,用汇编语言编写的程序效率高,占用存储空间小,运行速度快,用汇编语言能编写出最优化的程序。
能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。
本次设计报告主要介绍了用单片机实现的音乐发生器的设计方法。
系统介绍了该电路的硬件构成和软件工作过程,系统以单片机8031为核心,主要采用中断控制系统,结合所学的单片机的知识,实现系统的功能要求。
设计中很好的使软、硬件相结合,基本上达到了设计的要求。
这次实验对我来说是一次不小的挑战,因为我不懂乐谱,所以刚开始对这个实验一点头绪也没有。
我把乐谱给简单地学习了一下,并上网查阅了用单片机演奏乐曲的相关资料,现在能看懂一般曲子的简谱。
这次的课程设计,让我学到了很多书本上学不到的东西,学到了实际应用时,是取用成本的最小化,做设计不仅要考虑大的方面,小的方面也必须做到完美。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子 音响