您的位置:首页技术文栏LED应用
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

口变速移位音响T

[日期:2007-12-28 ] [来源:sl 作者:] [字体: (投递新闻)

;MOVG.ASM  P0-P3口LED灯亮移位和音变程序 
        ORG     0000H
        LJMP    L3600
        ORG     0360H           ;程序,MCS-51单片机的 P20输出音变声
L3600:  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转
        MOV     P2,#0FFH
        MOV     P3,#0FFH
        LJMP    SLOK            ;转P0-P3口LED灯亮移位程序
S361A:  SETB    P2.0            ;变音子程序P20灯亮
        LCALL   S3640           ;调用延时子程序
        CLR     P2.0            ;变音子程序P20灯灭
        LCALL   S3640           ;调用延时子程序
        DJNZ    20H,S361A       ;不为0转
        CLR     P2.0            ;关P2.0
        LCALL   S3646           ;延时
        RET    
        ORG     03A0H           ;延时子程序
S3630:  PUSH    02H
L3632:  DJNZ    R2,$
        POP     02H
        DJNZ    R2,S3630
        RET    
        ORG     03B0H           ;延时子程序
S3640:  MOV     R2,21H
        LCALL   S3630
        RET    
S3646:  MOV     R2,#15H          ;延时子程序
        LCALL   S3630
        RET    
        ORG 0400H                ;P0、P1、P2、P3口的位移位LED灯亮程序
   SLOK:MOV SP,#60H              ;设堆栈指针
        MOV R7,#30H              ;送延时常数
    L0: CLR C                    ;进位位清零
        MOV A,#0FFH              ;设口为低电平时LED灯亮,高电平LED不亮,
                                 ;即硬件灌电流设计,减小CPU功耗
    L1: RLC A                    ;移位后,A为FEH
        MOV P0,A                 ;即P0.0口LED灯亮
        ACALL DELAY              ;延时
        CJNE A,#0FFH,L1          ;P0.7位LED灯亮则顺序执行,不然返回
    L2: RRC A                    ;P2口灯亮移位
        MOV P2,A
        ACALL DELAY
        CJNE A,#0FFH,L2
    L3: RRC A                    ;P3口灯亮移位
        MOV P3,A
        ACALL DELAY
        CJNE A,#0FFH,L3
    L4: RRC A                    ;P1口灯亮移位
        MOV P1,A
        ACALL DELAY
        CJNE A,#0FFH,L4
        INC R7
        CJNE R7,#35H,L0  ;循环移位次数到吗?不到继续移位,到,则返回音变程序
    L5: LJMP L3600


 DELAY: PUSH 07H         ;延时子程序
   LED: PUSH 07H
   LEF: PUSH 07H
        DJNZ R7,$
        POP 07H
        DJNZ R7,LEF
        POP 07H
        DJNZ R7,LED
        POP 07H
        RET
        END

 

阅读:
录入:admin

推荐 】 【 打印
上一篇:广告灯程序
下一篇:AT89C51_报警声程序
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