⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 average.asm

📁 通过调试的有用的单片机控制程序
💻 ASM
字号:
;************************************
;           求平均值子程序          *
;         用在一般的软件滤波        *
;************************************
;      这个程序可以用于8位平均      *
;      数据的个数可以自己定义       *
;      修改宏的定义就可以实现       *
;************************************
;程序包括:多个数的求和与数据的平均 *
;************************************
;单元分配:30H存储待处理的数据首地址*
;          38H,39H存放和           *
;          3AH存放平均值            *
;          3B~3FH做其他用途         *
;************************************
;
AVERDAT EQU     30H     ;待处理初始值存放单元
AVERRES DATA    3AH     ;平均值单元
AVERSUNL        DATA    39H     ;和的低字节
AVERSUNH        DATA    38H     ;和的高字节
AVERRESIDUAL    DATA    3BH     ;余数
AVERCOUNT       EQU     8       ;数据处理个数

ORG     0000H
SJMP    AVER
AVER:   MOV     A,#0
        MOV     AVERSUNL,A
        MOV     AVERSUNH,A
        MOV     AVERRES,A
        MOV     R7,#AVERCOUNT
        MOV     R0,#AVERDAT
AVERSUN:CLR     C
        MOV     A,@R0
        ADD     A,AVERSUNL
        MOV     AVERSUNL,A
        CLR     A
        ADDC    A,AVERSUNH
        MOV     AVERSUNH,A
        INC     R0
        DJNZ    R7,AVERSUN
        PUSH    AVERSUNL
        PUSH    AVERSUNH
AVER0:  MOV     R7,#3
AVER1:  CLR     C
        MOV     A,AVERSUNH
        RRC     A
        MOV     AVERSUNH,A
        MOV     A,AVERSUNL
        RRC      A
        MOV     AVERSUNL,A
        MOV     A,AVERRESIDUAL 
        RRC     A
        MOV     AVERRESIDUAL,A
        DJNZ    R7,AVER1
        MOV     A,AVERSUNL
        MOV     AVERRES,A
        POP     AVERSUNH
        POP     AVERSUNL
        MOV     A,AVERRESIDUAL 
        SWAP    A
        RRC     A
        MOV     AVERRESIDUAL,A
STEP:   SJMP    $
        END   
        
                

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -