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

📄 x36vznys.lst

📁 三轮电动车有刷控制器程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0042   0185           00193              CLRF PORTA
0043   300F           00194              movlw B'00001111'        ;RA
0044   1683           00195              BSF _BANK
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0045   0085           00196              movwf TRISA
0046   1283           00197              BCF _BANK             
0047                  00198 RESET        
0047   1586           00199              BSF PORTB,3
0048   0064           00200              CLRWDT                   ;清看门狗
0049   2206           00201              CALL MST_REG
004A   222E           00202              CALL MST_AD           
004B   2237           00203              CALL MST_TIMER1
004C   2243           00204              CALL MST_PWM
004D   21FF           00205              CALL DEC10MS            ;上电延时10M
004E                  00206 DCJC         
004E   0064           00207              CLRWDT                  ;清看门狗                       
MPASM  4.00 Released                             X36VZNYS.ASM   2-7-2007  13:57:55         PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

004F   01A9           00208              CLRF DC_H               ;电池电压开启检测
0050   01A8           00209              CLRF DC_L
0051   3010           00210              MOVLW 0X10
0052   00AA           00211              MOVWF DC_CONT
0053                  00212 DCJC_0
0053   3099           00213              MOVLW B'10011001'
0054   009F           00214              MOVWF ADCON0            ;写入电压转换通道
0055   21FA           00215              CALL DEC10US            ;延时10US
0056   151F           00216              BSF ADCON0,GO           ;开AD转换 
0057                  00217 DCJC_1       
0057   191F           00218              BTFSC ADCON0,GO
0058   2857           00219              GOTO DCJC_1             ;等待转换完成
0059   081E           00220              MOVF ADRES,W
005A   07A8           00221              ADDWF DC_L,F
005B   1803           00222              BTFSC STATUS,C
005C   0AA9           00223              INCF DC_H,F
005D   0BAA           00224              DECFSZ DC_CONT,F
005E   2853           00225              GOTO DCJC_0
005F   3004           00226              MOVLW 0X04
0060   00AA           00227              MOVWF DC_CONT
0061                  00228 DCJC_2       
0061   1003           00229              BCF STATUS,C
0062   0CA9           00230              RRF DC_H,F
0063   0CA8           00231              RRF DC_L,F
0064   0BAA           00232              DECFSZ DC_CONT,F
0065   2861           00233              GOTO DCJC_2
0066   30A5           00234              MOVLW QYUP             ;电池开启电压
0067   0228           00235              SUBWF DC_L,W
0068   1C03           00236              BTFSS STATUS,C  
0069   284E           00237              GOTO DCJC     
006A   224D           00238              CALL MST_INT           ;中断配置
006B   21FF           00239              CALL DEC10MS           ;延时20MS
006C   21FF           00240              CALL DEC10MS 
006D   21FF           00241              CALL DEC10MS        
006E   123D           00242              BCF DS_ON
006F   123C           00243              BCF DC_OK
0070   11BC           00244              BCF TS_OK
0071   12BC           00245              BCF DL_OK
0072   133C           00246              BCF TS_YX
0073   10BD           00247              BCF PWM_OUT
0074   0064           00248              CLRWDT                  ;清看门狗
                      00249 ;--------------------------------------------------------------------------------
                      00250 ;模式转换与控制
                      00251 ;助力模式: 助力有效ZL_ON置1(ZL_ON=1),此时转把无效
                      00252 ;          ZL_OK位1.6S置1一次,主程序循环运行,在助力没有输出为0,PWM输出调整到0.         
                      00253 ;电动模式: 在转把达到开启电压TSON,转把有效为TS_ON置1(TS_ON=1),转把采样完成,TS_OK=1.
                      00254 ;          在TS_ON=1,主程序进入电动模式运行.
                      00255 ;定速模式: 在电动模式下(TS_ON=1),定速键有效DS_ON=1,进入定速模式.在有刹车\欠压
                      00256 ;          或再次按下定速键退出定速模式.
                      00257 ;----------------------------------------------------------------------------------
                      00258 ;助力模式
