📄 0615.lst
字号:
C:\YOU4\LPC767\0615.ASM
页 5
07-28-01
20:10:11
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
HIGH_S: ;超速
0121 E551 MOV A,51H ;
0123 B41F05 CJNE A,#1FH,BIG ;8000RPM/min?否转
O_OFF:
0126 D27C SETB 124
0128 D27F SETB 127 ;yes.置超速标志
012A 22 RET
012B 50F9 BIG: JNC O_OFF ;大于8000RPM/min
012D C27C CLR 124
012F C27F CLR 127 ;小于8000RPM 清标志
0131 22 RET
WEAKEN: ;减速
0132 E530 MOV A,OIL_buf ;节气门开度?
0134 B40F05 CJNE A,#0fH,WK ;6度?否转
0137 D27D WK_L: SETB 125 ;YES.置减速标志
0139 D27F SETB 127 ;开喷油器标志并断油
013B 22 RET
013C 5007 WK: JNC WK_GO ;大于6度转清标志开喷油器
013E E551 MOV A,51H ;小于6度看转速
0140 B40400 CJNE A,#04H,WK_H ;1000RPM? 否转
0143 50F2 WK_H: JNC WK_L ;等于或大于1000转置标志并断油
0145 C27D WK_GO: CLR 125 ;小于1000则清减速标志
0147 C27F CLR 127 ;关喷油器标志并开喷油器
0149 22 RET
SLOW_S: ;低速<1500RPM/min
014A E551 mov A,51H ;
014C B40503 CJNE A,#05H,S_S ;不等于1500RPM/min转
014F C27B S_H: CLR 123 ;等则清标志
0151 22 RET
0152 50FB S_S: JNC S_H ;大于则转清标志
0154 D27B SETB 123 ;小于则置标志
0156 22 RET
QUICKS: ;加速
0157 E530 MOV A,OIL_BUF ;
0159 B47F06 CJNE A,#7FH,QK ;节气门45度开度?否转
015C C27E QK_L: CLR 126 ;YES清标志
015E 753F01 MOV 3FH,#01H ;不加浓
0161 22 RET ;
0162 40F8 QK: JC QK_L ;小于45度转清标志
0164 E551 MOV A,51H ;等于大于45度看转速
0166 B40506 CJNE A,#05H,QK_GO ;等于1500RPM/min?
0169 D27E QK_H: SETB 126 ;YES置加速标志
016B 753FFF mov 3fh,#0ffh ;加浓
016E 22 RET ;
016F 40F8 QK_GO: JC QK_H ;小于1500置加浓标志并加浓
0171 C27E CLR 126 ;大于1500清标志
0173 753F01 MOV 3FH,#01H ;不加浓
0176 22 RET
C:\YOU4\LPC767\0615.ASM
页 6
07-28-01
20:10:11
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0177 D53FFD QUICK_: DJNZ 3FH,QUICK_ ;
017A D53FFD QK_: DJNZ 3FH,QK_ ;
017D 22 RET
;===============================================
START: ;启动子程序
017E 752E1F MOV 2EH,#1FH ;设启动加浓次数
0181 7536EC mov 36h,#0ech ;设启动加浓宽度
0184 753778 mov 37h,#78h ;(10MS)
0187 32 RETI ;中断返回
pump: ;油泵开关子程序
0188 D296 SETB P1.6 ;关油泵
018A D0D0 POP PSW ;
018C D0E0 POP ACC ;弹出
018E 32 RETI ;中断返回
INTF0: ;喷油结束中断子程序
018F D297 SETB P1.7 ;关喷油器
0191 C28C CLR TR0 ;清中断;
0193 854C8C MOV TH0,4CH ;调喷油宽度
0196 854D8A MOV TL0,4DH ;...
0199 D0D0 POP PSW
019B D0E0 pop acc
019D 32 RETI ;返回
OIL_ON:
019E E530 MOV A,30H
01A0 853021 MOV 21H,30H
01A3 F4 CPL A
01A4 F523 MOV 23H,A
01A6 E530 MOV A,30H
01A8 75F010 MOV B,#10H
01AB 84 DIV AB
01AC F522 MOV 22H,A
01AE 22 RET
MACH_:
01AF D531FD DJNZ 31H,MACH_
01B2 22 RET
01B3 75F014 MOV B,#14h
01B6 84 DIV AB
01B7 F53E MOV TM,A
01B9 75F064 MOV B,#64H
01BC E536 MOV A,36H
01BE F4 CPL A
01BF 84 DIV AB
01C0 853EF0 MOV B,TM
01C3 A4 MUL AB
01C4 F53D MOV 3DH,A
01C6 E536 MOV A,36H
01C8 953D SUBB A,3DH
01CA F53E MOV 3EH,A
C:\YOU4\LPC767\0615.ASM
页 7
07-28-01
20:10:11
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
01CC 22 RET
vol:
01CD E533 MOV A,33h
01CF 04 VOL_I: INC A
01D0 B400FC cjne A,#0h,vol_I
01D3 22 RET
CMP2_y:
01D4 75AD2C MOV CMP2,#2cH
01D7 00 NOP
01D8 00 NOP
01D9 00 NOP
01DA 00 NOP
01DB 00 NOP
01DC 53ADFE ANL CMP2,#0FEH
01DF 22 RET
;======================================================
; 模数转换子程序
;======================================================
ADRead:
01E0 C0E0 PUSH ACC
01E2 753A80 MOV ADC_N,#80H
01E5 7930 MOV R1,#30H
01E7 853AC0 ADNEXT: mov adcon,adc_n
01EA 7805 MOV R0,#5
01EC D8FE DJNZ R0,$
01EE D2C3 setb adcs
ADChk:
01F0 30C4FD jnb adci,adchk
01F3 E5C5 mov a,dac0
01F5 F7 MOV @R1,A
01F6 09 INC R1
01F7 053A INC ADC_N
01F9 C2C4 clr adci
01FB B934E9 CJNE R1,#34H,ADNEXT
01FE D0E0 POP ACC
0200 22 ret
SIGN:
0201 B297 CPL P1.7
0203 A931 MOV R1,31H
0205 D9FE DJNZ R1,$
0207 B297 CPL P1.7
0209 22 RET
SIGN1:
020A B297 CPL P1.7
020C A931 MOV R1,31H
020E 00 S1: NOP
020F 00 NOP
C:\YOU4\LPC767\0615.ASM
页 8
07-28-01
20:10:11
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0210 D9FC DJNZ R1,S1
0212 B297 CPL P1.7
0214 22 RET
;======================================================
; ...... 计算子程序 ......
;======================================================
COUNT:
0215 5129 ACALL COUNTX ;
0217 5138 ACALL COUNTY ;
0219 E540 MOV A,40H ;FX进A
021B 2540 ADD A,40H ;FX*2
021D 8544F0 MOV B,44H ;FY进B
0220 A4 MUL AB ;A*B
0221 85F04E MOV 4EH,B ;查表高八位
0224 F54F MOV 4FH,A ;查表低八位
0226 5147 ACALL READ ;查表
0228 22 RET
COUNTX:
0229 E520 MOV A,20H ;转速/200rpm进A
022B F540 MOV 40H,A ;FX
022D 14 DEC A ;FX-1
022E F541 MOV 41H,A ;FX1
0230 2402 ADD A,#02H ;FX1+2
0232 F542 MOV 42H,A ;FX2
0234 04 INC A ;FX2+1
0235 F543 MOV 43H,A ;FX3
0237 22 RET ;
COUNTY: ;
0238 E522 MOV A,22H ;开度/6进A
023A F544 MOV 44H,A ;YX
023C 14 DEC A ;YX-1
023D F545 MOV 45H,A ;YX1
023F 2402 ADD A,#02H ;YX1+2
0241 F546 MOV 46H,A ;YX2
0243 04 INC A ;YX2+1
0244 F547 MOV 47H,A ;YX3
0246 22 RET ;
READ: ;
0247 E54E MOV A,4EH ;查表位置高八位
0249 240A ADD A,#0AH ;加表首地址
024B F583 MOV DPH,A ;进DPH
024D 854F82 MOV DPL,4FH ;低八位进DPL
0250 E4 CLR A ;
0251 93 MOVC A,@A+DPTR ;查表
0252 F54C MOV 4CH,A ;查表值进缓冲RAM
0254 7401 MOV A,#01H ;DPTR+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -