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

📄 0607.asm

📁 用LPC764制作的摩托车电喷系统程序源码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        MOV     R5,A
        MOV     A,R6
        RLC     A
        MOV     R6,A
        RET
;
;
DIV1:
        MOV     R4,#80H         ;每分钟计数器计数值
        MOV     R5,#0C3H        ;......
        MOV     R6,#0C9H        ;......
        MOV     R7,#01H         ;......
        MOV     A,3Bh            ;除数高八位为零?
        JNZ     BEIGN            ;不为零转BRIGN开始
        MOV     A,3Ch            ;
        JZ      OVER            ;除数低八位为零?为零结束.
BEIGN:  CLR     A               ;清余数寄存器R3,R2
        MOV     R3,A
        MOV     R2,A
        MOV     R1,#20H         ;被除数位数进R1
DIV0:   ACALL   RLC4            ;调余数和被除数循环左移一位子程
        MOV     A,R2            ;左移后,余数低八位减除数低八位
        SUBB    A,3Ch
        MOV     R0,A            ;差进R0
        MOV     A,R3
        SUBB    A,3Bh            ;余数高八位减除数高八位
        JC      NEXT            ;不够减转
        INC     R4              ;够减商加一
        MOV     R3,A            ;余数进R3
        MOV     A,R0            ;差
        MOV     R2,A            ;差进R2
NEXT:   DJNZ    R1,DIV0         ;不够减看10H次到否,否则转
        MOV     A,R3            ;到则看余数高位为一否?
        RLC     A
        JC      ROUND           ;为一,则五入,商加一
        MOV     A,R2
        RLC     A               ;余数大于二分之一
        MOV     R2,A
        MOV     A,R3
        RLC     A
        SUBB    A,3Bh
        JC      DON           ;余数乘2小于除数
        JNZ     ROUND           ;非零,大于除数,商加一
        MOV     A,R2
        SUBB    A,3Bh
        JC      DON
ROUND:  ACALL   ADD1            ;调商加一子程
DON:    CLR     A
        MOV     40H,R4
        MOV     41H,R5
        MOV     42H,R6
        MOV     43H,R7
        RET
OVER:   MOV     A,#0FFH
        RET
ADD1:   MOV     A,R4
        ADD     A,#01H
        MOV     R4,A
        MOV     A,R5
        ADDC    A,#0
        MOV     R5,A
        MOV     A,R6
        ADDC    A,#0
        MOV     R6,A
        RET
RLC4:   CLR     C
        MOV     A,R4
        RLC     A
        MOV     R4,A
        MOV     A,R5
        RLC     A
        MOV     R5,A
        MOV     A,R6
        RLC     A
        MOV     R6,A
        MOV     A,R7
        RLC     A
        MOV     R7,A
        MOV     A,R2
        RLC     A
        MOV     R2,A
        MOV     A,R3
        RLC     A
        MOV     R3,A
        RET
count1:
        MOV     A,41H           ;转速表高八位
        SWAP    A
        ANL     A,#0FH
        MOV     38H,A           ;转速表高八位除16后,结果进38H,作下标(i)
        MOV     A,40H           ;转速表低八位
        ANL     A,#0F0H
        SWAP    A
        MOV     39H,A           ;转速表低八位除16后,结果进39H,作下标(j)
        MOV     A,41H           ;转速表高八位进ACC
        SWAP    A               ;高低四位互换
        ANL     A,#0F0H         ;屏蔽低四位
        ORL     39H,A           ;与直接地址39H相或进39H
        ACALL   READ_T
        RET
count2: MOV     20H,51H
        MOV     A,51H           ;转速表高八位
        SWAP    A
        ANL     A,#0FH
        MOV     38H,A           ;转速表高八位除16后,结果进38H,作下标(i)
        MOV     A,50H           ;转速表低八位
        ANL     A,#0F0H
        SWAP    A
        MOV     39H,A           ;转速表低八位除16后,结果进39H,作下标(j)
        MOV     A,51H           ;转速表高八位进ACC
        SWAP    A               ;高低四位互换
        ANL     A,#0F0H         ;屏蔽低四位
        ORL     39H,A           ;与直接地址39H相或进39H
        ACALL   READ_T2
        RET

;=============================================
;             读TAB表 子程序
;=============================================
READ_T: mov     a,38h
        jz      done
done1:  cjne    a,#01h,done2
        ajmp    done
done2:  cjne    a,#02h,done3
        ajmp    done
done3:  dec     a
        ajmp    done2
