中国信息大学设计(论文)说明书 第 11 页 共 14 页
MOV R3,P2
CJNE R3,#0FFH,KEY1 CLR TR0 SJMP START
MOV @R1,#0C1H INC R0 INC R1
LJMP SET_TIMER
;按键
KEY4: 4 ,P2.3
;按键
KEY1: CJNE R3,#0F7H,KEY5 1 ,P2.0 CJNE R3,#0FEH,KEY2 MOV 30H,#0FBH
MOV 31H,#0E9H MOV @R0,#0FBH
阶存放到R0,R1对应的地址中 MOV @R1,#0E9H INC R0 INC R1
LJMP SET_TIMER
KEY2:
; ,P2.1
CJNE R3,#0FDH,KEY3 MOV 30H,#0FCH MOV 31H,#5CH MOV @R0,#0FCH MOV @R1,#5CH INC R0 INC R1
LJMP SET_TIMER
KEY3:
,P2.2
CJNE R3,#0FBH,KEY4 MOV 30H,#0FCH MOV 31H,#0C1H
MOV @R0,#0FCH
将音
按键2
按键3
MOV 30H,#0FCH MOV 31H,#0EFH
MOV @R0,#0FCH MOV @R1,#0EFH INC R0 INC R1
LJMP SET_TIMER
KEY5:
5 ,P2.4 CJNE R3,#0EFH,KEY6 MOV 30H,#0FDH MOV 31H,#045H MOV @R0,#0FDH MOV @R1,#045H INC R0 INC R1
LJMP SET_TIMER
KEY6:
,P2.5
CJNE R3,#0DFH,KEY7 MOV 30H,#0FDH MOV 31H,#92H MOV @R0,#0FDH MOV @R1,#92H
INC R0
;按键
按键6
11
;
;
; 中国信息大学设计(论文)说明书 第 12 页 共 14 页
INC R1
LJMP SET_TIMER
;按键7
CLR P1.1 numtim equ 20h gewei equ 21h KEY7:
,P2.6
CJNE R3,#0BFH,KEY8 MOV 30H,#0FDH MOV 31H,#0D6H MOV @R0,#0FDH MOV @R1,#0D6H INC R0 INC R1
LJMP SET_TIMER
KEY8:
8,P2.7,用来进入音乐自动播放乐》 CJNE R3,#7FH,NOKEY
LCALL YYBF
调用音乐自动播放程序
LJMP SET_TIMER
SET_TIMER:
SETB TR0 LJMP START NOKEY:
CLR TR0 LJMP START
INT_T0:
MOV TH0,30H MOV TL0,31H CPL P1.0 RETI
YYBF:
按键
;
shiwei equ 22h scanled equ 23h org 1000h jmp YYstart org 001bh jmp tim0 org 1100h
YYstart: mov tmod,#00010000b setb ea setb et1 mov numtim,#01h mov r6,#2h
YYstart0:mov 40h,#00h
next: mov a,40h mov dptr,#table movc a,@a+dptr mov r2,a jz end0 anl a,#0fh mov r5,a mov a,r2 swap a anl a,#0fh jnz sing clr tr1 jmp d1 sing: dec a mov 22h,a rl a
mov dptr,#table1
;
12
《生日快
中国信息大学设计(论文)说明书 第 13 页 共 14 页
movc a,@a+dptr mov th1,a ret
table1: mov 21h,a mov a,22h rl a inc a
movc a,@a+dptr mov tl1,a mov 20h,a setb tr1 d1:lcall delay inc 40h jmp next end0:clr tr1
djnz r6, YYstart0
jmp main tim0:push acc push psw mov tl1,20h mov th1,21h
cpl p1.0 ;频率输出口P1.0
pop psw pop acc reti
delay: mov r7,#02h d2: mov r4,#180 d3: mov r3,#248 djnz r3,$ djnz r4,d3 djnz r7,d2 djnz r5,delay
声音 dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217 table:db 82h,01h,81h,94h,84h db 0b4h,0a4h,04h db 82h,01h,81h,94h,84h db 0c4h,0b4h,04h
db 82h,01h,81h,0f4h,0d4h db 0b4h,0a4h,94h
db 0e2h,01h,0e1h,0d4h,0b4h db 0c4h,0b4h,04h db 00 LYBF1: MOV 30H,@R0 MOV 31H,@R1 INC R0 INC R1 CLR P0.0
;调试用
SETB TR0 LCALL DELAY1 CLR TR0 LJMP LYBF1 RET
DELAY1: MOV R4,#25 LOOP1:
MOV R5,#248
DJNZ R5,$
13
中国信息大学设计(论文)说明书 第 14 页 共 14 页
DJNZ R4,LOOP1 RET
END
14