0075                  00259 ZLMOD         
0075   1B3D           00260               BTFSC ZL_ON           ;助力开启?
MPASM  4.00 Released                             X36VZNYS.ASM   2-7-2007  13:57:55         PAGE  6


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0076   2879           00261               GOTO ZLMOD0           ;是
0077   1B3C           00262               BTFSC TS_YX           ;转把是否有效? 
0078   288A           00263               GOTO DDMOD            ;是,跳到电动模式
0079                  00264 ZLMOD0
0079   18BD           00265               BTFSC PWM_OUT
007A   2115           00266               CALL PWMOUT           ;PWM输出
                      00267 
007B   1BBC           00268               BTFSC ZL_OK
007C   2180           00269               CALL CLZL             ;助力信号处理
                      00270 
007D   1ABC           00271               BTFSC DL_OK
007E   20FD           00272               CALL CLIN_PWM         ;PWM加减调整(限流)
                      00273               
007F   1A3C           00274               BTFSC DC_OK
0080   213A           00275               CALL CLDC             ;欠压检测
0081   183D           00276               BTFSC OFF             ;判断是否有复位标志位
0082   2847           00277               GOTO RESET            ;复位
                      00278 
0083   1D06           00279               BTFSS PSC             ;刹车
0084   2170           00280               CALL CLSC             ;刹车处理程序
0085   183D           00281               BTFSC OFF             ;判断是否有复位标志位
0086   2847           00282               GOTO RESET            ;复位
0087   0064           00283               CLRWDT                ;清看门狗
0088   103E           00284               BCF DS_OK             ;关定速检测
0089   2875           00285               GOTO ZLMOD            ;继续循环
                      00286 ;电动模式  
008A                  00287 DDMOD         
008A   1F3C           00288               BTFSS TS_YX           ;转把开启?
008B   2875           00289               GOTO ZLMOD            ;转把没有开启,跳到助力模式
008C   1E3D           00290               BTFSS DS_ON
008D   2890           00291               GOTO DDMOD0
008E   123D           00292               BCF DS_ON
008F   28A1           00293               GOTO DSMOD
0090                  00294 DDMOD0
0090   19BC           00295               BTFSC TS_OK
0091   20E4           00296               CALL CLZB
                      00297 
0092   1ABC           00298               BTFSC DL_OK
0093   20FD           00299               CALL CLIN_PWM         ;PWM加减处理
                      00300 
0094   18BD           00301               BTFSC PWM_OUT
0095   2115           00302               CALL PWMOUT
                      00303 
0096   1A3C           00304               BTFSC DC_OK          
0097   213A           00305               CALL CLDC            ;欠压检测
0098   183D           00306               BTFSC OFF            ;判断是否有复位标志位
0099   2847           00307               GOTO RESET           ;复位
                      00308               
009A   1D06           00309               BTFSS PSC            ;刹车
009B   2170           00310               CALL CLSC
009C   183D           00311               BTFSC OFF            ;判断是否有复位标志位
009D   2847           00312               GOTO RESET           ;复位
009E   0064           00313               CLRWDT               ;清看门狗
MPASM  4.00 Released                             X36VZNYS.ASM   2-7-2007  13:57:55         PAGE  7


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

009F   143E           00314               BSF DS_OK            ;开启定速度检测
00A0   288A           00315               GOTO DDMOD           ;继续循环
                      00316 ;定速模式
00A1                  00317 DSMOD
00A1   1E3D           00318               BTFSS DS_ON
00A2   28A5           00319               GOTO DSMOD0
00A3   123D           00320               BCF DS_ON
00A4   288A           00321               GOTO DDMOD
00A5                  00322 DSMOD0       
00A5   1ABC           00323               BTFSC DL_OK
00A6   20FD           00324               CALL CLIN_PWM        ;PWM加减处理
                      00325               
