您的位置:首页版主原创51示例程序
内容搜索: 标题内容作者
     
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

89C51“爱“心LED闪光程序

[日期:2008-03-05 ] [来源:东哥开发网(www.picavr.com) 作者:东哥] [字体: (投递新闻)

 

 
 

;********WAVE-E6000/T**************************
;*MCU:          AT89C51                       *
;*MCU-crystal:  6M                            *
;*Version:      00                            *
;*Last Updata:                                *
;*Author:       www.picavr.com                *
;*Description:  “爱“心LED闪光程序           *
;**********************************************              

             ORG   00H
             AJMP  MAIN
             ORG   000BH
             AJMP  WT0
;**************************************
             ORG   0030H
MAIN:        MOV   SP,#60H
             CLR   A
             MOV   30H,A
             MOV   31H,A
             MOV   32H,A
             MOV   33H,A
             MOV   TH0,#06H
             MOV   TL0,#06H
             MOV   TMOD,#02H
             MOV   IE,#00H
             SETB  EA
             SETB  TR0
             SETB  ET0
             MOV   40H,#06H
             MOV   B,#0FFH
;**************************************
START:       MOV   R0,B              ;P1.0---P1.7 left_move_single_DISP
             MOV   A,R0
             CLR   C  
             MOV   R2,#08H
LOOP:        RLC   A
             MOV   P1,A
             ACALL DL5S
             DJNZ  R2,LOOP
             MOV   P1,#0FFH
;**************************************
             MOV   R2,#05H           ;P3.0----P3.4 left_move_single_DISP
             MOV   A,R0
             CLR   C
LOOP1:       RLC   A
             MOV   P3,A
             ACALL DL5S
             DJNZ  R2,LOOP1
             MOV   P3,#0FFH
;**************************************
             MOV   R2,#02H
LOOP111:     MOV   P1,#00H           ;P1.0---P1.7 ON_heart_DISP
             MOV   P3,#11100000B     ;P3.0---P3.4 ON_heart_DISP
             ACALL DL5S
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             DJNZ  R2,LOOP111
;**************************************
             MOV   R2,#03H
LOOP21:      MOV   P0,#00H            ;P0.0--P0.7,P2.0--P2.7,P3.5--P3.7
             MOV   P2,#00H            ;ON_Live_DISP
             MOV   P3,#00011111B
             ACALL DL5S
             ACALL DL5S
             MOV   P0,B               ;*
             MOV   P2,B               ;*
             MOV   P3,B               ;*
             MOV   P1,B       
             ACALL DL5S
             DJNZ  R2,LOOP21
;**************************************
             MOV   19H,B         ;P1.0---P1.7 left_move_ALL_DISP
             MOV   R1,#08H
LOOP3:     
             MOV   A,19H
             CLR   C
             RLC   A
             MOV   19H,A
             MOV   P1,A
             ACALL DL5S
             DJNZ  R1,LOOP3

             MOV   20H,B
             MOV   R1,#08H       ;P3.0---P3.7 left_move_ALL_DISP
LOOP4:       MOV   A,20H
             CLR   C
             RLC   A
             MOV   20H,A
             MOV   P3,A
             ACALL DL5S
             DJNZ  R1,LOOP4

             MOV   21H,B
             MOV   R1,#08H       ;P2.0---P2.7 left_move_ALL_DISP
LOOP5:       MOV   A,21H
             CLR   C
             RLC   A
             MOV   21H,A
             MOV   P2,A
             ACALL DL5S
             DJNZ  R1,LOOP5

             MOV   22H,B
             MOV   R1,#08H       ;P0.0---P0.7 right_move_ALL_DISP
LOOP6:       MOV   A,22H
             CLR   C
             RRC   A
             MOV   22H,A
             MOV   P0,A
             ACALL DL5S
             DJNZ  R1,LOOP6

             MOV   P0,B              
             MOV   P2,B              
             MOV   P3,B              
             MOV   P1,B              
             ACALL DL5S
;**************************************
             MOV   R2,#02H
 LOOP61:     MOV   P0,#00H            ;P0.0--P0.7,P2.0--P2.7,P3.5--P3.7
             MOV   P2,#00H            ;ON_Live_DISP
             MOV   P3,#00011111B
             ACALL DL5S
             ACALL DL5S
             MOV   P0,B               ;*
             MOV   P2,B               ;*
             MOV   P3,B               ;*
             MOV   P1,B       
             ACALL DL5S
             DJNZ  R2,LOOP61
;**************************************
             MOV   R2,#02H
LOOP62:      MOV   P1,#00H            ;P1.0--P1.7,P3.0--P3.4,ON_heart_DISP
             MOV   P3,#11100000B      ;*
             ACALL DL5S
             ACALL DL5S
             MOV   P0,B               ;*
             MOV   P2,B               ;*
             MOV   P3,B               ;*
             MOV   P1,B               ;*
             ACALL DL5S
             DJNZ  R2,LOOP62
      
;************************************** 
             MOV   P0,#00H           ;P0,P1,P2,P3,ALL_ON_DISP
             MOV   P1,#00H           
             MOV   P2,#00H           
             MOV   P3,#00H          
             ACALL DL5S              
             MOV   P0,B              ;P0,P1,P2,P3,ALL_OFF_DISP
             MOV   P1,B
             MOV   P2,B
             MOV   P3,B
             ACALL DL5S
             MOV   P0,#00H           ;P0,P1,P2,P3,ALL_ON_DISP
             MOV   P1,#00H
             MOV   P2,#00H
             MOV   P3,#00H
             ACALL DL5S
             ACALL DL5S
;*************************************
            
             MOV   23H,#00H         ;P1.0---P1.7 left_move_OFF_DISP
             MOV   R1,#08H
LOOP7:     
             MOV   A,23H
             SETB  C
             RLC   A
             MOV   23H,A
             MOV   P1,A
             ACALL DL5S
             DJNZ  R1,LOOP7

             MOV   24H,#00H
             MOV   R1,#08H           ;P3.0---P3.7 left_move_OFF_DISP
LOOP8:       MOV   A,24H
             SETB  C
             RLC   A
             MOV   24H,A
             MOV   P3,A
             ACALL DL5S
             DJNZ  R1,LOOP8

             MOV   25H,#00H
             MOV   R1,#08H           ;P2.0---P2.7 left_move_OFF_DISP
LOOP9:       MOV   A,25H
             SETB  C
             RLC   A
             MOV   25H,A
             MOV   P2,A
             ACALL DL5S
             DJNZ  R1,LOOP9
            
             MOV   26H,#00H
             MOV   R1,#08H           ;P0.0---P0.7 right_move_OFF_DISP
LOOP10:      MOV   A,26H
             SETB  C
             RRC   A
             MOV   26H,A
             MOV   P0,A
             ACALL DL5S
             DJNZ  R1,LOOP10

             MOV   P0,B            
             MOV   P2,B              
             MOV   P3,B              
             MOV   P1,B       
             ACALL DL5S
;***************************************
             MOV   R2,#03H
LOOP11:      MOV   P1,#10000000B             ;heart_Half_DISP
             ACALL DL5S
             MOV   P1,B
             MOV   P1,#01111111B
             MOV   P3,#11100000B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             DJNZ  R2,LOOP11
;***************************************
             MOV   R2,#05H
LOOP12:      MOV   P1,#11111011B             ;heart_space_disp
             MOV   P3,#11111101B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             MOV   P3,#11110111B
             MOV   P1,#11011111B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             DJNZ  R2,LOOP12
;***************************************
             MOV   R2,#04H                  ;heart_space_disp
LOOP13:      MOV   P1,#01101101B
             ACALL DL5S
             MOV   P1,B
             ACALL DL5S
             MOV   P1,#01111111B
             MOV   P3,#11101101B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             DJNZ  R2,LOOP13
;***************************************
             MOV   R2,#02H                 ;heart_up_disp
 LOOP14:     MOV   P1,#11110000B
             MOV   P3,#11100011B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             MOV   P1,#00001111B           ;heart_down_disp
             MOV   P3,#11111100B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             ACALL DL5S
             DJNZ  R2,LOOP14
;***************************************
       
             LJMP  START

;***************************************
WT0:         PUSH  ACC               
             PUSH  PSW
             INC   30H
             MOV   A,30H
             CJNE  A,#0C8H,TORETI     ;0.5ms*100=100ms
             MOV   30H,#00H
             INC   31H
             MOV   A,31H
             CJNE  A,#10,TORETI       ;100ms*10=1s
             MOV   31H,#00H
             INC   32H
             MOV   A,32H
             CJNE  A,#60,TORETI       ;1s*60=1 minute
             MOV   32H,#00H
             INC   33H
             MOV   A,33H
             CJNE  A,#1,TORETI
             MOV   33H,#00H
             DEC   40H
             MOV   A,40H
             CJNE  A,#00H,TORETI
             MOV   40H,#06H
TORETI:      POP   PSW
             POP   ACC
             RETI


;**********************************************************************
Live:        MOV   P0,#00H            ;P0.0--P0.7,P2.0--P2.7,P3.5--P3.7             MOV   P2,#00H
             MOV   P3,#00011111B      ;Live_DISP
             ACALL DL5S
             ACALL DL5S
             MOV   P0,B               ;*
             MOV   P2,B               ;*
             MOV   P3,B               ;*
             MOV   P1,B       
             ACALL DL5S
             MOV   P0,#00H
             MOV   P2,#00H
             MOV   P3,#00011111B
             ACALL DL5S
             ACALL DL5S
             MOV   P0,B               ;*
             MOV   P2,B               ;*
             MOV   P3,B               ;*
             MOV   P1,B       
             ACALL DL5S
             RET
;***************************************
ON_LED:      MOV   P0,#00H            ;*ON_ALL_DISP
             MOV   P1,#00H            ;*
             MOV   P2,#00H            ;*
             MOV   P3,#00H            ;*
             RET                      ;*
;***************************************  
OFF_LED:     MOV   P0,B               ;*OFF_ALL_DISP
             MOV   P2,B               ;*
             MOV   P3,B               ;*
             MOV   P1,B               ;*
             RET                      ;*
;**************************************
heart:       MOV   P1,#00H            ;*P1.0--P1.7,P3.0--P3.4,ON_heart_DISP
             MOV   P3,#11100000B      ;*
             ACALL DL5S
             ACALL OFF_LED
             ACALL DL5S
             MOV   P1,#00H
             MOV   P3,#11100000B
             ACALL DL5S
             MOV   P1,B
             MOV   P3,B
             MOV   P2,B
             MOV   P0,B
             ACALL DL5S
             ACALL DL5S               ;*
             RET                      ;*
;**************************************
DL5S:        MOV   R6,40H             ;delay program
DL1:         MOV   R5,#200
DL2:         MOV   R4,#125
DL3:         DJNZ  R4,$
             DJNZ  R5,DL2
             DJNZ  R6,DL1
             RET
             END

HEX烧录文件下载:


temp_08031723225894.rar

 

12下一页  GO
阅读:
录入:东哥

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
赞助商广告