单片机课程设计单片机演奏乐曲试验.doc
《单片机课程设计单片机演奏乐曲试验.doc》由会员分享,可在线阅读,更多相关《单片机课程设计单片机演奏乐曲试验.doc(19页珍藏版)》请在三一办公上搜索。
1、单片机课程设计课程设计题目:单片机演奏乐曲试验课程设计组: 08电子信息工程姓名: 单片机演奏乐曲实验摘要:本文是应用16F877A单片机原理和控制理论来设计音乐盒的硬件电路,并利用16单片机语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。该程序通过把乐谱转化成相应的定时常数来驱动发音设备演奏出悦耳动听的音乐。这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。关键词:16F877A单片机 汇编语言单片机控制电路的设计本设计中用到了16F877A单片机,蜂鸣器。蜂
2、鸣器硬件电路控制如下图音乐产生的方法:一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表4.1所示:表4.1高中低音符与单片机计数T0相关的计数值音符对应的PR2值音符对应的PR2值M_1119M_2105M_394M_579M_670H_159L_5158L_6141如表4.2所示:音乐的
3、音拍,一个节拍为单位(C调)表4.2音乐的音拍曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。发音部分代码在程序中实现,靠单片机的一个管脚输出,考虑到声音可能不够大所以我们加入了功放电路,利用LM386来对声音信号进行放大。音频输出信号由ADU OUT引出,信号可经功放电路LM386输出到扬声器或耳机。软件流程图程序代码如下所示:;乐曲名:友谊天长地久*;文件名“3.ASM”;功能:单片机演奏乐曲实验;*#include p16f877a.inc
4、 #DEFINE youyi 0X2100;乐谱编号#define L_5.158#defineL_6.141#defineM_1.119#defineM_2.105#defineM_3.94#defineM_5.79#defineM_6.70#defineH_1.59#defineM_0.0; tone8=158,141,119,105,94,79,70,59;声调的高低,实际上是PWM的周期值;计算方法是CCP的时钟1MHz除以预分频比16,再除以要产生的频率,最后再减去1。PORTD_D EQU 20H ;显示缓冲器COUNTCOUNT1 EQU 21HCOUNT2 EQU 22HCOU
5、NT3 EQU 23HCOUNT4 EQU 24HSAVEW EQU 25H ;W保护寄存器SAVES EQU 26H ;STATUS保护寄存器COUNT5 EQU 27H ;节拍数H EQU 28H ;地址寄存器HANG EQU 29H ;行寄存器LIE EQU 30H ;列寄存器TMP1 EQU 31H ;TMP1缓存寄存器Byte EQU 32H ;缓存Count6 EQU 33H ;节拍数Count7 EQU 34H ;节拍数DD_RAM_ADDREQU 35H ; 第一行显示地址寄存器DD_RAM_UL EQU 36H ; 第二行显示地址寄存器COUNT EQU 37HCount E
6、QU 38H ;计数寄存器Count2 EQU 39H;*;* 定义 LCD数据& 控制I/O口 ;*#defineLCD_DB7 PORTB,3 ;占用的I/O口定义 #defineLCD_DB6 PORTB,2 ;LCD的DB6与RB2连接,其它类推#defineLCD_DB5 PORTB,1 ;#defineLCD_DB4 PORTB,0 ;#define LCD_EN PORTC,0#define LCD_RS PORTC,1#defineLCD_DB7_DIRTRISB,3 ;对应的方向寄存器定义#defineLCD_DB6_DIRTRISB,2 ;#defineLCD_DB5_DI
7、RTRISB,1 ;#defineLCD_DB4_DIRTRISB,0 ;#defineLCD_EN_DIRTRISC,0 ;#defineLCD_RS_DIRTRISC,1 ; ;*LCD 模块命令*#defineDISP_ON0x00C ; 开显示#defineDISP_ON_C0x00E ; 开显示, 开指针#defineDISP_ON_B0x00F ; 开显示, 开指针,开闪烁#defineDISP_OFF0x008 ; 关显示#defineCLR_DISP0x001 ; 清显示的操作数#defineENTRY_INC0x006 ; 操作数#defineENTRY_INC_S0x007
8、 ; 操作数#defineENTRY_DEC0x004 ; 操作数#defineENTRY_DEC_S0x005 ; 操作数;* ORG youyi DE L_5,L_5,M_1,M_1,M_1,M_1,M_1,M_1,M_1,M_3,M_3,M_2,M_2,M_2,M_2DE M_1,M_2,M_2,M_3,M_3,M_1,M_1,M_1,M_1,M_1,M_3,M_3,M_5,M_5,M_6DE M_6,M_6,M_6,M_6,M_6,M_6,M_6,M_6,M_6,M_5,M_5,M_5,M_5,M_3,M_3DE M_3,M_1,M_1,M_2,M_2,M_2,M_2,M_1,M_2,
9、M_2,M_3,M_3,M_1,M_1,M_1DE M_1,L_6,L_6,L_6,L_5,L_5,M_1,M_1,M_1,M_1,M_1,M_1,M_1,M_1,M_6DE M_6,M_5,M_5,M_5,M_5,M_3,M_3,M_3,M_1,M_1,M_2,M_2,M_2,M_2,M_1DE M_2,M_2,M_6,M_6,M_5,M_5,M_5,M_5,M_3,M_3,M_3,M_5,M_5,M_6,M_6DE M_6,M_6,M_6,M_6,M_6,M_6,H_1,H_1,M_5,M_5,M_5,M_5,M_3,M_3,M_3DE M_1,M_1,M_2,M_2,M_2,M_2,M_
10、1,M_2,M_2,M_3,M_3,M_1,M_1,M_1,M_1DE L_6,L_6,L_6,L_5,L_5,M_1,M_1,M_1,M_1,M_1,M_1,M_0,M_0,M_0,M_0;* ORG 0x000 NOP ;空指令 GOTO MAIN ORG 0x004 ;中断入口 BANKSEL SAVEW MOVWF SAVEW SWAPF STATUS,W CLRF STATUS MOVWF SAVES ;中断保护 GOTO CCPINT ;*TABLE*TABLE1 ;取第一行的显示码TMR2 COUNT ADDWF PCL,1 ;地址偏移量加当前PC值 RETLW I ;T RET
11、LW n ;M RETLW n ;R RETLW o ;2 RETLW v ;空格 RETLW a ;空格 RETLW t ;C RETLW o ;O RETLW r ;U RETLW ;N RETLW ;T RETLW V ;N RETLW 1 ;T RETLW . ;N RETLW 5 ;T RETLW 00H;*TABLE1*TABLE ;取第二行显示TIME: ms ADDWF PCL,1 ;地址偏移量加当前PC值 RETLW H ;T RETLW e ;I RETLW l ;M RETLW l ;E RETLW o ;: RETLW ;空格 RETLW P ;空格 RETLW I ;
12、空格 RETLW C ;空格 RETLW ! ;空格 RETLW 00H;*TABLE2*TABLE2 ADDWF PCL,1 RETLW 30H ;0 RETLW 31H ;1 RETLW 32H ;2 RETLW 33H ;3 RETLW 34H ;4 RETLW 35H ;5 RETLW 36H ;6 RETLW 37H ;7 RETLW 38H ;8 RETLW 39H ;9;*主程序开始*MAIN CALL LCD_DISPAY BANKSEL TRISD ;选择体1 CLRF TRISD ;PORTD为输出端口 MOVLW 07H ; MOVWF OPTION_REG ;1:256
13、 BANKSEL T1CON CLRF COUNT5 MOVLW 30H ;分频器为1:8,关闭TMR1 MOVWF T1CON ; BCF PIR1,TMR1IF ;溢出标志位清零 CLRF TMR1H CLRF TMR1L MOVLW 0xEE ;设定TMR1低位初值 ADDWF TMR1L ; MOVLW 0x85 ;设定TMR1高位初值 ADDWF TMR1H ; BSF T1CON,0 ;启动TMR1 BANKSEL TRISC ;跳到体1 BCF TRISC,2 ;CCP1为输出状态 BANKSEL EEADR ;跳到体2 MOVLW youyi ;将地址存到W寄存器 MOVWF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 演奏 乐曲 试验
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2915696.html