00A7   18BD           00326               BTFSC PWM_OUT
00A8   2115           00327               CALL PWMOUT
                      00328 
00A9   1A3C           00329               BTFSC DC_OK
00AA   213A           00330               CALL CLDC    
00AB   183D           00331               BTFSC OFF           ;判断是否有复位标志位
00AC   2847           00332               GOTO RESET          ;复位
                      00333               
00AD   1D06           00334               BTFSS PSC           ;刹车
00AE   2170           00335               CALL CLSC
00AF   183D           00336               BTFSC OFF           ;判断是否有复位标志位
00B0   2847           00337               GOTO RESET          ;复位
00B1   0064           00338               CLRWDT              ;清看门狗
00B2   28A1           00339               GOTO DSMOD          ;继续循环
                      00340 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      00341 ;============================================================================
                      00342 ;----------------------------------------------------------------------------
                      00343 ;AD中断
                      00344 ;AD转换中断,由TIMER1中断启动(定时512US)
                      00345 ;AD转换对电流\转把\电池电压循环采样.
                      00346 ;电流采样8次转把采样一次,转把采样64次电池电压采样一次.
                      00347 ;----------------------------------------------------------------------------
00B3                  00348 INT_AD       
00B3   130C           00349              BCF PIR1,ADIF        ;清中断标志位
00B4   081E           00350              MOVF ADRES,W         ;读出转换结果
00B5   193C           00351              BTFSC DL_AD
00B6   28BE           00352              GOTO DL_ST
00B7   183C           00353              BTFSC TS_AD
00B8   28C1           00354              GOTO TS_ST
00B9   1CBC           00355              BTFSS DC_AD
00BA   28CF           00356              GOTO INT_AD0
00BB                  00357 DC_ST       
00BB   00A7           00358              MOVWF DC_V          ;存入电压值
00BC   163C           00359              BSF DC_OK           ;置转换完毕标志位
00BD   28CF           00360              GOTO INT_AD0
00BE                  00361 DL_ST        
00BE   00AB           00362              MOVWF DL_V
00BF   16BC           00363              BSF DL_OK           ;置转换完毕标志位
00C0   28CF           00364              GOTO INT_AD0
00C1                  00365 TS_ST        
00C1   00A5           00366              MOVWF TS_V
MPASM  4.00 Released                             X36VZNYS.ASM   2-7-2007  13:57:55         PAGE  8


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

00C2   15BC           00367              BSF TS_OK
00C3   3052           00368              MOVLW TSON          ;转把启动电压
00C4   0225           00369              SUBWF TS_V,W       
00C5   1803           00370              BTFSC STATUS,C      ;C=1,TS_V>TSON,达到开启电压
00C6   28CC           00371              GOTO TS_ST0
00C7   133C           00372              BCF TS_YX           ;没有达到开启电压,清转把有效标志位
00C8   11BC           00373              BCF TS_OK
00C9   300C           00374              MOVLW YSTS
00CA   00A4           00375              MOVWF TSS
00CB   28CF           00376              GOTO INT_AD0
00CC                  00377 TS_ST0       
00CC   0BA4           00378              DECFSZ TSS,F        ;延时TSS,确定转把准确的开启
00CD   28CF           00379              GOTO INT_AD0
00CE   173C           00380              BSF TS_YX           ;置转换开启标志位    
00CF                  00381 INT_AD0      
00CF   103C           00382              BCF TS_AD           ;清转换标志位
00D0   113C           00383              BCF DL_AD
00D1   10BC           00384              BCF DC_AD
00D2   0BB6           00385              DECFSZ ADTP0,F
00D3   28E0           00386              GOTO DL_ZH
00D4   3008           00387              MOVLW 0X08          ;电流采样8次,转把采样一次

⌨️ 快捷键说明

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