📄 电机.asm
字号:
MOVLW 0x13 ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F4500
MOVLW 50 ; STORE 5000 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 0xA ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F4500
MOVLW 0x10 ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F4000
MOVLW 0x11 ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F4000
MOVLW 45 ; STORE 4500 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 9 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F4000
MOVLW 0xE ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F3500
MOVLW 0xF ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F3500
MOVLW 40 ; STORE 4000 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 8 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F3500
MOVLW 0xC ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F3000
MOVLW 0xD ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F3000
MOVLW 35 ; STORE 3500 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 7 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F3000
MOVLW 0xA ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F2500
MOVLW 0xB ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F2500
MOVLW 30 ; STORE 3000 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 6 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F2500
MOVLW 0x8 ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F2000
MOVLW 0x9 ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F2000
MOVLW 25 ; STORE 2500 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 5 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F2000
MOVLW 0x6 ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F1500
MOVLW 0x7 ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F1500
MOVLW 20 ; STORE 2000 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 4 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F1500
MOVLW 0x4 ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F1000
MOVLW 0x5 ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F1000
MOVLW 15 ; STORE 1500 RPM
MOVWF RPM_OK
MOVF POWEREE, 0 ; POWER DATA FOR EE PAGE SELECT
ADDLW 3 ; POSITION IN THE TABLE
BCF PCLATH,4
BCF PCLATH,3
CALL DATREAD ; READ THE EEPROM TABLE DATA
MOVWF ANGLE ; STORE ANGLE
GOTO RPMREADY ; END
F1000
MOVLW 0x2 ; READ FIRST HIGH BYTE
BCF PCLATH,4
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPMH ; STORE RPM HIGH BYTE
MOVF TMPH, 0
SUBWF RPMH, 0
BTFSS STATUS, C
GOTO F500
MOVLW 0x3 ; READ FIRST LOW BYTE
BSF PCLATH,3 ;Select page 1 (800h-FFFh)
CALL RPMData
BCF PCLATH,3
MOVWF RPML ; STORE RPM LOW BYTE
MOVF TMPH, 0
SUBWF RPML, 0
BTFSS STATUS, C
GOTO F500
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -