⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 play.asm

📁 51系列单片机的汇编程序包
💻 ASM
字号:
;============== 语音控制:放音 ====================
PlayCode equ  40h

        org   0000h

        mov   sp,#60h
        mov   r7,#00h

        acall zh_play
        acall Play
        mov   r2,#30h
        acall DelayP

        sjmp  $

Play:   mov   dptr,#8e18h
        mov   a,#0ffh
        movx  @dptr,a           ;Stop Record/Play
        mov   r2,#1Eh           ;#0FH
        acall DelayP            ;20ms
        mov   a,PlayCode
        movx  @dptr,a           ;pe=1
        mov   r2,#1Eh
        acall DelayP            ;0.5s
        anl   a,#0bfh
        movx  @dptr,a           ;pe=0
        acall d500ms            ;play time
        acall d500ms
        acall d500ms
        mov   a,#0ffh
        movx  @dptr,a           ;Stop Record/Play
        ret

zh_play:mov   a,r7              ;r7 is segment address:0,1,2,....
        subb  a,#14h
        jnc   zh1
        mov   a,r7
        sjmp  zh2
zh1:    mov   a,#0
zh2:    rl    a
        mov   dptr,#Tab_Play
        movc  a,@a+dptr
        mov   PlayCode,a
        ret

DelayP: push  02h
Loop1:  push  02h
Loop0:  push  02h
        djnz  r2,$
        pop   02h
        djnz  r2,Loop0
        pop   02h
        djnz  r2,Loop1
        pop   02h
        djnz  r2,DelayP
        ret
d500ms: mov   r5,#0AH             ;#5
dl1:    acall d100ms
        djnz  r5,dl1
        ret

d100ms: mov   r6,#0C8H            ;#64h
dl2:    mov   r4,#0ffh
dl3:    djnz  r4,dl3
        djnz  r6,dl2
        ret

Tab_Play:db 0c0h,0c1h,0c2h,0c3h,0c4h,0c5h,0c6h,0c7h
         db 0c8h,0c9h,0cah,0cbh,0cch,0cdh,0ceh,0cfh
         db 0d0h,0d1h,0d2h,0d3h,0d4h,0d5h,0d6h,0d7h
         db 0d8h,0d9h,0dah,0dbh,0dch,0ddh,0deh,0dfh
         db 0e0h,0e1h,0e2h,0e3h,0e4h,0e5h,0e6h,0e7h

        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -