首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
51单片机汇编程序集(1)
来源:本站整理  作者:佚名  2011-02-05 21:35:52



 1、片内RAM初始化子程序
      2、片外RAM初始化子程序
      3、片外RAM初始化子程序(双字节个单元)
      4、内部RAM数据复制程序
      5、外部RAM数据复制程序
      6、外部RAM数据复制程序
      7、外部RAM数据复制到内部RAM程序
      8、限幅滤波程序
      9、中位值滤波程序
      10、N点算术平均滤波
      ;片内RAM初始化子程序
      IBCLR    : MOV     A,R0
                 MOV     R1,A
                CLR    A
      IBC1     : MOV     @R1,A
                INC    R1
                DJNZ   R7,IBC1
                RET
      ;片外RAM初始化子程序
      EBCLR1   : MOV     A,ADDPL
                 MOV     DPL,A
                 MOV     A,ADDPH
                 MOV     DPH,A
                CLR    C
      EBC11    : MOV X   @DPTR,A
                INC    DPTR
                DJNZ   R7,EBC11
                RET
      ;片外RAM初始化子程序(双字节个单元)
      EBCLR2   : MOV     A,ADDPL
                 MOV     DPL,A
                 MOV     A,ADDPH
                 MOV     DPH,A
                 MOV     A,R7
                JZ     EBC21
                INC    R6
      EBC21    :CLR    A
                 MOV X   @DPTR,A
                INC    DPTR
                DJNZ   R7,EBC21
                DJNZ   R6,EBC21
                RET
      ;内部RAM数据复制程序
      ;入口    :R0,R7
      ;占用资源:A
      ;堆栈需求:2字节
      ;出口    :R1
      IB MOV     :MOV    A,R0
                ADD    A,R7
                 MOV     R0,A
                 MOV     A,R1
                ADD    A,R7
                 MOV     R1,A
      IBM1     :DEC    R0
                DEC    R1
                 MOV     A,@R0
                 MOV     @R1,A
                DJNZ   R7,IBM1
                RET
      ;外部RAM数据复制程序
      ;入口    :ADDPH,ADDPL,R7
      ;占用资源:ACC
      ;堆栈需求:2字节
      ;出口    :R0,R1
      EB MOV 1   :MOV    A,ADDPL
                ADD    A,R7
                 MOV     DPL,A
                CLR    A
                ADDC   A,ADDPH
                 MOV     DPH,A
                 MOV     A,R7
                ADD    A,R1
                XCH    A,R0
                ADDC   A,#00H
                 MOV     P2,A
      EBM11    :DEC    R0
                CJNE   R0,#0FFH,EBM12
                DEC    P2
      EBM12    :DEC    DPL
                 MOV     A,DPL
                CJNE   A,#0FFH,EBM13
                DEC    DPH
      EBM13    : MOV X   A,@R0
                 MOV X   @DPTR,A
                DJNZ   R7,EBM11
                RET
      ;外部RAM数据复制程序
      ;入口    :ADDPH,ADDPL,R6,R7
      ;占用资源:ACC
      ;堆栈需求:2字节
      ;出口    :R0,R1
      EB MOV 2   :MOV    A,ADDPL
                ADD    A,R7
                 MOV     DPL,A
                 MOV     A,R6
                ADDC   A,ADDPH
                 MOV     DPH,A
                 MOV     A,R7
                ADD    A,R1
                XCH    A,R0
                ADDC   A,R6
                 MOV     P2,A
                 MOV     A,R7
                JZ     EBM21
                INC    R6
      EBM21    :DEC    R0
                CJNE   R0,#0FFH,EBM22
                DEC    P2
      EBM22    :DEC    DPL
                 MOV     A,DPL
                CJNE   A,#0FFH,EBM23
                DEC    DPH
      EBM23    : MOV X   A,@R0
                 MOV X   @DPTR,A
                DJNZ   R7,EBM21
                DJNZ   R6,EBM21
                RET
      ;外部RAM数据复制到内部RAM程序
      ;入口    :ADDPH,ADDPL,R7
      ;占用资源:ACC
      ;堆栈需求:2字节
      ;出口    :R0
      ITE MOV   :MOV    A,ADDPL
               ADD    A,R7
                MOV     DPL,A
                MOV     A,ADDPH
               ADDC   A,#00H
                MOV     DPH,A
                MOV     A,R0
               ADD    A,R7
                MOV     R0,A
      ITEM1   :DEC    R0
               DEC    DPL
                MOV     A,DPL
               CJNE   A,#0FFH,ITEM2
               DEC    DPH
      ITEM2   : MOV X   A,@DPTR
                MOV     @R0,A
               DJNZ   R7,ITEM1
               RET
       
      ;限幅滤波程序
      ;入口    :A,SDAT,DELTY
      ;占用资源:B
      ;堆栈需求:2字节
      ;出口    :A
      JUGFILT  : MOV     B,A
                CLR    C
                SUBB   A,SDAT
                JNC    JUGFT1
                CPL    A
                INC    A
      JUGFT1   :SETB   A
                SUBB   A,#DELTY
                JNC    JUGFT3
                 MOV     A,SDAT
                RET
      JUGFT3   : MOV     A,B
                 MOV     SDAT,A    
                RET
      ;中位值滤波程序
      ;入口    :ADDPH,ADDPL,N
      ;占用资源:ESELSORT
      ;堆栈需求:4字节
      ;出口    :A
      MEDFILT  :LCALL  ESELSORT
                 MOV     A,N
                CLR    C
                RRC    A
                ADD    A,ADDPL
                 MOV     DPL,A
                 MOV     A,ADDPH
                 MOV     DPH,A
                JNC    MEDFT1
                INC    DPH
      MEDFT1   : MOV X   A,@DPTR
                RET
      ;N点算术平均滤波
      ;入口    :ADDPH,ADDPL,N
      ;占用资源:B,R3,R4
      ;堆栈需求:2字节
      ;出口    :A
      AVFILT   : MOV     A,ADDPL
                 MOV     DPL,A
                 MOV     A,ADDPH
                 MOV     DPH,A
                CLR    A
                 MOV     R3,A
                 MOV     R4,A
                 MOV     R7,N
      AVFT1    : MOV X   A,@DPTR
                INC    DPTR
                ADD    A,R4
                 MOV     R4,A
                JNC    AVFT2
                INC    R3
      AVFT2    :DJNZ   R7,AVFT1
                 MOV     R7,N
                 MOV     R2,#00H
                LCALL  NDIV31
                 MOV     A,R4
                RET

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:237,820.30000 毫秒