📄 x36vznys.lst
字号:
00D5 00B6 00388 MOVWF ADTP0
00D6 0BB7 00389 DECFSZ ADTP1,F
00D7 28DD 00390 GOTO TS_ZH
00D8 303A 00391 MOVLW 0X3A ;转把采样40次,电池电压采样一次
00D9 00B7 00392 MOVWF ADTP1
00DA 00393 DC_ZH
00DA 14BC 00394 BSF DC_AD ;置转换标志
00DB 3099 00395 MOVLW B'10011001' ;相应的转换通道
00DC 28E2 00396 GOTO INT_AD1
00DD 00397 TS_ZH
00DD 143C 00398 BSF TS_AD
00DE 3089 00399 MOVLW B'10001001'
00DF 28E2 00400 GOTO INT_AD1
00E0 00401 DL_ZH
00E0 153C 00402 BSF DL_AD
00E1 3081 00403 MOVLW B'10000001'
00E2 00404 INT_AD1
00E2 009F 00405 MOVWF ADCON0 ;写入转换通道
00E3 280F 00406 GOTO INT_RET
00407 ;----------------------------------------------------------------------------
00408 ;转把调速度运算
00409 ;转把有效电压1.6-4V采样82-204,差位122,
00410 ;PWM有效位0-240,则将转把采样值减82,再乘以2,即PWM=(TS_V-82)*2
00411 ;防断线电压4.6
00412 ;----------------------------------------------------------------------------
00E4 00413 CLZB
00E4 11BC 00414 BCF TS_OK
00E5 0825 00415 MOVF TS_V,W
00E6 00A6 00416 MOVWF TS_PWS
00E7 30E5 00417 MOVLW LOSTS ;防断线,4.6V
00E8 0226 00418 SUBWF TS_PWS,W ;TS_PWS<235,C=0
00E9 1803 00419 BTFSC STATUS,C
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00EA 28F8 00420 GOTO CLZB0 ;断线
00EB 30CC 00421 MOVLW 0XCC
00EC 0226 00422 SUBWF TS_PWS,W ;TS_PWS<204,C=0
00ED 1803 00423 BTFSC STATUS,C
00EE 28FA 00424 GOTO CLZB1
00EF 3052 00425 MOVLW TSON ;W<-TSON
00F0 0226 00426 SUBWF TS_PWS,W ;C=1,TS_PWS>TSON
00F1 1C03 00427 BTFSS STATUS,C
00F2 28F8 00428 GOTO CLZB0 ;小于TSON
00F3 1003 00429 BCF STATUS,C
00F4 00A6 00430 MOVWF TS_PWS ;TS_PWS<-W
00F5 0D26 00431 RLF TS_PWS,W ;*2
00F6 00A0 00432 MOVWF IN_PWM
00F7 0008 00433 RETURN
00F8 00434 CLZB0
00F8 01A0 00435 CLRF IN_PWM
00F9 0008 00436 RETURN
00FA 00437 CLZB1
00FA 30F0 00438 MOVLW 0XF0
00FB 00A0 00439 MOVWF IN_PWM
00FC 0008 00440 RETURN
00441 ;-------------------------------------------------------------------------
00442 ;根据输入电流和输入的调速度设备(IN_PWM)判断PWM增减
00FD 00443 CLIN_PWM
00FD 12BC 00444 BCF DL_OK ;清电流标志,;限电流
00FE 082B 00445 MOVF DL_V,W
00FF 00AC 00446 MOVWF DL_PWS ;读出电流值
0100 304A 00447 MOVLW DLXZ
0101 022C 00448 SUBWF DL_PWS,W ;DL_PWS-DLXZ
0102 1803 00449 BTFSC STATUS,C ;DL_PWS>DLXZ,C=1过流
0103 290F 00450 GOTO CLIN_DW
0104 1903 00451 BTFSC STATUS,Z ;Z=1,DL_PWS=DLXZ
0105 2912 00452 GOTO CLIN_UP_DW ;达到最大电流值
00453
0106 0820 00454 MOVF IN_PWM,W
0107 0221 00455 SUBWF PWM,W ;PWM-IN_PWM
0108 1903 00456 BTFSC STATUS,Z
0109 2912 00457 GOTO CLIN_UP_DW
010A 1803 00458 BTFSC STATUS,C
010B 290F 00459 GOTO CLIN_DW ;PWM>IN_PWM
010C 00460 CLIN_UP
010C 153D 00461 BSF INCPWM ;增加
010D 11BD 00462 BCF DECPWM
010E 0008 00463 RETURN
010F 00464 CLIN_DWL
00465 ;DECF PWM,F ;PWM-超出部分
010F 00466 CLIN_DW ;限制电流
010F 113D 00467 BCF INCPWM ;减小
0110 15BD 00468 BSF DECPWM
0111 0008 00469 RETURN
0112 00470 CLIN_UP_DW ;平衡
0112 113D 00471 BCF INCPWM
0113 11BD 00472 BCF DECPWM
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 10
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0114 0008 00473 RETURN
00474 ;---------------------------------------------------------------
00475 ;PWM输出控制
00476 ;根据增\减位调节PWM脉宽
0115 00477 PWMOUT
0115 10BD 00478 BCF PWM_OUT
0116 19BD 00479 BTFSC DECPWM
0117 2923 00480 GOTO DEC_PWM
0118 1D3D 00481 BTFSS INCPWM
0119 0008 00482 RETURN ;返回
011A 00483 INC_PWM ;增加PWM
011A 0BBF 00484 DECFSZ IN_PWM_TM,F
011B 0008 00485 RETURN
011C 300B 00486 MOVLW 0X0B
011D 00BF 00487 MOVWF IN_PWM_TM
011E 30F0 00488 MOVLW 0XF0
011F 0221 00489 SUBWF PWM,W ;PWM<F0,C=0
0120 1883 00490 BTFSC STATUS,F
0121 0AA1 00491 INCF PWM,F
0122 2926 00492 GOTO PWM_OUT0
0123 00493 DEC_PWM ;减小
0123 0821 00494 MOVF PWM,W
0124 1D03 00495 BTFSS STATUS,Z
0125 03A1 00496 DECF PWM,F
0126 00497 PWM_OUT0
0126 0821 00498 MOVF PWM,W ;脉宽输出计算
0127 00A3 00499 MOVWF PWMH
00500
0128 01A2 00501 CLRF PWML
0129 1003 00502 BCF STATUS,C
012A 0CA3 00503 RRF PWMH,F
012B 0CA2 00504 RRF PWML,F
012C 1003 00505 BCF STATUS,C
012D 0CA3 00506 RRF PWMH,F
012E 0CA2 00507 RRF PWML,F
012F 1003 00508 BCF STATUS,C
0130 0CA2 00509 RRF PWML,F
0131 1003 00510 BCF STATUS,C
0132 0CA2 00511 RRF PWML,F
00512
0133 0817 00513 MOVF CCP1CON,W
0134 39CF 00514 ANDLW B'11001111'
0135 0422 00515 IORWF PWML,W
0136 0097 00516 MOVWF CCP1CON
0137 0823 00517 MOVF PWMH,W
0138 0095 00518 MOVWF CCPR1L
0139 0008 00519 RETURN
00520 ;---------------------------------------------------------------
00521 ;电池欠压检测处理
013A 00522 CLDC
013A 123C 00523 BCF DC_OK ;清电压转换完成标志位
013B 08AA 00524 MOVF DC_CONT,F ;求和计数
013C 1D03 00525 BTFSS STATUS,Z ;DC_CONT=0?
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 11
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
013D 2942 00526 GOTO CLDC0
013E 3004 00527 MOVLW 0X04
013F 00AA 00528 MOVWF DC_CONT
0140 01A8 00529 CLRF DC_L
0141 01A9 00530 CLRF DC_H
0142 00531 CLDC0
0142 0827 00532 MOVF DC_V,W ;4次求和
0143 07A8 00533 ADDWF DC_L,F
0144 1803 00534 BTFSC STATUS,C
0145 0AA9 00535 INCF DC_H,F
0146 0BAA 00536 DECFSZ DC_CONT,F
0147 0008 00537 RETURN
0148 1003 00538 BCF STATUS,C ;除4
0149 0CA9 00539 RRF DC_H,F
014A 0CA8 00540 RRF DC_L,F
014B 1003 00541 BCF STATUS,C
014C 0CA9 00542 RRF DC_H,F
014D 0CA8 00543 RRF DC_L,F
00544
014E 309C 00545 MOVLW QYDW
014F 0228 00546 SUBWF DC_L,W
0150 1803 00547 BTFSC STATUS,C ;C=0,DC_L<QYDW,欠压
0151 2956 00548 GOTO CLDC1
0152 143D 00549 BSF OFF ;欠压;置复位标志位
0153 138B 00550 BCF INTCON,GIE ;关全局中断使能
0154 111F 00551 BCF ADCON0,GO ;关AD转换
0155 0008 00552 RETURN
0156 00553 CLDC1
0156 30A5 00554 MOVLW QYUP
0157 0228 00555 SUBWF DC_L,W
0158 1803 00556 BTFSC STATUS,C ;C=0,DC_L<QYUP,电压低与重开电压
0159 2960 00557 GOTO CLDC2
015A 3001 00558 MOVLW 0X01 ;电压低于欠压重开
015B 00C4 00559 MOVWF BJ_T
015C 14BE 00560 BSF DC_BJ
015D 300A 00561 MOVLW 0X0A
015E 00C2 00562 MOVWF DC_YTM
015F 0008 00563 RETURN
0160 00564 CLDC2
0160 30A9 00565 MOVLW QYXS
0161 0228 00566 SUBWF DC_L,W
0162 1C03 00567 BTFSS STATUS,C
0163 296A 00568 GOTO CLDC3
0164 0BC2 00569 DECFSZ DC_YTM,F
0165 0008 00570 RETURN
0166 10BE 00571 BCF DC_BJ ;关报警
0167 300A 00572 MOVLW 0X0A
0168 00C2 00573 MOVWF DC_YTM
0169 0008 00574 RETURN
016A 00575 CLDC3
016A 3005 00576 MOVLW 0X05
016B 00C4 00577 MOVWF BJ_T
016C 14BE 00578 BSF DC_BJ ;电压低报警开
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 12
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
016D 300A 00579 MOVLW 0X0A
016E 00C2 00580 MOVWF DC_YTM
016F 0008 00581 RETURN
00582 ;---------------------------------------------------------------
00583 ;刹车处理程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -