资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
word格式专业综合实验报告 专业: 电子信息工程 班级: 姓名: 学号: 指导教师:2014年7月18日电子音响实验一、设计目的 了解计算机发出不同音调声音的编程方法。二、设计内容用定时器产生不同频率的方法,组成的乐谱由单片机进行信息处理,经过放大后用8031的P1.0口输出音乐。三、预备知识1.单片机8031和8051是最常见的mcs51系列单片机,是inter公司早期的成熟的单片机产品,应用范围涉及到各行各业,下面介绍一下它的引脚图等资料。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.0P0.7: 通道0,它是8位漏极开路的双向I/O通道,当扩展外部存贮器时,这也是低八位地址和数据总线,在编程校验期间,它输入和输出字节代码,通道0吸收/发出二个TTL负载。 P1.0P1.7: 通道1是8位拟双向I/O通道,在编程和校验时,它发出低8位地址。通道1吸收/发出一个TTL负载。 P2.0P2.7:通道2是8位拟双向I/O通道,当访问外部存贮器时,用作高8位地址总线。通道2能吸收/发出一个TTL负载。 P3.0P3.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系列或小容量并行E2PROM,元件数减少,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反相,然后重复定时半个周期,再将P10反相,如此反复就可在P10引脚上得到该音频信号。只要改变计数初值THO、TLO就可以产生不同的音频信号。2、电子音响驱动区的短路片连下边LB,选喇叭。3、调试、运行程序(见后面)。将播放“兰花草”歌曲。六、程序代码SPK EQU P1.0 ; 蜂鸣器所在端口ORG 0000HJMP STARTSTART:MOV R3,#00HNEXT:MOV A,R3MOV DPTR,#TABLEMOVC A,A+DPTRJZ STARTMOV R7,AINC R3MOV A,R3MOVC A,A+DPTRMOV R2,AACALL SONGINC R3SJMP NEXT;=;= 歌曲播放子程序 =SONG:MOV A,R2 ; 取出节拍RL AJNZ KEEPMOV A,#01HKEEP:MOV R2,AREPEAT:ACALL EIGHTHDJNZ R2,REPEATRET;=;= 产生1/8拍延时子程序 =EIGHTH:MOV A,R7 ; 查表取出廷时参数,保存到R4MOV DPTR,#DELAY_TMOVC A,A+DPTRMOV R4,AMOV A,R7 ; 查表取出1/8拍周期数,保存到R5MOV DPTR,#S_PARAMOVC A,A+DPTRMOV R5,ANEXTCYC:ACALL SOUNDDJNZ R5,NEXTCYCRET;=;= 发声子程序 =SOUND:SETB SPKACALL SDELAYCLR SPKACALL SDELAYRETSDELAY:MOV A,R4 ; 廷时值在R4内MOV R0,AXL2:MOV R1,#03HDL1:NOPDJNZ R1,DL1DJNZ R0,XL2RET;=;= 1/8拍周期表 =S_PARA:DS 1DHDB 15H,16H,00DB 19H,00H,1CH,00H,1FH,21H,00H,25HDB 00H,29H,2CH,00H,31H,34H,37H,00HDB 3EH,41H,00H,49H,00H,52H,57H,00HDB 62H;=;= 延时参数表 =DELAY_T:DS 1DHDB 7EH,77H,00HDB 6AH,00H,5EH,00H,54H,4FH,00H,46HDB 00H,3FH,3BH,00H,35H,32H,2FH,00HDB 2AH,27H,00H,23H,00H,1FH,1DH,0C0HDB 1AH;=;= 歌曲表 兰花草=TABLE: DW 2202H,2902H,2902H,2902H,2906H,2702H ;我从山中来DW 2502H,2702H,2502H,2402H,2208H ;带着兰花草DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ;种在小园中DW 2902H,2C02H,2D02H,2A02H,2908H ;祈祷花开早DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ;一日看三回DW 2502H,2702H,2502H,2402H,2206H,1D02H ;看得花时过DW 1D02H,2502H,2502H,2402H,2206H,2902H ;兰花却依然DW 2702H,2502H,2402H,2002H,2208H ;苞也无一个DW 0000H ;END七、设计总结本次设计
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号