您的位置:首页版主原创单片机程序
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

LED闪灯程序89C51(测试OK)

[日期:2008-01-08 ] [来源:www.picavr.com 作者:本站原创] [字体: (投递新闻)
LED闪灯程序89C51

 ;********WAVE-E6000/T**************************
;*MCU:          AT89C51                       *
;*MCU-crystal:  6M                            *
;*Version:      00                            *
;*Last Updata:                                *
;*Author:       www.picavr.com                *
;*Description:  LED 闪灯程序                  *
;**********************************************       
            ORG 0000H        ;
            AJMP MAIN        ;到主程序
            ORG 000BH        ;    
            AJMP QI          ;到定时器中断0
            ORG 0030H        ;
;**********************************************
    MAIN:   MOV 21H,#00H     ;清通用寄存器
            MOV 22H,#00H     ;
            MOV 23H,#00H     ;
            MOV 24H,#00H     ;
            MOV 25H,#00H     ;
            MOV 26H,#00H     ;
            CLR 00H          ;清位标志
            CLR 01H          ;
            CLR 02H          ;
            CLR 03H          ;
            MOV TL0,#06H     ;定时器设置为250uS中断一次
            MOV TH0,#06H     ;
            MOV TMOD,#02H    ;设置定时器为方式2
            MOV SP,#60H      ;
            SETB EA          ;开总中断
            SETB ET0         ;开定时器中断0
            SETB TR0         ;定时器启动开始计数
;*********************************************
    L1:     JNB 00H,L2       ;
            CLR 00H
            ACALL LED1

    L2:     JNB 01H,L3       ;
            CLR 01H
            ACALL LED2

    L3:     JNB 02H,L4       ;
            CLR 02H
            ACALL LED2
 
    L4:     JNB 03H,L2       ;
            CLR 03H
            ACALL LED3      
            SJMP L1          ;
;********************************************
    QI:     PUSH ACC           ;入栈保护现场
            PUSH PSW
            INC 21H
            MOV A,21H
            CJNE A,#200,TORETI ;
            MOV 21H,#0
            INC 22H
            MOV A,22H
            CJNE A,#5,TORETI   ;
            MOV 22H,#0
            INC 23H
            MOV A,23H
            CJNE A,#5,TORETI   ;
            MOV 23H,#0
            SETB 00H

            INC 24H
            MOV A,24H
            CJNE A,#2,TORETI
            MOV 24H,#0
            SETB 01H
            INC 25H
            MOV A,25H
            CJNE A,#2,TORETI
            MOV 25H,#0
            SETB 02H

            INC 26H
            MOV A,26H
            CJNE A,#2,TORETI
            MOV 26H,#0
            SETB 03H

  TORETI:   POP PSW        ;出栈
            POP ACC
            RETI
;***********************************
  LED1:     MOV P1,#01111111B
            ACALL DELAY
            MOV P1,#10111111B
            ACALL DELAY
            MOV P1,#11011111B
            ACALL DELAY
            MOV P1,#11101111B
            ACALL DELAY
            MOV P1,#11110111B
            ACALL DELAY
            MOV P1,#11111011B
            ACALL DELAY
            MOV P1,#11111101B
            ACALL DELAY
            MOV P1,#11111110B
            ACALL DELAY
            MOV P1,#0FFH
            ACALL DELAY
            ACALL DELAY
            MOV P1,#11100111B
            ACALL DELAY
            MOV P1,#01111110B
            ACALL DELAY
            MOV P1,#00H
            ACALL DELAY
            MOV P1,#11111110B
            ACALL DELAY
            MOV P1,#11111101B
            ACALL DELAY
            MOV P1,#11111011B
            ACALL DELAY
            MOV P1,#11110111B
            ACALL DELAY
            MOV P1,#11101111B
            ACALL DELAY
            MOV P1,#11011111B
            ACALL DELAY
            MOV P1,#10111111B
            ACALL DELAY
            MOV P1,#01111111B
            ACALL DELAY
            RET
;***********************************
    LED2:   MOV P1,#11100111B
            ACALL DELAY1
            MOV P1,#11011011B
            ACALL DELAY1
            MOV P1,#10111101B
            ACALL DELAY1
            MOV P1,#01111110B
            ACALL DELAY1
            ACALL DELAY1
            MOV P1,#10111101B
            ACALL DELAY1
            MOV P1,#11011011B
            ACALL DELAY1
            MOV P1,#11100111B
            ACALL DELAY1
            MOV P1,#55H
            ACALL DELAY1
            RET
;***********************************
   LED3:    MOV P1,#01101101B
            ACALL DELAY
            MOV P1,#11011011B
            ACALL DELAY
            MOV P1,#10101010B
            ACALL DELAY
            MOV P1,#01010101B
            ACALL DELAY
            MOV P1,#11100111B
            ACALL DELAY
            MOV P1,#01111110B
            ACALL DELAY
            MOV P1,#11011011B
            ACALL DELAY
            MOV P1,#01111110B
            ACALL DELAY
            MOV P1,#11100111B
            ACALL DELAY
            MOV P1,#11011011B
            ACALL DELAY
            RET
;**********************************
   DELAY:   MOV R2,#2        ;延时
   DEL1:    MOV R3,#200
   DEL2:    MOV R4,#125
   DEL3:    DJNZ R4,DEL3
            DJNZ R3,DEL2
            DJNZ R2,DEL1
            RET
;*********************************
   DELAY1:  MOV R5,#3        ;延时
   DL1:     MOV R6,#200
   DL2:     MOV R7,#125
   DL3:     DJNZ R7,DL3
            DJNZ R6,DL2
            DJNZ R5,DL1
            RET
            END

;*************************************************

烧录文件HEX:


LED.HEX

 


 

阅读:
录入:admin

推荐 】 【 打印
本文评论
      全部评论
     于14日评论道: 查看全部评论  
我的毕业设计是电子挂历,其中有校历周的设计,也就是星期满校历周数加一,还有就是作息时间提醒,例如:8:00-8:50第一节课.那么就要在8:00时有上课提醒,8:50下课提醒.我不会设计.希望大侠门帮帮我.我的邮箱zhuxinxin_318@163.com
发表评论


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