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

📄 0615.asm

📁 用LPC764制作的摩托车电喷系统程序源码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        RET
HIGH_S:                                 ;超速
        MOV     A,51H                   ;
        CJNE    A,#1FH,BIG              ;8000RPM/min?否转
O_OFF:
        SETB    124
        SETB    127                     ;yes.置超速标志
        RET
BIG:    JNC      O_OFF                  ;大于8000RPM/min
        CLR     124
        CLR     127                     ;小于8000RPM 清标志
        RET
WEAKEN:                                 ;减速
        MOV     A,OIL_buf               ;节气门开度?
        CJNE    A,#0fH,WK               ;6度?否转
WK_L:   SETB    125                     ;YES.置减速标志
        SETB    127                     ;开喷油器标志并断油
        RET
WK:     JNC      WK_GO                  ;大于6度转清标志开喷油器
        MOV     A,51H                   ;小于6度看转速
        CJNE    A,#04H,WK_H             ;1000RPM? 否转
WK_H:   JNC     WK_L                    ;等于或大于1000转置标志并断油
WK_GO:  CLR     125                     ;小于1000则清减速标志
        CLR     127                     ;关喷油器标志并开喷油器
        RET
SLOW_S:                                 ;低速<1500RPM/min
        mov     A,51H                   ;
        CJNE    A,#05H,S_S              ;不等于1500RPM/min转
S_H:    CLR     123                     ;等则清标志
        RET
S_S:    JNC     S_H                     ;大于则转清标志
        SETB    123                     ;小于则置标志
        RET
QUICKS:                                 ;加速
        MOV     A,OIL_BUF               ;
        CJNE    A,#7FH,QK               ;节气门45度开度?否转
QK_L:   CLR     126                     ;YES清标志
        MOV     3FH,#01H                ;不加浓
        RET                             ;
QK:     JC      QK_L                    ;小于45度转清标志
        MOV     A,51H                   ;等于大于45度看转速
        CJNE    A,#05H,QK_GO            ;等于1500RPM/min?
QK_H:   SETB    126                     ;YES置加速标志
        mov     3fh,#0ffh               ;加浓
        RET                             ;
QK_GO:  JC      QK_H                    ;小于1500置加浓标志并加浓
        CLR     126                     ;大于1500清标志
        MOV     3FH,#01H                ;不加浓
        RET
QUICK_: DJNZ    3FH,QUICK_              ;
QK_:    DJNZ    3FH,QK_                 ;
        RET
;===============================================
START:                               ;启动子程序
        MOV     2EH,#1FH             ;设启动加浓次数
        mov     36h,#0ech            ;设启动加浓宽度
        mov     37h,#78h             ;(10MS)
        RETI                         ;中断返回
pump:                                ;油泵开关子程序
        SETB     P1.6                ;关油泵
        POP      PSW                 ;
        POP      ACC                 ;弹出
        RETI                         ;中断返回
INTF0:                               ;喷油结束中断子程序
        SETB    P1.7                 ;关喷油器
        CLR     TR0                  ;清中断;
        MOV     TH0,4CH              ;调喷油宽度
        MOV     TL0,4DH              ;...
        POP     PSW
        pop     acc
        RETI                         ;返回
OIL_ON:
        MOV     A,30H
        MOV     21H,30H
        CPL     A
        MOV     23H,A
        MOV     A,30H
        MOV     B,#10H
        DIV     AB
        MOV     22H,A
        RET
MACH_:
        DJNZ    31H,MACH_
        RET
        MOV     B,#14h
        DIV     AB
        MOV     TM,A
        MOV     B,#64H
        MOV     A,36H
        CPL     A
        DIV     AB
        MOV     B,TM
        MUL     AB
        MOV     3DH,A
        MOV     A,36H
        SUBB    A,3DH
        MOV     3EH,A
        RET
vol:
        MOV     A,33h
VOL_I:  INC     A
        cjne    A,#0h,vol_I
        RET
CMP2_y:
        MOV     CMP2,#2cH
        NOP
        NOP
        NOP
        NOP
        NOP
        ANL     CMP2,#0FEH
        RET
;======================================================
;                模数转换子程序
;======================================================
ADRead:
        PUSH    ACC
        MOV     ADC_N,#80H
        MOV     R1,#30H
ADNEXT: mov     adcon,adc_n
        MOV     R0,#5
        DJNZ    R0,$
        setb    adcs
ADChk:
        jnb     adci,adchk
        mov     a,dac0
        MOV     @R1,A
        INC     R1
        INC     ADC_N
        clr     adci
        CJNE    R1,#34H,ADNEXT
        POP     ACC
        ret

SIGN:
        CPL     P1.7
        MOV     R1,31H
        DJNZ    R1,$
        CPL     P1.7
        RET
SIGN1:
        CPL     P1.7
        MOV     R1,31H
S1:     NOP
        NOP
        DJNZ    R1,S1
        CPL     P1.7
        RET
;======================================================
;          ......   计算子程序    ......
;======================================================
COUNT:
        ACALL   COUNTX                  ;
        ACALL   COUNTY                  ;
        MOV     A,40H                   ;FX进A
        ADD     A,40H                   ;FX*2
        MOV     B,44H                   ;FY进B
        MUL     AB                      ;A*B
        MOV     4EH,B                   ;查表高八位
        MOV     4FH,A                   ;查表低八位
        ACALL   READ                    ;查表
        RET
COUNTX:
        MOV     A,20H                   ;转速/200rpm进A
        MOV     40H,A                   ;FX
        DEC     A                       ;FX-1
        MOV     41H,A                   ;FX1
        ADD     A,#02H                  ;FX1+2
        MOV     42H,A                   ;FX2
        INC     A                       ;FX2+1
        MOV     43H,A                   ;FX3
        RET                             ;
COUNTY:                                 ;
        MOV     A,22H                   ;开度/6进A
        MOV     44H,A                   ;YX
        DEC     A                       ;YX-1
        MOV     45H,A                   ;YX1
        ADD     A,#02H                  ;YX1+2
        MOV     46H,A                   ;YX2
        INC     A                       ;YX2+1
        MOV     47H,A                   ;YX3
        RET                             ;
READ:                                   ;
        MOV     A,4EH                   ;查表位置高八位
        ADD     A,#0AH                  ;加表首地址
        MOV     DPH,A                   ;进DPH
        MOV     DPL,4FH                 ;低八位进DPL
        CLR     A                       ;
        MOVC    A,@A+DPTR               ;查表
        MOV     4CH,A                   ;查表值进缓冲RAM
        MOV     A,#01H                  ;DPTR+1

⌨️ 快捷键说明

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