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

📄 fang2.asm

📁 用LPC764制作的摩托车电喷系统程序源码
💻 ASM
字号:
;**********摩托车电控喷油系统*****************
;
;                         程序设计:游4  1/2001
;=============================================
;
;		一  初始化程序
;---------------------------------------------
;
OILCTRL EQU	P1.7		;喷油器控制位
KINDLE  EQU     P1.2            ;点火脉冲位
OILPUMP EQU     P1.6            ;油泵开关位
TXD_    EQU     P1.0            ;RS232发
RXD_    EQU     P1.1            ;RS232收
MOTOR   EQU     P1.3            ;启动马达位
SPEED   EQU     P1.4            ;转速测试位
REST_   EQU     P1.5            ;外部复位位
OSC_X1  EQU     P2.1            ;外部振荡1
OSC_X2  EQU     P2.0            ;外部振荡2
COMPOUT EQU     P0.0            ;比较器输出
COMPINA EQU     P0.1            ;比较器输入1
COMPINB EQU     P0.2            ;比较器输入2
AD_0    EQU     P0.3            ;模数转换0
AD_1    EQU     P0.4            ;模数转换1
AD_2    EQU     P0.5            ;模数转换2
AD_3    EQU     P0.6            ;模数转换3
JSQ_1   EQU     P0.7            ;计数器1
VSS     DATA    'P5'            ;接地脚
VDD     DATA    'P15'           ;正电源+5V
PTOAD   DATA    0F6H
POM2    DATA    85H
POM1    DATA    84H
;
OIL_BUF EQU     30H              ;油门开度缓冲寄存器
AIR_BUF EQU     31H              ;空气量缓冲寄存器
AIR_T   EQU     32H              ;进气温度缓冲寄存器
MACH_BF EQU     33H              ;机器温度缓冲寄存器
VOL_BUF EQU     34H              ;电压补偿缓冲寄存器
ADC_N   EQU     3AH              ;模数转换器编号
SPEEDH  EQU     3BH              ;转速计数器高八位RAM
SPEEDL  EQU     3CH              ;转速计数器低八位RAM
m_i     EQU     38H              ;数据表下标(i)
M_j     EQU     39H              ;数据表下标(j)
;
OIL_T   EQU     28H             ;油泵定时器循环值
COOL_X  EQU     2DH             ;冷启动加浓次数寄存器
STA_X   EQU     2EH             ;启动加浓次数寄存器
ON_OFF  EQU     2FH             ;开关量输入寄存器
BASICH  EQU     36H             ;基本喷油量寄存器H
BASICL  EQU     37H             ;基本喷油量寄存器L
Tv      EQU     3DH             ;电压补偿喷油量寄存器
TM      EQU     3EH             ;温度补偿喷油量RAM
COOL_   EQU     3FH             ;冷启动喷油量寄存器
;
TABEL   equ     0480H          ;表首地址
;
;============================================================
;
        org     0000h
REST:   aJMP    MAIN            ;复位转主程序
        ORG     0003H
        PUSH    ACC
        PUSH    PSW
        AJMP    START
        org     000bh           ;喷油定时器0中断000BH
        AJMP    INTF0           ;溢出转
        ORG     0053H
        PUSH    acc
        PUSH    PSW
        AJMP    PUMP
        ORG     0080H
MAIN:   MOV     SP,#60H         ;设栈底
        mov     TMOD,#10010001b       ;设定时器1为模式1,GATE=1
;                                      ;设定时器0为模式1,GATE=0
        MOV     PTOAD,#78H
        ANL     POM2,#87H
        ORL     POM1,#78H
        mov     adc_n,#80h
        MOV     IP0H,#02H
        MOV     IP0,#02H
        MOV     WDRST,#1EH
        MOV     WDRST,#0E1H
        SETB    EWD
        SETB    IT0
        SETB    ET0
        CLR     P1.3
     ;   SETB    EX0
        setb    EA
        MOV     WDCON,#00010111B
LOOP:
        MOV     TH1,#00H
        MOV     TL1,#00H
        CLR     P1.6
WAIT:   JB       P1.4,WAIT
        MOV     WDRST,#1EH
        MOV     WDRST,#0E1H
        SETB    EWD
        MOV     WDCON,#00010111B
        SETB     TR1
LOOP1:  JNB      P1.4,LOOP1
        SETB    TR0
        CPL     P1.7
        ACALL   ADREAD
        ACALL   SIGN
AFANG:  JB      P1.4,AFANG
        CLR     TR1
        MOV     3BH,TH1
        MOV     3CH,TL1
        AJMP    LOOP
START:
        NOP
        CPL     P1.6
        CLR     IE0
        SETB    P1.3
        POP     PSW
        POP     ACC
        RETI
pump:
        SETB     P1.6
        POP      PSW
        POP      ACC
        RETI
INTF0:
        CLR     TR0
        MOV     TL0,#80H
        MOV     TH0,#0AFH
        SETB    P1.7
       mov      r2,3bh
       djnz     R2,$
        ACALL   sign1
        RETI
;======================================================
ADRead:
        ACALL   SIGN
        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,#33H,ADNEXT
        POP     ACC
        ACALL   SIGN
        ret

SIGN:
        CPL     P1.7
        MOV     R1,31H
        DJNZ    R1,$
        CPL     P1.7
        RET
SIGN1:
        CPL     P1.7
        MOV     R1,3bH
        DJNZ    R1,$
        CPL     P1.7
        RET
;======================================================
        END

⌨️ 快捷键说明

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