📄 0526.lst
字号:
页 1
05-26-01
13:01:34
伟福汇编器 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 31H ;空气量缓冲寄存器
AIR_T EQU 32H ;进气温度缓冲寄存器
MACH_BF EQU 33H ;机器温度缓冲寄存器
VOL_BUF EQU 34H ;电压补偿缓冲寄存器
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\0526.ASM
页 2
05-26-01
13:01:34
伟福汇编器 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 C0E0 PUSH ACC
0005 C0D0 PUSH PSW
0007 01E7 AJMP START
org 000bh ;喷油定时器0中断000BH
000B 01FA AJMP INTF0 ;溢出转
ORG 0053H
0053 C0E0 PUSH acc
0055 C0D0 PUSH PSW
0057 01F3 AJMP PUMP
ORG 0080H
0080 758160 MAIN: MOV SP,#60H ;设栈底
0083 758991 mov TMOD,#10010001b ;设定时器1为模式1,GATE=1
; ;设定时器0为模式1,GATE=0
0086 75F678 MOV PTOAD,#78H
0089 538587 ANL POM2,#87H
008C 438478 ORL POM1,#78H
008F 753A80 mov adc_n,#80h
0092 75B702 MOV IP0H,#02H
0095 75B802 MOV IP0,#02H
0098 75A61E MOV WDRST,#1EH
009B 75A6E1 MOV WDRST,#0E1H
009E D2AE SETB EWD
00A0 D288 SETB IT0
00A2 D2A9 SETB ET0
00A4 C293 CLR P1.3
; SETB EX0
00A6 D2AF setb EA
00A8 75A717 MOV WDCON,#00010111B
LOOP:
00AB 758D00 MOV TH1,#00H
00AE 758B00 MOV TL1,#00H
00B1 7C80 MOV R4,#80H
00B3 7DC3 MOV R5,#0C3H
00B5 7EC9 MOV R6,#0C9H
C:\YOU4\LPC767\0526.ASM
页 3
05-26-01
13:01:34
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
00B7 7F01 MOV R7,#01H
00B9 C296 CLR P1.6
00BB 2094FD WAIT: JB P1.4,WAIT
00BE 75A61E MOV WDRST,#1EH
00C1 75A6E1 MOV WDRST,#0E1H
00C4 D2AE SETB EWD ;开看门狗
00C6 75A717 MOV WDCON,#00010111B
00C9 D28E SETB TR1 ;开转速测宽计数器
00CB 3094FD LOOP1: JNB P1.4,LOOP1
00CE D28C SETB TR0 ;开喷油定时器
00D0 B297 CPL P1.7 ;开喷嘴
00D2 310B ACALL ADREAD
00D4 312E acall sign
00D6 315A ACALL DIV1
00D8 312E ACALL SIGN
00DA 2094FD AFAN: JB P1.4,AFAN
00DD C28E CLR TR1
00DF 858D3B MOV 3BH,TH1
00E2 858B3C MOV 3CH,TL1
00E5 01AB AJMP LOOP
;===============================================
START:
00E7 00 NOP
00E8 B296 CPL P1.6
00EA C289 CLR IE0
00EC D293 SETB P1.3
00EE D0D0 POP PSW
00F0 D0E0 POP ACC
00F2 32 RETI
pump:
00F3 D296 SETB P1.6
00F5 D0D0 POP PSW
00F7 D0E0 POP ACC
00F9 32 RETI
INTF0:
00FA C28C CLR TR0
00FC 758A80 MOV TL0,#80H
00FF 758CEC MOV TH0,#0ECH
0102 D297 SETB P1.7
0104 AA3B mov r2,3bh
0106 DAFE djnz R2,$
0108 3137 ACALL sign1
010A 32 RETI
;======================================================
ADRead:
010B 312E ACALL SIGN
010D C0E0 PUSH ACC
010F 753A80 MOV ADC_N,#80H
C:\YOU4\LPC767\0526.ASM
页 4
05-26-01
13:01:34
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0112 7930 MOV R1,#30H
0114 853AC0 ADNEXT: mov adcon,adc_n
0117 7805 MOV R0,#5
0119 D8FE DJNZ R0,$
011B D2C3 setb adcs
ADChk:
011D 30C4FD jnb adci,adchk
0120 E5C5 mov a,dac0
0122 F7 MOV @R1,A
0123 09 INC R1
0124 053A INC ADC_N
0126 C2C4 clr adci
0128 B933E9 CJNE R1,#33H,ADNEXT
012B D0E0 POP ACC
012D 22 ret
SIGN:
012E B297 CPL P1.7
0130 A931 MOV R1,31H
0132 D9FE DJNZ R1,$
0134 B297 CPL P1.7
0136 22 RET
SIGN1:
0137 B297 CPL P1.7
0139 A93B MOV R1,3bH
013B 00 S1: NOP
013C 00 NOP
013D D9FC DJNZ R1,S1
013F B297 CPL P1.7
0141 22 RET
;======================================================
; 计算子程序 ...............
;======================================================
count:
0142 E541 MOV A,41H ;计数器高八位
0144 C4 SWAP A
0145 540F ANL A,#0FH
0147 F538 MOV 38H,A ;计数器高八位除16后,结果进38H,作下标(i)
0149 E540 MOV A,40H ;计数器低八位
014B 54F0 ANL A,#0F0H
014D C4 SWAP A
014E F539 MOV 39H,A ;计数器低八位除16后,结果进39H,作下标(j)
0150 E541 MOV A,41H ;计数器高八位进ACC
0152 C4 SWAP A ;高低四位互换
0153 54F0 ANL A,#0F0H ;屏蔽低四位
0155 4239 ORL 39H,A ;与直接地址39H相或进39H
0157 31BE ACALL READ_T
0159 22 RET
C:\YOU4\LPC767\0526.ASM
页 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -