您当前的位置:五五电子网电子知识单片机-工控设备51单片机LED数码管汇编程序 正文
LED数码管汇编程序

LED数码管汇编程序

点击数:7632 次   录入时间:03-04 11:52:37   整理:http://www.55dianzi.com   51单片机

LED数码管汇编程序

DISPBUF EQU 50H   ;50H,51H,52H,53H是显示缓冲区
LED1  EQU P2.0    ;第一位数码管的位控制
LED2  EQU P2.1    ;第二位数码管的位控制
LED3  EQU P2.2    ;第三位数码管的位控制
LED4  EQU P2.3    ;第四位数码管的位控制
LED5  EQU P2.4
LED6  EQU P2.5
LED7  EQU P2.6
LED8  EQU P2.7
;==============================================================
    org 0000h
    LJMP MAIN
    ORG 0003H
    RETI
    ORG 000BH
    RETI
    ORG 0013H
    RETI
    ORG 001BH
    RETI
    ORG 0023H
    RETI
MAIN:
    MOV    R0,#50H
    MOV    65H, #2
    MOV    64H,  #3
    MOV    63H,  #5
    MOV    62H,  #9
    MOV    61H,  #5
    MOV    60H,  #9
    MOV    59H,  #1
    MOV    58H,  #2

    ACALL    OUT
LOOP1:ACALL DISP          ;调用显示程序
      
      JNB   P3.2,K1
      JNB   P3.3,K2
      
      ACALL  TIME
      AJMP  LOOP1
K1:   LJMP   CLEAR
K2:   LJMP   PAUSE
TIME:
      MOV    R0,#59H     ;指向毫秒计时单元
      ACALL   ADD1        ;调用加1程序(加1毫秒操作)
      MOV   A,R3          ;毫秒数据放入A(R3为2位十进制数组合)
      CLR    C              ;清进位标志
      CJNE     A,#60H,ADDS
ADDS:  JC   OUT            ;小于60毫秒时中断退出
      ACALL    CLR0        ;大于或等于60毫秒时对秒计时单元清0
      MOV   R0,#61H        ;指向秒计时单元
      ACALL   ADD1         ;调用加1程序(加1秒操作)
      MOV   A,  R3         ;秒数据放入A(R3为2位十进制数组合)
      CLR   C              ;清进位标志
      CJNE     A,  #60H,ADDM
ADDM:  JC   OUT             ;小于60秒时中断退出
     ACALL    CLR0         ;大于或等于60秒时对秒计时单元清0
      MOV    R0,#63H         ;指向分计时单元
      ACALL   ADD1          ;分计时单元加1分钟
      MOV    A,R3           ;分数据放入A
      CLR   C               ;清进位标志
      CJNE    A,#60H,ADDH
ADDH:  JC   OUT              ;小于60分时中断退出
      ACALL    CLR0          ;大于或等于60分时分计时单元清0
      MOV    R0,#65H         ;指向小时计时单元
      ACALL    ADD1          ;小时计时单元加1小时
      MOV    A,R3             ;时数据放入A
      CLR   C                 ;清进位标志
      CJNE    A,#24H,HOUR
HOUR:  JC   OUT             ;小于24小时中断退出
       ACALL    CLR0          ;大于或等于24小时计时单元清零
OUT:
    MOV   DISPBUF,   65H
    MOV   DISPBUF+1, 64H
    MOV   DISPBUF+2, 63H
    MOV   DISPBUF+3, 62H
    MOV   DISPBUF+4,61H
    MOV   DISPBUF+5, 60H
    MOV    DISPBUF+6,59H
    MOV    DISPBUF+7,58H

    RETI
;======================================================================
           ;清零程序
;======================================================================
CLR0:
    CLR   A            ;清累加器
    MOV    @R0,A       ;清当前地址单元
    DEC    R0          ;指向前一地址
    MOV    @R0,A       ;前一地址单元清零
    RET

;======================================================================

[1] [2] [3]  下一页


本文关键字:LED数码管  51单片机单片机-工控设备 - 51单片机