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

LED数码管汇编程序

点击数:7632 次   录入时间:03-04 11:52:37   整理:http://www.55dianzi.com   51单片机
                     ;加1子程序
;======================================================================
ADD1:
   MOV    A,@R0        ;取当前计时单元数据到A
   DEC   R0            ;指向前一地址
   SWAP     A          ;A中数据高四位与低四位交换
   ORL    A,@R0        ;前一地址中数据放入A中低四位
   ADD   A,#01H        ;A加1操作
   DA    A             ;十进制调整
   MOV    R3,A         ;移入R3寄存器
   ANL    A,#0FH       ;高四位变0
   MOV    @R0,A        ;放回前一地址单元
   MOV    A,R3         ;取回R3中暂存数据
   INC   R0            ;指向当前地址单元
   SWAP    A           ;A中数据高四位与低四位交换
   ANL    A,#0FH       ;高四位变0
   MOV    @R0,A        ;数据放入当前地址单元中
   RET
;======================================================================
             ;显示程序
;======================================================================
DISP:
    ;-----------------------------------------------------------
    MOV     A,DISPBUF   ;取第一个待显示数
    MOV     DPTR,#DISPTAB
    MOVC    A,@A+DPTR   ;取字形码
    CPL A ;
    MOV     P0,A        ;将字形码送P0位(段口)
    CLR     LED1       ;开第一位显示器位口
    LCALL   DELAY       ;延时5毫秒
    SETB    LED1       ;关闭第一位显示器(开始准备第二位的数据)
    ;-----------------------------------------------------------
    MOV     A,DISPBUF+1 ;取显示缓冲区的第二位
    MOV     DPTR,#DISPTAB
    MOVC    A,@A+DPTR
    CPL A ;
    MOV     P0,A        ;将第二个字形码送P0口
    CLR     LED2      ;开第二位显示器
    LCALL   DELAY       ;延时5毫秒
    SETB    LED2      ;关第二位显示
    ;-----------------------------------------------------------
    MOV     A,DISPBUF+2   ;取显示缓冲区的第三位
    MOV     DPTR,#DISPTAB
    MOVC    A,@A+DPTR   ;取字形码
    CPL A ;
    MOV     P0,A        ;将第三个字形码送P0位(段口)
    CLR     LED3       ;开第三位显示器位口
    LCALL   DELAY       ;延时5毫秒
    SETB    LED3       ;关闭第三位显示器
    ;-----------------------------------------------------------
    MOV     A,DISPBUF+3   ;取显示缓冲区的第四位
    MOV     DPTR,#DISPTAB
    MOVC    A,@A+DPTR   ;取字形码
    CPL A ;
    MOV     P0,A        ;将第四个字形码送P0位(段口)
    CLR     LED4       ;开第四位显示器位口
    LCALL   DELAY       ;延时5毫秒
    SETB    LED4       ;关闭第四位显示器
    ;-----------------------------------------------------------
    MOV     A,DISPBUF+4    ;取显示缓冲区的第五位
    MOV     DPTR ,#DISPTAB
    MOVC    A,@A+DPTR     ;取字形码
    CPL  A
    MOV    P0,A           ;将第五个字形码送P0位(段口)
    CLR    LED5           ;开第五位显示器位口
    LCALL   DELAY         ;延时5毫秒
    SETB    LED5          ;关闭第五位显示器

    ;-----------------------------------------------------------
    MOV     A,DISPBUF+5    ;取显示缓冲区的第六位
    MOV     DPTR  ,#DISPTAB
    MOVC    A,@A+DPTR      ;取字形码
    CPL    A
    MOV    P0,A            ;将第六个字形码送P0位(段口)
    CLR    LED6            ;开第六位显示器位口
    LCALL   DELAY          ;延时5毫秒
    SETB    LED6           ;关闭第六位显示器

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


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