MCU 버저 c 언어 "Orchid Grass" 음악 코드
프로그램명 : MCS51U 실험보드 지원 프로그램 - 노래 : Orchid Grass
회로 소개 : 부저가 P2.0에 연결되어 있어야 실험이 진행됩니다.
;************************************************ *** ***********************
OUT BIT P2.0
ORG 0
AJMP 시작
ORG 0BH
AJMP TIM0
START: MOV TMOD,#1
MOV IE,#10000010B
START0: MOV 30H,#0
다음: MOV A,30H
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 TR0
AJMP D1
노래: DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE1 p>
MOVC A,@A+DPTR
MOV TH0,A
MOV 21H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
SETB TR0
D1: 통화 지연
INC 30H
AJMP NEXT
END0: CLR TR0 p>
AJMP START0
TIM0: PUSH ACC
PUSH PSW
MOV TL0,20H
MOV TH0,21H
CPL 출력
PSW 팝업
POP ACC
RETI
지연: MOV R7,#2
D2: MOV R4,#125
D3: MOV R3, #248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
DJNZ R5,DELAY
RET
;=================================== p>
표 1: DW 64021,64103,64260,64400
DW 64524,64580,64684,64777
DW 64820,64898,64968,65030
DW 64934
표: ;1
DB 42H,82H,82H,82H,84H,02H,72H
DB 62H,72H,62H, 52H,48H
DB 0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2H
;2
DB 12H,0A2H,0D2H,92H,88H
DB 82H,0B2H,0B2H,0A2H,84H,02H,72H
DB 62H,72H,62H,52H,44H,02H,12H
; 3
DB 12H, 62H, 62H, 52H, 44H, 02H, 82H
DB 72H, 62H, 52H, 32H, 48H
DB 00H
피> 피>종료