p36音变程序.asm

来自「一个有源蜂鸣器的变音程序」· 汇编 代码 · 共 60 行

ASM
60
字号
;/*********************************************
; example program for 51 download board
;  @11.0592MHz
; 
; www.mcufan.com

;;音变程序:MCS-51单片机的P3.6输出驱动蜂鸣器变声,低电平有效(发声)
;*********************************************/
;音变程序:MCS-51单片机的P3.6输出驱动蜂鸣器变声,低电平有效(发声)

	ORG 0h
	
	LJMP LBY	


;音变程序,P3.6放音。
        ORG     0600H		;音变程序,
LBY:  MOV     P2,#0FFH	;关P2口LED灯
        MOV     20H,#0F0H	;循次环数
        MOV     21H,#15H	;循次环数 
L3609:  LCALL   S361A		;调用变音子程序
        DJNZ    21H,L3609	;不为0转
L360F:  INC     21H		;音调升高
        NOP     
        LCALL   S361A		;调用变音子程序
        DJNZ    21H,L360F	; 不为0转
        SJMP    LBY		;从头开始
        
        
S361A:  SETB    P3.6		;变音子程序P3.6灯亮
        LCALL   S3640		;调用延时子程序
        CLR     P3.6		;变音子程序2.0灯灭
        LCALL   S3640		;调用延时子程序 
        DJNZ    20H,S361A	;不为0转
        CLR     P3.6		;关P3.6
        LCALL   S3646		;延时
        RET 
        
            
        ORG     0630H		;延时子程序
S3630:  PUSH    02H
L3632:  DJNZ    R2,$
        POP     02H
        DJNZ    R2,S3630
        RET  
        
           
        ORG     0640H		;延时子程序
S3640:  MOV     R2,21H
        LCALL   S3630
        RET  
        
           
S3646:  MOV     R2,#15H		;延时子程序
        LCALL   S3630
        RET     
        END
 

⌨️ 快捷键说明

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