📄 0525.lst
字号:
页 1
06-07-01
10:01:58
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
;**********摩托车电控喷油系统*****************
;
; 程序设计:游4 1/2001
;=============================================
;
; 一 初始化程序
;---------------------------------------------
;
OILCTRL BIT P1.7 ;喷油器控制位
KINDLE EQU P1.2 ;点火脉冲位
OILPUMP BIT P1.6 ;油泵开关位
TXD_ EQU P1.0 ;RS232发
RXD_ EQU P1.1 ;RS232收
MOTOR EQU P1.3 ;启动马达位
SPEED BIT P1.4 ;转速测试位
REST_ BIT P1.5 ;外部复位位
OSC_X1 BIT P2.1 ;外部振荡1
OSC_X2 BIT 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 34H ;空气量缓冲寄存器
AIR_T EQU 32H ;进气温度缓冲寄存器
MACH_BF EQU 31H ;机器温度缓冲寄存器
VOL_BUF EQU 33H ;电压补偿缓冲寄存器
ADC_N EQU 3AH ;模数转换器编号
SPEEDwH EQU 3BH ;转速计数器高八位RAM
SPEEDwL 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
C:\YOU4\LPC767\0525.ASM
页 2
06-07-01
10:01:58
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
BASICL EQU 37H ;基本喷油量寄存器L
Tv EQU 3DH ;电压补偿喷油量寄存器
TM EQU 3EH ;温度补偿喷油量RAM
COOL_ EQU 3FH ;冷启动喷油量寄存器
SPEEDL EQU 40H ;十六位转速低八位
SPEEDH EQU 41H ;十六位转速高八位
;
TABEL equ 0800H ;表首地址
;
;============================================================
;
org 0000h
0000 0180 REST: aJMP MAIN ;复位转主程序
ORG 0003H ;启动中断入口
0003 01F7 AJMP START ;转启动子程序
org 000bh ;喷油定时器0中断000BH
000B 2108 AJMP INTF0 ;溢出转
ORG 0053H ;看门狗
0053 C0E0 PUSH acc
0055 C0D0 PUSH PSW
0057 2101 AJMP PUMP ;转油泵子程序
ORG 0080H
0080 758160 MAIN: MOV SP,#60H ;设栈底
0083 758991 mov TMOD,#10010001b ;设定时器1为模式1,GATE=1
; ;设定时器0为模式1,GATE=0
0086 752E01 mov 2eh,#01h
0089 758CEC mov th0,#0ech
008C 758A78 mov tl0,#78h
008F 75F67E MOV PTOAD,#7eH ;定义模拟口作输入
0092 538580 ANL POM2,#80H ;关P0口数字输入
0095 43847E ORL POM1,#7eH ;关P0口数字输入
0098 753A80 mov adc_n,#80h ;开通道号00
009B 75B702 MOV IP0H,#02H ;中断级别,定时器0最高
009E 75B802 MOV IP0,#02H ;
00A1 75A61E MOV WDRST,#1EH ;看门狗初始化
00A4 75A6E1 MOV WDRST,#0E1H ;看门狗初始化
00A7 D2AE SETB EWD ;开看门狗中断
00A9 D2A9 SETB ET0 ;开定时器0中断
00AB D2A8 SETB EX0 ;开0中断
00AD D293 SETB P1.3 ;中断0可输入
00AF C288 CLR IT0 ;设中断0 位低电平触发
00B1 D2AF setb EA ;开总体中断
00B3 75A717 MOV WDCON,#00010111B ;开看门狗,设定时2.1s
LOOP:
00B6 758D00 MOV TH1,#00H ;清测速计数器
00B9 758B00 MOV TL1,#00H ;......
00BC C296 CLR P1.6 ;开开油泵
C:\YOU4\LPC767\0525.ASM
页 3
06-07-01
10:01:58
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
00BE 2094FD WAIT: JB P1.4,WAIT ;等负脉冲
00C1 75A61E MOV WDRST,#1EH ;
00C4 75A6E1 MOV WDRST,#0E1H ;
00C7 D2AE SETB EWD ;
00C9 75A717 MOV WDCON,#00010111B ;开看门狗定时器
00CC D28E SETB TR1 ;开测速定时器
00CE 3094FD LOOP1: JNB P1.4,LOOP1 ;等正脉冲
;===============================================
00D1 C297 CLR P1.7 ;开喷油器
00D3 313D ACALL VOL
00D5 3116 ACALL MACH
00D7 D28C SETB TR0 ;开喷油定时器
00D9 D52E0B DJNZ 2EH,AFAN ;启动加浓延时
00DC 752E01 MOV 2EH,#01H ;初值
00DF 3158 ACALL ADREAD ;调模数转换子程序
; ACALL DIV1 ;调除法子程序
; acall count1 ;调计算子程序
00E1 318D ACALL DIV2
00E3 5163 ACALL COUNT2
00E5 314C ACALL cmp2_y
00E7 2094FD AFAN: JB P1.4,AFAN ;等曲轴正脉冲完
00EA C28E CLR TR1 ;计数器1停测速
00EC 858D3B MOV 3BH,TH1 ;测速值进RAM
00EF 858B3C MOV 3CH,TL1 ;...
00F2 308000 jnb p0.0,down
; acall sign
down:
DOWN1:
DOWN2:
00F5 01B6 AJMP LOOP ;返回
;===============================================
START: ;启动子程序
00F7 752E1F MOV 2EH,#1FH ;设启动加浓次数
00FA 7536EC mov 36h,#0ech ;设启动加浓宽度
00FD 753778 mov 37h,#78h ;(10MS)
0100 32 RETI ;中断返回
pump: ;油泵开关子程序
0101 D296 SETB P1.6 ;关油泵
0103 D0D0 POP PSW ;
0105 D0E0 POP ACC ;弹出
0107 32 RETI ;中断返回
INTF0: ;喷油结束中断子程序
0108 D297 SETB P1.7 ;关喷油器
010A C28C CLR TR0 ;清中断;
010C 85378A MOV TL0,37H ;调喷油宽度
010F 85368C MOV TH0,36H ;...
C:\YOU4\LPC767\0525.ASM
页 4
06-07-01
10:01:58
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0112 32 RETI ;返回
OIL_K:
0113 E530 MOV A,30H
0115 22 RET
0116 C0E0 MACH: PUSH ACC
0118 C0D0 PUSH PSW
011A E531 MOV A,31H
011C 75F014 MOV B,#14h
011F 84 DIV AB
0120 F53E MOV TM,A
0122 75F064 MOV B,#64H
0125 E536 MOV A,36H
0127 F4 CPL A
0128 84 DIV AB
0129 853EF0 MOV B,TM
012C A4 MUL AB
012D F53D MOV 3DH,A
012F E536 MOV A,36H
0131 953D SUBB A,3DH
0133 F53E MOV 3EH,A
0135 D0D0 POP PSW
0137 D0E0 POP ACC
0139 22 RET
WATER:
013A E532 MOV A,32H
013C 22 RET
vol:
013D C0E0 PUSH ACC
013F C0D0 PUSH PSW
0141 E533 MOV A,33h
0143 04 VOL_I: INC A
0144 B4FFFC cjne A,#0FFh,vol_I
0147 D0D0 POP psw
0149 D0E0 POP acc
014B 22 RET
CMP2_y:
014C 75AD2C MOV CMP2,#2cH
014F 00 NOP
0150 00 NOP
0151 00 NOP
0152 00 NOP
0153 00 NOP
0154 53ADFE ANL CMP2,#0FEH
0157 22 RET
;======================================================
; 模数转换子程序
;======================================================
C:\YOU4\LPC767\0525.ASM
页 5
06-07-01
10:01:58
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
ADRead:
0158 C0E0 PUSH ACC
015A 753A80 MOV ADC_N,#80H
015D 7930 MOV R1,#30H
015F 853AC0 ADNEXT: mov adcon,adc_n
0162 7805 MOV R0,#5
0164 D8FE DJNZ R0,$
0166 D2C3 setb adcs
ADChk:
0168 30C4FD jnb adci,adchk
016B E5C5 mov a,dac0
016D F7 MOV @R1,A
016E 09 INC R1
016F 053A INC ADC_N
0171 C2C4 clr adci
0173 B934E9 CJNE R1,#34H,ADNEXT
0176 D0E0 POP ACC
0178 22 ret
SIGN:
0179 B297 CPL P1.7
017B A931 MOV R1,31H
017D D9FE DJNZ R1,$
017F B297 CPL P1.7
0181 22 RET
SIGN1:
0182 B297 CPL P1.7
0184 A931 MOV R1,31H
0186 00 S1: NOP
0187 00 NOP
0188 D9FC DJNZ R1,S1
018A B297 CPL P1.7
018C 22 RET
;======================================================
; ...... 计算子程序 ......
;======================================================
;
; (R7R6)/(35H36H)=(R7R6)
; (R3R2)=余数部分
;======================================================
;
DIV2:
018D 755080 MOV 50H,#80H
0190 7551C3 MOV 51H,#0C3H
0193 7552C9 MOV 52H,#0C9H
0196 755301 MOV 53H,#01H
DVT2:
0199 7E00 MOV R6,#00H
C:\YOU4\LPC767\0525.ASM
页 6
06-07-01
10:01:58
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
019B 7D00 MOV R5,#00H
019D 7C00 MOV R4,#00H
019F AB3B MOV R3,3BH
01A1 AA3C MOV R2,3CH
01A3 7F20 DVT20: MOV R7,#20H
01A5 C254 CLR 54H
01A7 31CB ACALL RLN
01A9 C3 DVL1: CLR C
01AA EC MOV A,R4
01AB 9A SUBB A,R2
01AC FC MOV R4,A
01AD ED MOV A,R5
01AE 9B SUBB A,R3
01AF FD MOV R5,A
01B0 EE MOV A,R6
01B1 9400 SUBB A,#00H
01B3 FE MOV R6,A
01B4 4007 JC DVL2
01B6 D254 SETB 54H
01B8 31CB DVL3: ACALL RLN
01BA DFED DJNZ R7,DVL1
01BC 22 RET
01BD EC DVL2: MOV A,R4
01BE 2A ADD A,R2
01BF FC MOV R4,A
01C0 ED MOV A,R5
01C1 3B ADDC A,R3
01C2 FD MOV R5,A
01C3 EE MOV A,R6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -