📄 x36vznys.lst
字号:
0170 00584 CLSC
0170 21FF 00585 CALL DEC10MS
0171 1906 00586 BTFSC PSC ;刹车
0172 0008 00587 RETURN
0173 00588 CLSC0
0173 0064 00589 CLRWDT ;清看门狗
0174 138B 00590 BCF INTCON,GIE ;关全局中断使能
0175 111F 00591 BCF ADCON0,GO ;关AD转换
0176 1217 00592 BCF CCP1CON,4 ;关脉宽输出
0177 1297 00593 BCF CCP1CON,5
0178 0195 00594 CLRF CCPR1L
0179 1D06 00595 BTFSS PSC ;判断是否还有刹车
017A 2973 00596 GOTO CLSC0
017B 21FF 00597 CALL DEC10MS
017C 1D06 00598 BTFSS PSC
017D 2973 00599 GOTO CLSC0
017E 143D 00600 BSF OFF ;置复位标志位
017F 0008 00601 RETURN
00602 ;----------------------------------------------------------------
00603 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00604 ;----------------------------------------------------------------
00605 ;助力检测:TIMER1定时512US,计数成32MS,32MS再计数50次,形成1.6S定时.
00606 ; 512US对助力I/O信号进行检测一次,判断是否发声变化.变化记
00607 ; 录下脉宽(脉宽是以32MS为单位),由脉宽判断是正反助力.正助
00608 ; 力(反助力)一次寄存器加一.以1.6S为单位,读出该寄存器的值,
00609 ; 则为助力信号值.
00610 ;---------------------------------------------------------------
00611 ;助力处理程序
00612 ;将ZL_V的值转化位为IN_PWM值
0180 00613 CLZL
0180 13BC 00614 BCF ZL_OK
0181 0832 00615 MOVF ZL_V,W
0182 00B3 00616 MOVWF ZLTP
0183 3002 00617 MOVLW 0X02
0184 0233 00618 SUBWF ZLTP,W ;ZLTP-2
0185 1803 00619 BTFSC STATUS,C ;C=0,ZLTP<2
0186 298A 00620 GOTO CLZL0
0187 133D 00621 BCF ZL_ON ;关助力模式
0188 01B3 00622 CLRF ZLTP
0189 299A 00623 GOTO CLZL_PWM
018A 00624 CLZL0
018A 173D 00625 BSF ZL_ON ;ZL_V>2,开助力模式
00626
018B 0834 00627 MOVF ZL_PWS,W
018C 1D03 00628 BTFSS STATUS,Z
018D 2990 00629 GOTO CLZL1
018E 3080 00630 MOVLW 0X80
018F 00B4 00631 MOVWF ZL_PWS
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 13
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0190 00632 CLZL1
0190 300D 00633 MOVLW 0X0D
0191 0233 00634 SUBWF ZLTP,W ;ZLTP<13,最大限制
0192 1803 00635 BTFSC STATUS,C
0193 29A2 00636 GOTO CLZL_UP
0194 0DB3 00637 RLF ZLTP,F ;*16
0195 0DB3 00638 RLF ZLTP,F
0196 0DB3 00639 RLF ZLTP,F
0197 0DB3 00640 RLF ZLTP,F
0198 3030 00641 MOVLW 0X30 ;+48
0199 07B3 00642 ADDWF ZLTP,F
00643
019A 00644 CLZL_PWM
019A 0833 00645 MOVF ZLTP,W
019B 0234 00646 SUBWF ZL_PWS,W ;ZL_PWS-ZLTP
019C 1903 00647 BTFSC STATUS,Z ;Z=0,ZL_PWS=ZLTP,相等,不调整
019D 29A9 00648 GOTO CLZL_UP_DW
019E 1C03 00649 BTFSS STATUS,C
019F 29A2 00650 GOTO CLZL_UP ;C=0,ZL_PWS<ZLTP
01A0 00651 CLZL_DW
01A0 03B4 00652 DECF ZL_PWS,F
01A1 29A9 00653 GOTO CLZL_UP_DW
01A2 00654 CLZL_UP
01A2 30F2 00655 MOVLW 0XF2 ;241
01A3 0234 00656 SUBWF ZL_PWS,W
01A4 1803 00657 BTFSC STATUS,C
01A5 29A9 00658 GOTO CLZL_UP_DW
01A6 0AB4 00659 INCF ZL_PWS,F
01A7 0AB4 00660 INCF ZL_PWS,F
01A8 0AB4 00661 INCF ZL_PWS,F
01A9 00662 CLZL_UP_DW
01A9 0834 00663 MOVF ZL_PWS,W
01AA 00A0 00664 MOVWF IN_PWM
01AB 0008 00665 RETURN
00666 ;----------------------------------------------------------------
00667 ;助力I/O状态检测(TIMER1 调用该程序)
01AC 00668 ZLJC
01AC 1D05 00669 BTFSS PZL
01AD 29B1 00670 GOTO ZLJC_L ;助力位为低
01AE 1FBD 00671 BTFSS ZL_PZL
01AF 29B4 00672 GOTO ZLJC_L0 ;低脉宽数 助力状态改变了
01B0 0008 00673 RETURN
01B1 00674 ZLJC_L
01B1 1BBD 00675 BTFSC ZL_PZL
01B2 29B9 00676 GOTO ZLJC_H0 ;高脉宽数 助力状态改变了
01B3 0008 00677 RETURN
01B4 00678 ZLJC_L0
01B4 082E 00679 MOVF ZL_TIM,W
01B5 00B0 00680 MOVWF ZL_TIM_L
01B6 01AE 00681 CLRF ZL_TIM
01B7 17BD 00682 BSF ZL_PZL ;助力当前电平状态--H
01B8 0008 00683 RETURN
01B9 00684 ZLJC_H0
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 14
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01B9 082E 00685 MOVF ZL_TIM,W
01BA 00AF 00686 MOVWF ZL_TIM_H ;读出高脉宽值
01BB 01AE 00687 CLRF ZL_TIM
01BC 13BD 00688 BCF ZL_PZL ;助力当前电平状态--L
01BD 1B3D 00689 BTFSC ZL_ON
01BE 29C3 00690 GOTO ZLJC_H1 ;助力有效后,正反助力都有效
01BF 082F 00691 MOVF ZL_TIM_H,W
01C0 0230 00692 SUBWF ZL_TIM_L,W ;ZL_TIM_H>ZL_TIM_L,C=0,正助力
01C1 1803 00693 BTFSC STATUS,C
01C2 0008 00694 RETURN
01C3 00695 ZLJC_H1
01C3 0AB1 00696 INCF ZL_HL,F ;正助力,ZL_V+1
01C4 0008 00697 RETURN
00698 ;----------------------------------------------------------------
00699 ;助力检测控制(TIMER1 32MS调用该程序)
01C5 00700 ZLJCOUT
01C5 17BC 00701 BSF ZL_OK ;助力输出位
01C6 0AAE 00702 INCF ZL_TIM,F ;助力脉宽计数加1
01C7 0BAD 00703 DECFSZ ZL_1S,F
01C8 0008 00704 RETURN
01C9 3028 00705 MOVLW 0X28
01CA 00AD 00706 MOVWF ZL_1S
01CB 0831 00707 MOVF ZL_HL,W
01CC 00B2 00708 MOVWF ZL_V ;助力值输出值
01CD 01B1 00709 CLRF ZL_HL
01CE 0008 00710 RETURN
00711 ;----------------------------------------------------------------
00712 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00713 ;----------------------------------------------------------------
00714 ;定速,DS_ON=1,定速键有效(TIMER1 32MS调用该程序)
01CF 00715 CLDS
01CF 1C3E 00716 BTFSS DS_OK ;转把有效后,开始检测定速键
01D0 29E2 00717 GOTO CLDS3
01D1 1A3D 00718 BTFSC DS_ON ;定速是否打开?
01D2 0008 00719 RETURN
01D3 1886 00720 BTFSC PDS ;判断键
01D4 29DB 00721 GOTO CLDS0
01D5 0BB5 00722 DECFSZ DS_TIM,F
01D6 0008 00723 RETURN
01D7 16BD 00724 BSF DS_DW ;定速键按下
01D8 3002 00725 MOVLW 0X02
01D9 00B5 00726 MOVWF DS_TIM
01DA 29DF 00727 GOTO CLDS1
01DB 00728 CLDS0
01DB 1EBD 00729 BTFSS DS_DW
01DC 0008 00730 RETURN
01DD 12BD 00731 BCF DS_DW
01DE 163D 00732 BSF DS_ON ;定速键有效
01DF 00733 CLDS1
01DF 3002 00734 MOVLW 0X02 ;延时间2*32MS
01E0 00B5 00735 MOVWF DS_TIM
01E1 0008 00736 RETURN
01E2 123D 00737 CLDS3 BCF DS_ON
MPASM 4.00 Released X36VZNYS.ASM 2-7-2007 13:57:55 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01E3 12BD 00738 BCF DS_DW
01E4 0008 00739 RETURN
00740 ;----------------------------------------------------------------
00741 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00742 ;------------------------------------------------------------------
00743 ;欠压报警闪烁输出
01E5 00744 QYBJ
01E5 1CBE 00745 BTFSS DC_BJ ;DC_BJ=1,开启
01E6 29F8 00746 GOTO CLOSBJ
01E7 0843 00747 MOVF QYBJ_TM,W
01E8 1D03 00748 BTFSS STATUS,Z
01E9 29F6 00749 GOTO QYBJ0
01EA 3010 00750 MOVLW 0X10
01EB 00C3 00751 MOVWF QYBJ_TM
01EC 1F06 00752 BTFSS PQY
01ED 29F4 00753 GOTO QYBJ1
01EE 0BC5 00754 DECFSZ BJ_CT,F
01EF 29F4 00755 GOTO QYBJ1
01F0 0844 00756 MOVF BJ_T,W
01F1 00C5 00757 MOVWF BJ_CT
01F2 1306 00758 BCF PQY
01F3 0008 00759 RETURN
01F4 00760 QYBJ1
01F4 1706 00761 BSF PQY
01F5 0008 00762 RETURN
01F6 00763 QYBJ0
01F6 03C3 00764 DECF QYBJ_TM,F
01F7 0008 00765 RETURN
01F8 00766 CLOSBJ
01F8 1706 00767 BSF PQY
01F9 0008 00768 RETURN
00769 ;----------------------------------------------------------------
00770 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00771 ;------------------------------------------------------------------
00772 ;10us延时
01FA 00773 DEC10US
01FA 3009 00774 MOVLW 0X09
01FB 00BA 00775 MOVWF RS
01FC 0BBA 00776 DEC10US_0 DECFSZ RS,F
01FD 29FC 00777 GOTO DEC10US_0
01FE 0008 00778 RETURN
00779 ;10MS延时
01FF 00780 DEC10MS
01FF 30A0 00781 MOVLW 0XA0
0200 00BB 00782 MOVWF RSS
0201 21FA 00783 DEC10MS_0 CALL DEC10US
0202 21FA 00784 CALL DEC10US
0203 0BBB 00785 DECFSZ RSS,F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -