chaxundingshi.txt
来自「基于KEIL-C的开发环境」· 文本 代码 · 共 65 行
TXT
65 行
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN:
CLR A
MOV R6,A ;定义循环变量,播放多少个音符
MOV TMOD,#1H
LOOP1:
CJNE R6,#5,GET
LJMP MAIN
GET:
MOV A,R6
MOV DPTR,#MUSL
MOVC A,@A+DPTR
MOV 30H,A;取延时拍数,存放于30H
MOV A,R6
ADD A,R6
MOV DPTR,#MUSF
MOVC A,@A+DPTR
MOV 31H,A;取乐曲频率(半周期延时),存放于31H
CLR C
MOV A,#0FFH
SUBB A,31H
MOV 31H,A
MOV A,R6
ADD A,R6
ADD A,#1
MOVC A,@A+DPTR
MOV 32H,A
CLR C
MOV A,#0FFH
SUBB A,32H
MOV 32H,A
INC R6
DELAY:
MOV R1,#2;决定播放速度
LOOP3:
MOV TH0,31H
MOV TL0,32H
SETB TR0
LOOP4:
JBC TF0,LOOP5
LJMP LOOP4
LOOP5:
CPL P1.0
DJNZ 30H,LOOP3
DJNZ R1,LOOP3
LJMP LOOP1
;MUSL:DB 144,144,144,144,144,144,255,144,72,144,144,144,255
;MUSF:DW 758,638,758,852,758,852,758,758,852,284,956,758,426
MUSL:DB 72,144,144,144,255
MUSF:DW 1516,1276,956,1
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?