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

📄 music.asm

📁 51单片机基础篇 对于有一定基础的人看看 包含书中所以的源代码
💻 ASM
字号:
TEMP_LOW        EQU     30H
TEMP_HIGH       EQU     31H
                ORG     00H
                JMP     START
                ORG     0BH
                JMP     TIMER0_INT
                ORG     50H
START:
                MOV     TMOD,#00000001B ;SET TIMER0 MODE1
                MOV     IE,#10000010B   ;ENABLE TIMER0 INTERRUPT
MAIN:
                MOV     R3,#8
                MOV     DPTR,#TONE_TABLE
SOUND_LOOP:
                MOV     A,#0            ;GET HIGH BYTE
                MOVC    A,@A+DPTR
                MOV     TH0,A
                MOV     TEMP_HIGH,A
                INC     DPTR            ;DET LOW BYTE
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     TL0,A
                MOV     TEMP_LOW,A
                INC     DPTR
                SETB    TR0             ;START TIMER0
                MOV     R5,#25          ;DELAY 0.5s
                CALL    DELAY
                DJNZ    R3,SOUND_LOOP
                JMP     MAIN
;*****************************************************
DELAY:
                MOV     R6,#f0H
                DJNZ    R6,$
                DJNZ    R5,DELAY
                RET
;*****************************************************
TIMER0_INT:
                PUSH    ACC
                PUSH    PSW
                MOV     TL0,TEMP_LOW
                MOV     TH0,TEMP_HIGH
                CPL     P1.0
                POP     PSW
                POP     ACC
                RETI
;******************************************************
TONE_TABLE
;12MHz/12/2=500000
                DW      65536-385        ;Do
                DW      65536-485        ;Ra
                DW      65536-585        ;Mi
                DW      65536-685        ;Fa
                DW      65536-785        ;So
                DW      65536-880        ;La
                DW      65536-998        ;Ti
                DW      65536-1047       ;Do
                END

⌨️ 快捷键说明

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