done:
        MOV     38H,A
        add     a,#0Ah
        mov     dph,a
        MOV     DPL,39h
        clr     a
        MOVc    A,@a+DPTR
        MOV     36H,A
        mov     a,38h
        add     a,#0Dh
        mov     dph,a
        MOV     DPL,39h
        clr     a
        MOVc    A,@a+DPTR
        MOV     37H,A
        RET
;
READ_T2:
        mov     a,38h
        jz      DDD
DDD1:   cjne    a,#01h,DDD2
        ajmp    DDD
DDD2:   cjne    a,#02h,DDD3
        ajmp    DDD
DDD3:   dec     a
        ajmp    DDD2
DDD:
        MOV     38H,A
        add     a,#0Ah
        mov     dph,a
        MOV     DPL,39h
        clr     a
        MOVc    A,@a+DPTR
        MOV     36H,A
        mov     a,38h
        add     a,#0Dh
        mov     dph,a
        MOV     DPL,39h
        clr     a
        MOVc    A,@a+DPTR
        MOV     37H,A
        RET
;======================================================
;
;======================================================================================
        org     0A00h
;======================================================================================
tabA00:
    DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH
    DB  0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH
    DB  0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH
    DB  0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH
    DB  0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH
    DB  0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH
    DB  0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH
    DB  0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH
    DB  0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH
    DB  0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH
    DB  0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH
    DB  0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH
    DB  0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH
    DB  0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H

TABB00:
    DB  0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H
    DB  0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H
    DB  0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H
    DB  0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H
    DB  0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H
    DB  0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H
    DB  0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H
    DB  0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H
    DB  0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H,0F6H
    DB  0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H
    DB  0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H
    DB  0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F5H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H
    DB  0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H
    DB  0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H,0F4H
    DB  0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H
    DB  0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H
TABC00:
    DB  0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F3H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H
    DB  0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H
    DB  0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H,0F2H
    DB  0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H
    DB  0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H
    DB  0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F1H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H
    DB  0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H
    DB  0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H,0F0H
    DB  0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH
    DB  0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH
    DB  0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH
    DB  0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH
    DB  0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH,0EEH
    DB  0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH
    DB  0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH
    DB  0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0ECH,0EBH,0EBH,0EBH,0EBH,0EBH,0EBH,0EBH,0EBH
tabD00:
    DB  8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH
    DB  8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH
    DB  8AH,8AH,8AH,8AH,8AH,8AH,8AH,8AH,89H,89H,89H,89H,89H,89H,89H,89H
    DB  89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H
    DB  89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H,89H
    DB  88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H
    DB  88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H,88H
    DB  88H,88H,88H,88H,88H,88H,88H,88H,87H,87H,87H,87H,87H,87H,87H,87H
    DB  87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H
    DB  87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H,87H
    DB  86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H
    DB  86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H,86H
    DB  86H,86H,86H,86H,86H,86H,86H,86H,85H,85H,85H,85H,85H,85H,85H,85H
    DB  85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H
    DB  85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H,85H
    DB  84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H

TABE00:
    DB  84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H,84H
    DB  84H,84H,84H,84H,84H,84H,84H,83H,83H,83H,83H,83H,83H,83H,83H,83H
    DB  83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H
    DB  83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H,83H
    DB  82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H
    DB  82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H,82H
    DB  82H,82H,82H,82H,82H,82H,82H,82H,81H,81H,81H,81H,81H,81H,81H,81H
    DB  81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H
    DB  81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H,81H
    DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
    DB  80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H
    DB  80H,80H,80H,80H,80H,80H,80H,80H,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH
    DB  7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH
    DB  7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH,7FH
    DB  7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH
    DB  7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH
TABF00:
    DB  7EH,7EH,7EH,7EH,7EH,7EH,7EH,7EH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH
    DB  7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH
    DB  7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH,7DH
    DB  7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH
    DB  7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH
    DB  7CH,7CH,7CH,7CH,7CH,7CH,7CH,7CH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH
    DB  7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH
    DB  7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH,7BH
    DB  7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH
    DB  7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH
    DB  7AH,7AH,7AH,7AH,7AH,7AH,7AH,7AH,79H,79H,79H,79H,79H,79H,79H,79H
    DB  79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H
    DB  79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H,79H
    DB  78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H
    DB  78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H,78H
    DB  78H,78H,78H,78H,78H,78H,78H,78H,77H,77H,77H,77H,77H,77H,77H,77H
;======================================================================================
        END

⌨️ 快捷键说明

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