基于51单片机的简易电子琴设计内容摘要:

PTR MOV TL1,A ;音律表查询值低八位赋值 ACALL DLAY AJMP KEYPRO ;跳转回键盘扫描程序 TINT1: JB , FLUTE_ON ;判断是否 跳到长笛音色档 JB , PIANO_ON ;判断是否调到钢琴音色档 JB , TRUMPET_ON ;判断是否调到小号音色档 JB , VIOLIN_ON ;判断是否跳到小提琴音色档 JB , PICCOLO_ON ;判断是否跳到短笛音色档 FLUTE_ON: ;若是长笛音色档,则控制 口电压变化 CPL POP DPH POP DPL PUSH DPL PUSH DPH RETI PIANO_ON: ;若是钢琴琴音色档,则控制 口电压变化 CPL 21 POP DPH POP DPL PUSH DPL PUSH DPH RETI TRUMPET_ON: ;若是小号音色档,则控制 口电压变化 CPL POP DPH POP DPL PUSH DPL PUSH DPH RETI VIOLIN_ON: ;若是小提琴音色档,则控制 口电 压变化 CPL POP DPH POP DPL PUSH DPL PUSH DPH RETI PICCOLO_ON: ;若是短笛音色档,则控制 口电压变化 CPL POP DPH POP DPL PUSH DPL PUSH DPH RETI DLAY: MOV R2, 0F0H ;延时程序 DL2: MOV R3,0F0H DL1: NOP NOP DJNZ R3, DL1 DJNZ R2, DL2 RET TABLE1: ;音律表 DW 0F88BH ; 1 DW 0F95BH ; 2 DW 0FA14H ; 3 DW 0FA67H ; 4 DW 0FB07H ; 5 22 DW 0FB8FH ; 6 DW 0FB9EH ; 6 DW 0FC0BH ; 7 DW 0FC43H ; 1 DW 0FCACH ; 2 DW 0FD09H ; 3 DW 0FD33H ; 4 DW 0FD83H ; 5 DW 0FDC7H ; 6 DW 0FDE7H ; 6 DW 0FE05H ; 7 DW 0FE22H ; +1 DW 0FE56H ; +2 DW 0FE84H ; +3 DW 0FE9AH ; +4 DW 0FEC1H ; +5 DW 0FEE3H ; +6 DW 0FEF3H ; +6 DW 0FF02H ; +7 ORG 0F00H SUB_SONG: ;自动播放歌曲的子程序 1 EQU 0H。 低音域简谱码 2 EQU 1H 3 EQU 2H 4 EQU 3H 5 EQU 4H 6 EQU 5H 6 EQU 6H 7 EQU 7H 1 EQU 8H ;中音域简谱码 2 EQU 9H 3 EQU 0AH 4 EQU 0BH 5 EQU 0CH 6 EQU 0DH 6 EQU 0EH 7 EQU 0FH 23 +1 EQU 10H ;高音域简谱码 +2 EQU 11H +3 EQU 12H +4 EQU 13H +5 EQU 14H +6 EQU 15H +6 EQU 16H +7 EQU 17H FREQ_TEMP .EQU 31H TIME_TEMP .EQU 32H TH0_TEMP .EQU 33H TL0_TEMP .EQU 34H ORG 00H ;播放乐曲子程序的主程序 JMP START ORG OBH JMP TIMER0 START: MOV SP, 50H MOV IE, 10000010B ;中断, EA=ET0=1 MOV TMOD, 00000001B。 设定计数器 0 为 mode1 BEGIN: MOV A, 00H MOVC A,@A+DPTR ;取得简谱码 MOV FREQ_TEMP,A INC DPTR ;指向下一个地址 MOV A, 00H MOVC A, @A+DPTR ;取得节拍码 MOV TIME_TEMP, A JZ STOP ;比较唱歌是否结 束 PUSH DPH PUSH DPL MOV A,FREQ_TEMP CJNE A, FFH, SING_SONG ;比较是否停止发音 CLR TR0 ;停止计时 JMP HOLD SING_SONG: 24 CLR TR0 ;停止计时 MOV DPTR, TABLE ;频率值存放开始地址 MOV A, FREQ_TEMP ; RL A ; FREQ_TEMP 地址乘以 2 MOVC A, @A+DPTR ;取得频率值高位组 MOV TH0,A ; TH0=频率值高位组 MOV TH0_TEMP, A MOV A, FREQ_TEMP RL A ; FRE。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。