毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

电子琴设计及流程图 第3页

更新时间:2010-2-14:  来源:毕业论文
电子琴设计及流程图 第3页
电子混响器组成框图如下图所示。接入系统方式:单片机P1.0口→音色产生器电路→电子混响器电路→Speaker放大电路。
 电子混响器组成框图

其中集成电路BBD称为模拟延时器,其内部有由场效应管构成的多级电子开关和高精度存储器。在外加时钟脉冲作用下,这些电子开关不断地接通和断开,对输入信号进行取样、保持并向后级传递,从而使BBD的输出信号相对于输入信号延迟了一段时间。BBD的级数越多,时钟脉冲的频率越高,延迟时间越长。BBD配有专用时钟电路,如MN3102时钟电路与MN3200系列的BBD配套。电子混响器的电路如上图所示,其中两级二阶低通滤波器(MFB)A1、A2滤去4kHz(语音)以上的高频成分,反相器A3用于隔离混响器的输出和输入级间的相互影响。RP1调节混响器的输入电压,RP2调节MN3207的平衡输出以减小失真,RP3调节时钟频率,RP4控制混响器的输出电压。图中MN3207和MN3102各引脚的电压如下表所示:
 
 MN3207和MN3102各引脚电压
引脚 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧
MN3207的电压/V 0.0 3.2 0.0 5.6 6.0 3.2 2.6 2.6
MN3102的电压/V 6.0 3.2 0.0 3.2 3.2 3.2 2.8 5.6
四 音乐产生原理
由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T= 216--5﹡105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:
音符 频率(HZ) 简谱码(T值) 音符    频率(HZ) 简谱码(T值)
低1DO 262 63628 # 4 FA# 740 64860
#1 DO# 277 63731 中 5 SO 784 64898
低2 RE 294 63835 # 5 SO# 831 64934
# 2 RE# 311 63928 中 6 LA 880 64968
低 3 ME 330 64021 #  6 932 64994
低 4 FA 349 64103 中 7 SI 988 65030
#  4 FA# 370 64185 高1 DO 1046 65058
低 5 SO 392 64260 # 1 DO# 1109 65085
#  5 SO# 415 64331 高 2 RE 1175 65110
低 6 LA 440 64400 # 2 RE# 1245 65134
#    6 466 64463 高3 ME 1318 65157
低 7 SI 494 64524 高 4 FA 1397 65178
中 1 DO 523 64580 #4 FA# 1480 65198
# 1 DO# 554 64633 高 5 SO 1568 65217
中 2 RE 587 64684 #5 SO# 1661 65235
#  2 RE# 622 64732 高 6 LA      1760 65252
中 3 ME 659 64777 # 6 1865 65268
中 4 FA 698 64820 高 7 SI       1967 65283
采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:
下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据,低音0-19之间,中音在20-39之间,高音在40-59之间
TABLE:DW 0,63628,63835,64021,64103,64260,64400,64524,0,0
        DW:0, 63731,63928,0,64185,64331,64463,0,0,0
        DW:0,64580,64684,64777,64820,64898,64968,65030,0,0
        DW:0,64633,64732,0,64860,64934,64994,0,0,0
        DW:0,65058,65110,65157,65178,65217,65252,65283,0,0
        DW:0,65085,65134,0,65198,65235,65268,0,0,0
        DW:0
 音乐的节拍,一个节拍为单位(C调)
 曲调值             DELAY            曲调值             DELAY      
 调4/4              125ms             调4/4              62ms
调4/4              187ms             调4/4              94ms
调4/4              250ms             调4/4              125ms
五  流程图
流程图如下图所示:              
 
优 电子琴程序设计

1:产生按键音符
 方案(1)
 ORG 0000H
        LJMP MAIN
        ORG 000BH
        LJMP BREAK
MAIN:  MOV TMOD,#01H          ;设置定时器0的工作方式
        SETB EA
       SETB ET0               ; 设置定时器0中断
       SETB TR0               ; 启动定时器0
POS1: LCALL KEY            ; 调用KEY子程序,判断有键按下否?第几个键?
       CLR EA                 ;屏蔽中断
       CJNE R3,#00H,POS1      ;如果R3=0,表示有键按下
       MOV A,22H              ;将22H里存放的按键号送给A
       RL A                   ; 因为查表里都是字,所以得乘2查得数据
       MOV DPTR,#TABLE        ;指向表头
       MOVC A,@A+DPTR         ; 查表
       MOV TH0,A              ;将数据高位送TH0
       MOV 21H,A              ; 将高位备份
       MOV A,22H              ;将22H里存放的按键号送给A
       RL A                   ;因为查表里都是字,所以得乘2查得数据
       INC A                  ;取低位数据
       MOVC A,@A+DPTR
       MOV TL0,A
       MOV 20H,A
POS2: LCALL KEY
       SETB EA
       CJNE R3,#00H,POS1
       JMP POS2
KEY:   MOV R3,#00H           ; KEY子程序,判断有键按下否?第几个键?
       MOV R1,#0FFH
       MOV R0,#00H
       MOV A,R1
       MOV P2,A
       MOV A,P2
       CLR C
       CPL C                ;利用标志位CY来判断是哪个键按下
       MOV R2,#08H
POS3: RLC A                 ;移位判断
       JNC STORE
       INC R0      
       DJNZ R2,POS3
STORE: MOV 22H,R0         ; 将按键号存22H,R3=0有键按下
       MOV R3,#00H
       RET
BREAK: PUSH ACC           ;  中断产生方波,从P1.0口输出
       PUSH PSW
       MOV TL0,20H
       MOV TH0,21H
       CPL P1.0
       POP PSW
       POP ACC
       RETI
TABLE: DW 65030,64968,64898,64820,64777,64684,64580 ; 7,6,5,4,3,2,1
       END
方案(2):
       ORG 0000H
       SJMP START
       ORG 000BH
       AJMP INT_0
       ORG 0030H
START: MOV P1,#00H
       SETB EA
       SETB ET0                     ;计数器0
       MOV TMOD,#02H
       MOV TH1,#09CH
       MOV TL1,#09CH               ;定时器初值
       CLR TR0                     ;定时器不允许
BLOCK:                                 ;键盘扫描
       MOV A,P2                     ;判断键盘按下,跳到BLOCK_1,若未按,继续扫描
       CJNE A,#0FFH,BLOCK_1
       NOP
       SJMP BLOCK
BLOCK_1:ACALL DELAY                ;是不是真的要按下?如果是,则跳转SU_KEY查询是哪个按下?
       MOV A,P2
       CJNE A,#0FFH,SU_KEY
       NOP
       SJMP BLOCK
SU_KEY:JNB P2.1,LOOP_1              ;判断是哪个键按下?
       JNB P2.2,LOOP_2
       JNB P2.3,LOOP_3
       JNB P2.4,LOOP_4
       JNB P2.5,LOOP_5

上一页  [1] [2] [3] [4] [5] 下一页

电子琴设计及流程图 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。