MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 00002 ; PICBASIC PRO(TM) Compiler 3.1.0.1, (c) 1997, 2017 ME Labs, Inc. All Rights Reserved. 00000001 00003 MPASMX_USED EQU 1 00004 00005 #define PBP_PATH C:\PROGRAM FILES (X86)\PBP3_1\ 00006 00007 00008 00009 00016 LIST 00017 LIST p = 16F1824, r = dec, w = -302, c = 255 00018 INCLUDE "P16F1824.INC" ; MPASM Header 00001 LIST 00002 00003 ;========================================================================== 00004 ; Build date : Nov 17 2016 00005 ; MPASM PIC16F1824 processor include 00006 ; 00007 ; (c) Copyright 1999-2016 Microchip Technology, All rights reserved 00008 ;========================================================================== 00009 01265 LIST 00021 LIST 00000020 00022 BLOCK_SIZE EQU 32 0000029E 00023 CCPTMRS0 EQU CCPTMRS ; CCPTMRS0 legacy SFR name 00024 00025 00026 PBP_HARDWAREDEF macro 00027 endm 00028 00029 00030 errorlevel -303 00031 00032 8007 0FA4 00033 __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_ON & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF 8008 1CFF 00034 __config _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF 00035 00036 00037 00038 ; Define statements. 00039 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00244 DEFINE CODE_SIZE 4 00040 #define CODE_SIZE 4 00041 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00016 DEFINE OSC 4 ; Use a 4 MHZ internal clock 00042 #define OSC 4 ; Use a 4 MHZ internal clock 00043 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00039 DEFINE HSER_BAUD 9600 ; Set Baud rate to 9600b 00044 #define HSER_BAUD 9600 ; Set Baud rate to 9600bps 00045 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00040 DEFINE HSER_CLROERR 1 ; Clear overflow error a 00046 #define HSER_CLROERR 1 ; Clear overflow error automatically 00047 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00041 DEFINE HSER_TXSTA 24h ; Set receive register to TX 00048 #define HSER_TXSTA 24h ; Set receive register to TX en 00049 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00042 define HSER_SPBRG 25 00050 #define HSER_SPBRG 25 00051 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00043 DEFINE HSER_SPBRGH 1 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 2 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00052 #define HSER_SPBRGH 1 00053 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00044 DEFINE HSER_RCSTA 90h 00054 #define HSER_RCSTA 90h 00055 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00010 DEFINE INTHAND INT_CODE ' Tell PBP Where the code starts on an interrupt 00056 #define INTHAND INT_CODE 00057 00000020 00058 RAM_START EQU 00020h 0000016F 00059 RAM_END EQU 0016Fh 00000003 00060 RAM_BANKS EQU 00003h 00000020 00061 BANK0_START EQU 00020h 0000007F 00062 BANK0_END EQU 0007Fh 000000A0 00063 BANK1_START EQU 000A0h 000000EF 00064 BANK1_END EQU 000EFh 00000120 00065 BANK2_START EQU 00120h 0000016F 00066 BANK2_END EQU 0016Fh 0000F000 00067 EEPROM_START EQU 0F000h 0000F0FF 00068 EEPROM_END EQU 0F0FFh 00069 00070 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00012 A00020 R0 VAR WORD BANK0 SYSTEM ' System Register 00000020 00071 R0 EQU RAM_START + 000h 00072 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00013 A00022 R1 VAR WORD BANK0 SYSTEM ' System Register 00000022 00073 R1 EQU RAM_START + 002h 00074 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00014 A00024 R2 VAR WORD BANK0 SYSTEM ' System Register 00000024 00075 R2 EQU RAM_START + 004h 00076 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00015 A00026 R3 VAR WORD BANK0 SYSTEM ' System Register 00000026 00077 R3 EQU RAM_START + 006h 00078 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00016 A00028 R4 VAR WORD BANK0 SYSTEM ' System Register 00000028 00079 R4 EQU RAM_START + 008h 00080 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00017 A0002A R5 VAR WORD BANK0 SYSTEM ' System Register 0000002A 00081 R5 EQU RAM_START + 00Ah 00082 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00018 A0002C R6 VAR WORD BANK0 SYSTEM ' System Register 0000002C 00083 R6 EQU RAM_START + 00Ch 00084 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00019 A0002E R7 VAR WORD BANK0 SYSTEM ' System Register 0000002E 00085 R7 EQU RAM_START + 00Eh 00086 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00020 A00030 R8 VAR WORD BANK0 SYSTEM ' System Register 00000030 00087 R8 EQU RAM_START + 010h 00088 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00033 A00032 TMR1_OFF_VAL var word Bank0 ' # to load TMR1 for Off Time 00000032 00089 _TMR1_OFF_VAL EQU RAM_START + 012h 00090 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00032 A00034 TMR1_ON_VAL var word Bank0 ' # to load TMR1 for On Time 00000034 00091 _TMR1_ON_VAL EQU RAM_START + 014h 00092 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00036 A00036 DataFlags var byte Bank0 00000036 00093 _DataFlags EQU RAM_START + 016h 00094 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00028 A00037 FLAGS VAR BYTE BANK0 SYSTEM ' Static flags 00000037 00095 FLAGS EQU RAM_START + 017h 00096 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00027 A00038 GOP VAR BYTE BANK0 SYSTEM ' Gen Op Parameter 00000038 00097 GOP EQU RAM_START + 018h 00098 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00026 A00039 PicOSC var byte Bank0 ' OSC value, Usable in PBP 00000039 00099 _PicOSC EQU RAM_START + 019h 00100 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00023 A0003A RM1 VAR BYTE BANK0 SYSTEM ' Pin 1 Mask 0000003A 00101 RM1 EQU RAM_START + 01Ah 00102 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00026 A0003B RM2 VAR BYTE BANK0 SYSTEM ' Pin 2 Mask 0000003B 00103 RM2 EQU RAM_START + 01Bh 00104 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00021 A0003C RR1 VAR BYTE BANK0 SYSTEM ' Pin 1 Register MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 3 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0000003C 00105 RR1 EQU RAM_START + 01Ch 00106 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00024 A0003D RR2 VAR BYTE BANK0 SYSTEM ' Pin 2 Register 0000003D 00107 RR2 EQU RAM_START + 01Dh 00108 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00022 A0003E RS1 VAR BYTE BANK0 SYSTEM ' Pin 1 Bank 0000003E 00109 RS1 EQU RAM_START + 01Eh 00110 ; C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.RAM 00025 A0003F RS2 VAR BYTE BANK0 SYSTEM ' Pin 2 Bank 0000003F 00111 RS2 EQU RAM_START + 01Fh 00112 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00029 A00040 T1CONoff var byte Bank0 00000040 00113 _T1CONoff EQU RAM_START + 020h 00114 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00028 A00041 Position var word ' 0 - 900 0 = 1.05ms 900 = 1.95ms 00000041 00115 _Position EQU RAM_START + 021h 00116 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00023 A00043 PulseTicks1ms var word ' # of Ticks for 1ms 00000043 00117 _PulseTicks1ms EQU RAM_START + 023h 00118 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00001 A00045 '*********************************************** 00000045 00119 T1 EQU RAM_START + 025h 00120 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00024 A00047 TicksPeruSx100 var word ' # of Timer Ticks to = 1 us * 100 00000047 00121 _TicksPeruSx100 EQU RAM_START + 027h 00122 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00031 A00049 TMR1_OFF_TICKS var word ' # of Tmr ticks for Off Time 00000049 00123 _TMR1_OFF_TICKS EQU RAM_START + 029h 00124 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00030 A0004B TMR1_ON_TICKS var word ' # of Tmr ticks for On Time 0000004B 00125 _TMR1_ON_TICKS EQU RAM_START + 02Bh 00126 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00025 A0004D uS50Hz var word ' # of Ticks for 50 Hz with prescaler 0000004D 00127 _uS50Hz EQU RAM_START + 02Dh 00128 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00021 A0004F W1 var word ' Temporary variable 0000004F 00129 _W1 EQU RAM_START + 02Fh 00130 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00036 A00051 cmd var byte 00000051 00131 _cmd EQU RAM_START + 031h 00132 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00035 A00052 n var byte 00000052 00133 _n EQU RAM_START + 032h 00134 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00027 A00053 OffTimePrescaler var byte ' Timer1 Prescale value during OFF period 00000053 00135 _OffTimePrescaler EQU RAM_START + 033h 00136 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00022 A00054 y var byte ' Temporary variable 00000054 00137 _y EQU RAM_START + 034h 00138 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00245 PORTL VAR PORTA 0000000C 00139 _PORTL EQU PORTA 00140 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00246 PORTH VAR PORTC 0000000E 00141 _PORTH EQU PORTC 00142 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00247 TRISL VAR TRISA 0000008C 00143 _TRISL EQU TRISA 00144 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00248 TRISH VAR TRISC 0000008E 00145 _TRISH EQU TRISC 00146 #define _PWPSpin _PORTC??1 00147 #define _safety _PORTC??0 00148 #define _Valid _DataFlags??0 00149 #define _PWPSenabled _DataFlags??1 00150 #define _PWPSstate _DataFlags??2 00151 #define _GIE _INTCON??7 00152 #define _PEIE _INTCON??6 00153 #define _TMR1IE _PIE1??0 00154 #define _TMR1ON _T1CON??0 00155 #define _OPTION_REG??7 OPTION_REG, 007h 00156 #define _APFCON0??7 APFCON0, 007h 00157 #define _APFCON0??2 APFCON0, 002h MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 4 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00158 #define _PORTC??1 PORTC, 001h 00159 #define _PORTC??0 PORTC, 000h 00160 #define _DataFlags??0 _DataFlags, 000h 00161 #define _DataFlags??1 _DataFlags, 001h 00162 #define _DataFlags??2 _DataFlags, 002h 00163 #define _INTCON??7 INTCON, 007h 00164 #define _INTCON??6 INTCON, 006h 00165 #define _PIE1??0 PIE1, 000h 00166 #define _T1CON??0 T1CON, 000h 00167 INCLUDE "ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.MAC" 00001 00443 LIST 00168 INCLUDE "C:\PROGRAM FILES (X86)\PBP3_1\PBPPI14E.LIB" 00001 ;****************************************************************** 00002 ;* PBPPI14E.LIB * 00003 ;* * 00004 ;* By : Leonard Zerman, Jeff Schmoyer, Charles Leo * 00005 ;* Notice : Copyright (c) 2017 microEngineering Labs, Inc. * 00006 ;* All Rights Reserved * 00007 ;* Date : 03/27/2017 * 00008 ;* Version : 3.1.0 * 00009 ;* Notes : * 00010 ;****************************************************************** 00054 LIST 00055 ; Oscillator is 4MHz 01154 LIST 0000 01155 ORG RESET_ORG ; Reset vector usually at 0 01170 LIST 0000 28EB 01171 goto INIT ; Finish initialization 01181 LIST 0004 01182 ORG RESET_ORG + 4 ; Interrupt vector at 4 0004 3181 01183 movlp (INTHAND) >> 8 ; PCLATH automatically shadowed 0005 2909 01184 goto INTHAND ; Goto user interrupt handler 02283 LIST 0006 02284 HSERINTO 02285 ifdef HSER_CLROERR 0006 0023 02286 movlb RCSTA >> 7 ; Point to bank 0007 189D 02287 btfsc RCSTA, OERR ; Check for overflow error 0008 121D 02288 bcf RCSTA, CREN ; Toggle continuous receive to clear error 0009 161D 02289 bsf RCSTA, CREN 000A 0020 02290 movlb 0 ; Point back to bank 0 02291 endif 000B 082C 02292 movf R6, W ; Move timeout so it doesn't get wrecked 000C 00A0 02293 movwf R0 000D 082D 02294 movf R6 + 1, W 000E 00A1 02295 movwf R0 + 1 000F 01A2 02296 clrf R1 ; Zero inside loop counter 0010 01A3 02297 clrf R1 + 1 02298 hserintoloop CLRWDT?NOP ; 1 (10, 19) Keep Watchdog timer clear M ifndef NO_CLRWDT 0011 0064 M clrwdt M else M nop MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 5 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif 0012 1A91 02299 btfsc PIR, RCIF ; 2 Check for char 0013 2823 02300 goto HSERINX 0014 0103 02301 clrw ; 1 For subtracts 0015 1003 02302 bcf STATUS, C ; 1 0016 3BA2 02303 subwfb R1, F ; 1 0017 3BA3 02304 subwfb R1 + 1, F ; 1 0018 1803 02305 btfsc STATUS, C ; 1 / 2 0019 2811 02306 goto hserintoloop ; 2 / 0 001A 3BA0 02307 subwfb R0, F ; 1 001B 3BA1 02308 subwfb R0 + 1, F ; 1 001C 1C03 02309 btfss STATUS, C ; 2 001D 0008 02310 return ; Timed out (C clear) 001E 3064 02311 movlw low (HSERINTO_DELAY) ; 1 Reset inside loop counter 001F 00A2 02312 movwf R1 ; 1 0020 3000 02313 movlw low ((HSERINTO_DELAY) >> 8) ; 1 0021 00A3 02314 movwf R1 + 1 ; 1 0022 2811 02315 goto hserintoloop ; 2 02338 LIST 0023 02339 HSERINX 02340 ifdef HSERPARITY_USED 02341 if ((HSER_BITS) == 9) 02342 movlb RCSTA >> 7 ; Point to bank 02343 rrf RCSTA, W ; Shuffle 9th bit to R4.0 02344 movlb 0 ; Point back to bank 0 02345 rlf R4, F ; (Ends up in R4.1) 02346 endif 02347 endif 02348 0023 0023 02349 movlb RCREG >> 7 ; Point to bank 0024 0819 02350 movf RCREG, W ; Get the char 0025 0020 02351 movlb 0 ; Point back to bank 0 02352 02353 ifdef HSERPARITY_USED 02354 call HSERPARITY ; Calculate the parity 02355 rrf GOP, F ; Shuffle parity bit from GOP.0 to R4.0 02356 rlf R4, F 02357 if ((HSER_BITS) != 9) 02358 andlw 7fh ; Get rid of the parity bit 02359 else 02360 btfsc R4, 1 ; Add in 9th bit, saved earlier 02361 incf R4, F 02362 endif 02363 ifdef HSER_ODD 02364 incf R4, F 02365 endif 02366 endif 02367 0026 1403 02368 bsf STATUS, C ; Indicate not timed out (C set) 0027 28E8 02369 goto DONE ; That's it 03364 LIST 0028 3800 03365 LOOK2 iorlw 0 ; Check for constant 0029 1903 03366 btfsc STATUS, Z MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 6 LOC OBJECT CODE LINE SOURCE TEXT VALUE 002A 28E8 03367 goto DONE ; Constant so all set 002B 00A8 03368 movwf R4 ; Save type 002C 0820 03369 movf R0, W ; Set FSR for translate 002D 0084 03370 movwf FSR0L 002E 0821 03371 movf R0 + 1, W 002F 0085 03372 movwf FSR0H 0030 01A0 03373 clrf R0 ; Clear the result 0031 01A1 03374 clrf R0 + 1 0032 1BA8 03375 btfsc R4, 7 ; Check type 0033 283B 03376 goto look2bit ; Bit type 0034 0012 03377 moviw INDF0++ ; Get low byte of data 0035 00A0 03378 movwf R0 ; Store it 0036 1CA8 03379 btfss R4, 1 ; Byte or word? 0037 28E8 03380 goto DONE ; Byte 0038 0800 03381 movf INDF0, W ; Word - get high byte 0039 00A1 03382 movwf R0 + 1 ; Store high byte 003A 28E8 03383 goto DONE 003B 2076 03384 look2bit call CONVBIT ; Change bit to mask 003C 0500 03385 andwf INDF0, W ; Isolate bit 003D 1D03 03386 btfss STATUS, Z ; Bit / no bit? 003E 0AA0 03387 incf R0, F ; Bit 003F 28E8 03388 goto DONE 04733 LIST 0040 01A4 04734 SERIN2DEC clrf R2 ; Zero result 0041 01A5 04735 clrf R2 + 1 0042 12B8 04736 bcf GOP, 5 ; Preset to plus 0043 20E3 04737 serin2decl0 call JUMPMAN ; Get char from serial 04738 ifdef SERIN2TO_USED 0044 1C03 04739 btfss STATUS, C ; Timed out? 0045 0008 04740 return ; Yes 04741 endif 0046 3ED3 04742 addlw -'-' ; Check for minus 0047 1903 04743 btfsc STATUS, Z 0048 16B8 04744 bsf GOP, 5 ; Mark as minus 0049 3E2D 04745 addlw '-' ; Restore char 004A 3EC6 04746 addlw 0c6h ; Check for non-numeric 004B 1803 04747 btfsc STATUS, C 004C 2843 04748 goto serin2decl0 ; Wait for number 004D 3E0A 04749 addlw 10 ; Still checking 004E 1C03 04750 btfss STATUS, C 004F 2843 04751 goto serin2decl0 ; Wait for number 0050 00A2 04752 serin2decloop movwf R1 ; Save altered char 0051 3524 04753 lslf R2, W ; Multiply last * 10 0052 00A0 04754 movwf R0 0053 0D25 04755 rlf R2 + 1, W 0054 00A1 04756 movwf R0 + 1 0055 0D20 04757 rlf R0, W 0056 0DA1 04758 rlf R0 + 1, F ; That's * 4 0057 07A4 04759 addwf R2, F ; R2 = R2 + R0 0058 0821 04760 movf R0 + 1, W 0059 3DA5 04761 addwfc R2 + 1, F ; That's * 5 005A 0DA4 04762 rlf R2, F ; * 2 one more time 005B 0DA5 04763 rlf R2 + 1, F MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 7 LOC OBJECT CODE LINE SOURCE TEXT VALUE 005C 0822 04764 movf R1, W ; Get char 005D 07A4 04765 addwf R2, F 005E 1803 04766 btfsc STATUS, C 005F 0AA5 04767 incf R2 + 1, F 0060 03A9 04768 decf R4 + 1, F ; Count down number of digits 0061 1903 04769 btfsc STATUS, Z 0062 286C 04770 goto serin2done 0063 20E3 04771 call JUMPMAN ; Get char from serial 04772 ifdef SERIN2TO_USED 0064 1C03 04773 btfss STATUS, C ; Timed out? 0065 0008 04774 return ; Yes 04775 endif 0066 3EC6 04776 addlw 0c6h ; Check for non-numeric 0067 1803 04777 btfsc STATUS, C 0068 286C 04778 goto serin2done ; Done if not number 0069 3E0A 04779 addlw 10 ; Still checking 006A 1803 04780 btfsc STATUS, C 006B 2850 04781 goto serin2decloop ; Not done yet 04782 ; goto serin2done ; Done if not number (Fall through) 04789 LIST 006C 1EB8 04790 serin2done btfss GOP, 5 ; Check for minus 006D 2873 04791 goto serin2done1 006E 09A4 04792 comf R2, F ; Flip value to minus 006F 09A5 04793 comf R2 + 1, F 0070 0AA4 04794 incf R2, F 0071 1903 04795 btfsc STATUS, Z 0072 0AA5 04796 incf R2 + 1, F 0073 0824 04797 serin2done1 movf R2, W ; Low part of result to W 04798 ifdef SERIN2TO_USED 0074 1403 04799 bsf STATUS, C ; Indicate not timed out (C set) 04800 endif 0075 28E8 04801 goto DONE 06174 LIST 0076 3001 06175 CONVBIT movlw 1 ; Start with 1 for 0 0077 1828 06176 btfsc R4, 0 0078 3509 06177 lslf WREG, W ; Times 2 for 1 or 3 0079 18A8 06178 btfsc R4, 1 007A 3509 06179 lslf WREG, W ; Times 4 for 2 or 3 007B 18A8 06180 btfsc R4, 1 007C 3509 06181 lslf WREG, W 007D 1928 06182 btfsc R4, 2 007E 0E09 06183 swapf WREG, W ; Swap to top if 4 to 7 007F 0008 06184 return 07176 LIST 0080 2093 07177 MIN call CMPGT 07184 LIST 0081 1903 07185 MAXMIN btfsc STATUS, Z ; Need to move R1 to R0? 0082 2887 07186 goto maxminexit ; No 0083 0823 07187 movf R1 + 1, W ; Yes 0084 00A1 07188 movwf R0 + 1 0085 0822 07189 movf R1, W 0086 00A0 07190 movwf R0 0087 0820 07191 maxminexit movf R0, W ; Get low byte to W MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 8 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0088 0008 07192 return ; DONE called in CMP 07268 LIST 0089 35A0 07269 shiftlloop lslf R0, F ; Shift left once 008A 0DA1 07270 rlf R0 + 1, F 008B 3EFF 07271 SHIFTL addlw -1 008C 1803 07272 btfsc STATUS, C ; Done? 008D 2889 07273 goto shiftlloop 008E 0820 07274 movf R0, W ; Move low part of result to W 008F 28E8 07275 goto DONE 07436 LIST 0090 00A2 07437 CMPGE movwf R1 0091 3003 07438 movlw 3 ; Mask for = > 0092 2899 07439 goto CMP 07469 LIST 0093 00A2 07470 CMPGT movwf R1 0094 3001 07471 movlw 1 ; Mask for > 0095 2899 07472 goto CMP 07502 LIST 0096 00A2 07503 CMPLE movwf R1 0097 3006 07504 movlw 6 ; Mask for < = 0098 2899 07505 goto CMP 07587 LIST 0099 00A8 07588 CMP movwf R4 ; Save compare state 009A 0823 07589 movf R1 + 1, W ; Flags = MSB(R0) - MSB(R1) 009B 0221 07590 subwf R0 + 1, W 009C 1D03 07591 btfss STATUS, Z ; If unequal then done 009D 28A0 07592 goto cmpnoteq 009E 0822 07593 movf R1, W ; Flags = LSB(R0) - LSB(R1) 009F 0220 07594 subwf R0, W 00A0 3004 07595 cmpnoteq movlw 4 ; W = 4 if R0 < R1 00A1 1803 07596 btfsc STATUS, C 00A2 3001 07597 movlw 1 ; W = 1 if R0 > R1 00A3 1903 07598 btfsc STATUS, Z 00A4 3002 07599 movlw 2 ; W = 2 if R0 == R1 00A5 0528 07600 andwf R4, W ; Mask for compare state 00A6 1D03 07601 btfss STATUS, Z 00A7 30FF 07602 movlw -1 00A8 28E8 07603 goto DONE 07789 LIST 00A9 00A2 07790 DIV32L movwf R1 ; Save low part of divisor 00AA 0820 07791 movf R0, W ; Swap R0 and R2 00AB 00A6 07792 movwf R3 00AC 0824 07793 movf R2, W 00AD 00A0 07794 movwf R0 ; R0 becomes low order 16 00AE 0826 07795 movf R3, W 00AF 00A4 07796 movwf R2 ; R2 becomes high order 16 00B0 0821 07797 movf R0 + 1, W 00B1 00A6 07798 movwf R3 00B2 0825 07799 movf R2 + 1, W 00B3 00A1 07800 movwf R0 + 1 00B4 0826 07801 movf R3, W 00B5 00A5 07802 movwf R2 + 1 00B6 28B9 07803 goto DIV32DIV ; Do the divide MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 9 LOC OBJECT CODE LINE SOURCE TEXT VALUE 07819 LIST 00B7 01A5 07820 DIV clrf R2 + 1 00B8 01A4 07821 clrf R2 07822 00B9 3010 07823 DIV32DIV movlw 16 00BA 00A6 07824 movwf R3 07825 00BB 0D21 07826 divloop rlf R0 + 1, W 00BC 0DA4 07827 rlf R2, F 00BD 0DA5 07828 rlf R2 + 1, F 00BE 0822 07829 movf R1, W 00BF 02A4 07830 subwf R2, F 00C0 0823 07831 movf R1 + 1, W 00C1 3BA5 07832 subwfb R2 + 1, F 07833 00C2 1803 07834 btfsc STATUS, C 00C3 28C9 07835 goto divok 00C4 0822 07836 movf R1, W 00C5 07A4 07837 addwf R2, F 00C6 0823 07838 movf R1 + 1, W 00C7 3DA5 07839 addwfc R2 + 1, F 07840 00C8 1003 07841 bcf STATUS, C 07842 00C9 0DA0 07843 divok rlf R0, F 00CA 0DA1 07844 rlf R0 + 1, F 07845 00CB 0BA6 07846 decfsz R3, F 00CC 28BB 07847 goto divloop 00CD 0820 07848 movf R0, W ; Get low byte to W 00CE 28E8 07849 goto DONE 07866 LIST 00CF 3010 07867 MUL movlw 16 ; For 16 shifts 00D0 00A8 07868 movwf R4 07869 00D1 01A1 07870 clrf R0 + 1 00D2 01A0 07871 clrf R0 07872 00D3 0CA7 07873 mulloop rrf R3 + 1, F 00D4 0CA6 07874 rrf R3, F 00D5 1C03 07875 btfss STATUS, C 00D6 28DB 07876 goto mull1 ; Skip add 00D7 0822 07877 movf R1, W ; 16-bit add with carry out 00D8 07A0 07878 addwf R0, F 00D9 0823 07879 movf R1 + 1, W 00DA 3DA1 07880 addwfc R0 + 1, F 00DB 0CA1 07881 mull1 rrf R0 + 1, F 00DC 0CA0 07882 rrf R0, F 00DD 0CA5 07883 rrf R2 + 1, F 00DE 0CA4 07884 rrf R2, F 00DF 0BA8 07885 decfsz R4, F 00E0 28D3 07886 goto mulloop 00E1 0824 07887 movf R2, W ; Get low byte to W MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 10 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00E2 28E8 07888 goto DONE 07903 LIST 00E3 0084 07904 JUMPMAN movwf FSR0L 00E4 0831 07905 movf R8 + 1, W 00E5 008A 07906 movwf PCLATH 00E6 0830 07907 movf R8, W 00E7 0082 07908 movwf PCL 07922 LIST 00E8 0020 07923 DONE movlb 0 ; 1 Show direct bank 0 07924 DONE5 CLRWDT?NOP ; 1 Hit Watchdog timer M ifndef NO_CLRWDT 00E9 0064 M clrwdt M else M nop M endif 00EA 0008 07925 DONERET return ; 2 Done 07945 LIST 00EB 07946 INIT 07947 07955 LIST 07956 MOVE?CB HSER_SPBRG, SPBRG ; Set baud rate generator reg M CHK?RP SPBRG M if ((((SPBRG) >> 7) != PREV_BANK) & (((SPBRG) & 007fh) > 0bh)) 00EB 0023 M movlb (SPBRG) >> 7 00000003 M PREV_BANK = (SPBRG) >> 7 M endif M if (low (25) == 0) M clrf SPBRG M else 00EC 3019 M movlw low (25) 00ED 009B M movwf SPBRG M endif 07957 ifdef HSER_SPBRGH 07958 ifdef SPBRGH 07959 MOVE?CB HSER_SPBRGH, SPBRGH ; Set baud rate generator reg high M CHK?RP SPBRGH M if ((((SPBRGH) >> 7) != PREV_BANK) & (((SPBRGH) & 007fh) > 0bh)) M movlb (SPBRGH) >> 7 M PREV_BANK = (SPBRGH) >> 7 M endif M if (low (1) == 0) M clrf SPBRGH M else 00EE 3001 M movlw low (1) 00EF 009C M movwf SPBRGH M endif 07960 endif 07961 endif 07962 MOVE?CB HSER_TXSTA, TXSTA ; Set transmit control reg M CHK?RP TXSTA M if ((((TXSTA) >> 7) != PREV_BANK) & (((TXSTA) & 007fh) > 0bh)) M movlb (TXSTA) >> 7 M PREV_BANK = (TXSTA) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 11 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M if (low (24h) == 0) M clrf TXSTA M else 00F0 3024 M movlw low (24h) 00F1 009E M movwf TXSTA M endif 07963 MOVE?CB HSER_RCSTA, RCSTA ; Set receive control reg M CHK?RP RCSTA M if ((((RCSTA) >> 7) != PREV_BANK) & (((RCSTA) & 007fh) > 0bh)) M movlb (RCSTA) >> 7 M PREV_BANK = (RCSTA) >> 7 M endif M if (low (90h) == 0) M clrf RCSTA M else 00F2 3090 M movlw low (90h) 00F3 009D M movwf RCSTA M endif 07988 LIST 00F4 07989 main 00169 00170 00171 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00036 #HEADER 00172 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00061 #CONFIG 00173 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00235 BANK0 $0020, $007F 00174 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00236 BANK1 $00A0, $00EF 00175 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00237 BANK2 $0120, $016F 00176 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00239 EEPROM $F000, $F0FF 00177 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00241 #ERROR "-n option (PBPL) is not supported for this device." 00178 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00242 #ENDIF 00179 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00243 LIBRARY "PBPPI14E" 00180 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00244 DEFINE CODE_SIZE 4 00181 00182 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00249 include "PBPPI14E.RAM" 00183 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00253 #HEADER 00184 ; C:\PROGRAM FILES (X86)\PBP3_1\DEVICES\PIC16F1824.PBPINC 00261 #HEADER 00185 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00011 #CONFIG 00186 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00016 DEFINE OSC 4 ; Use a 4 MHZ internal clock 00187 00188 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00017 OSCCON = %01101000 00189 MOVE?CB 068h, OSCCON M CHK?RP OSCCON M if ((((OSCCON) >> 7) != PREV_BANK) & (((OSCCON) & 007fh) > 0bh)) 00F4 0021 M movlb (OSCCON) >> 7 00000001 M PREV_BANK = (OSCCON) >> 7 M endif M if (low (068h) == 0) M clrf OSCCON M else 00F5 3068 M movlw low (068h) 00F6 0099 M movwf OSCCON M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 12 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00190 00191 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00019 ANSELA = 0 00192 MOVE?CB 000h, ANSELA M CHK?RP ANSELA M if ((((ANSELA) >> 7) != PREV_BANK) & (((ANSELA) & 007fh) > 0bh)) 00F7 0023 M movlb (ANSELA) >> 7 00000003 M PREV_BANK = (ANSELA) >> 7 M endif M if (low (000h) == 0) 00F8 018C M clrf ANSELA M else M movlw low (000h) M movwf ANSELA M endif 00193 00194 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00020 ANSELC = 0 00195 MOVE?CB 000h, ANSELC M CHK?RP ANSELC M if ((((ANSELC) >> 7) != PREV_BANK) & (((ANSELC) & 007fh) > 0bh)) M movlb (ANSELC) >> 7 M PREV_BANK = (ANSELC) >> 7 M endif M if (low (000h) == 0) 00F9 018E M clrf ANSELC M else M movlw low (000h) M movwf ANSELC M endif 00196 00197 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00021 TRISA = %000000 00198 MOVE?CB 000h, TRISA M CHK?RP TRISA M if ((((TRISA) >> 7) != PREV_BANK) & (((TRISA) & 007fh) > 0bh)) 00FA 0021 M movlb (TRISA) >> 7 00000001 M PREV_BANK = (TRISA) >> 7 M endif M if (low (000h) == 0) 00FB 018C M clrf TRISA M else M movlw low (000h) M movwf TRISA M endif 00199 00200 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00022 TRISC = %00100001 ; PORT C.5 input RX, C.0 safety, rest 00201 MOVE?CB 021h, TRISC M CHK?RP TRISC M if ((((TRISC) >> 7) != PREV_BANK) & (((TRISC) & 007fh) > 0bh)) M movlb (TRISC) >> 7 M PREV_BANK = (TRISC) >> 7 M endif M if (low (021h) == 0) M clrf TRISC M else MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 13 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00FC 3021 M movlw low (021h) 00FD 008E M movwf TRISC M endif 00202 00203 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00023 CM1CON0 = 0 ; Disable comparator 1 00204 MOVE?CB 000h, CM1CON0 M CHK?RP CM1CON0 M if ((((CM1CON0) >> 7) != PREV_BANK) & (((CM1CON0) & 007fh) > 0bh)) 00FE 0022 M movlb (CM1CON0) >> 7 00000002 M PREV_BANK = (CM1CON0) >> 7 M endif M if (low (000h) == 0) 00FF 0191 M clrf CM1CON0 M else M movlw low (000h) M movwf CM1CON0 M endif 00205 00206 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00024 CM2CON0 = 0 ; Disable comparator 2 00207 MOVE?CB 000h, CM2CON0 M CHK?RP CM2CON0 M if ((((CM2CON0) >> 7) != PREV_BANK) & (((CM2CON0) & 007fh) > 0bh)) M movlb (CM2CON0) >> 7 M PREV_BANK = (CM2CON0) >> 7 M endif M if (low (000h) == 0) 0100 0193 M clrf CM2CON0 M else M movlw low (000h) M movwf CM2CON0 M endif 00208 00209 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00025 OPTION_REG.7=1 ; Disable weak pull ups 00210 MOVE?CT 001h, _OPTION_REG??7 M CHK?RP OPTION_REG M if ((((OPTION_REG) >> 7) != PREV_BANK) & (((OPTION_REG) & 007fh) > 0bh)) 0101 0021 M movlb (OPTION_REG) >> 7 00000001 M PREV_BANK = (OPTION_REG) >> 7 M endif M if (((001h) & 1) == 1) 0102 1795 M bsf OPTION_REG, 007h M else M bcf OPTION_REG, 007h M endif 00211 00212 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00026 APFCON0.7=0 00213 MOVE?CT 000h, _APFCON0??7 M CHK?RP APFCON0 M if ((((APFCON0) >> 7) != PREV_BANK) & (((APFCON0) & 007fh) > 0bh)) 0103 0022 M movlb (APFCON0) >> 7 00000002 M PREV_BANK = (APFCON0) >> 7 M endif M if (((000h) & 1) == 1) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 14 LOC OBJECT CODE LINE SOURCE TEXT VALUE M bsf APFCON0, 007h M else 0104 139D M bcf APFCON0, 007h M endif 00214 00215 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00027 APFCON0.2=0 00216 MOVE?CT 000h, _APFCON0??2 M CHK?RP APFCON0 M if ((((APFCON0) >> 7) != PREV_BANK) & (((APFCON0) & 007fh) > 0bh)) M movlb (APFCON0) >> 7 M PREV_BANK = (APFCON0) >> 7 M endif M if (((000h) & 1) == 1) M bsf APFCON0, 002h M else 0105 111D M bcf APFCON0, 002h M endif 00217 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00039 DEFINE HSER_BAUD 9600 ; Set Baud rate to 9600b 00218 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00040 DEFINE HSER_CLROERR 1 ; Clear overflow error a 00219 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00041 DEFINE HSER_TXSTA 24h ; Set receive register to TX 00220 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00042 define HSER_SPBRG 25 00221 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00043 DEFINE HSER_SPBRGH 1 00222 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00044 DEFINE HSER_RCSTA 90h 00223 00224 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00047 include "PWPS_Servo_Richard.INC" ; So 00225 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00010 DEFINE INTHAND INT_CODE ' Tell PBP Where the code starts on an interrupt 00226 00227 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00048 goto GetOsc 00228 GOTO?L _GetOsc M L?GOTO _GetOsc M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_GetOsc)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) 0106 0020 M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_GetOsc) >> 8 M endif M goto _GetOsc M else M if ((_GetOsc) < 1) M if (CODE_SIZE > 2) M movlp (_GetOsc) >> 8 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 15 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M goto _GetOsc M else M if ((_GetOsc) > $) M if (CODE_SIZE > 2) 0107 3182 M movlp (_GetOsc) >> 8 M endif 0108 2AC7 M goto _GetOsc M else M if ((_GetOsc) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_GetOsc) >> 8 M endif M goto _GetOsc M else M bra _GetOsc M endif M endif M endif M endif 00229 00230 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00052 asm 00231 00232 ASM? M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 00233 0109 00234 INT_CODE 00235 ;if (CODE_SIZE <= 2) 00236 ; movwf wsave ; copy W to wsave register 00237 ; swapf STATUS,W ; swap status reg to be saved into W 00238 ; clrf STATUS ; change to bank 0 regardless of current bank 00239 ; movwf ssave ; save status reg to a bank 0 register 00240 ; movf PCLATH,w ; move PCLATH reg to be saved into W reg 00241 ; movwf psave ;6 ; save PCLATH reg to a bank 0 register 00242 ;endif 00243 0109 1C11 00244 btfss PIR1, TMR1IF ; is TMR1IF set? Timer1 Interrupt Flag 010A 292B 00245 GOTO NoTimerInt ; No. Bypass timer load 010B 1C36 00246 btfss _Valid ; Is Freq valid? 010C 2928 00247 GOTO NoPWPS ; No. Halt PWPS 010D 1CB6 00248 btfss _PWPSenabled ; is Software PWM enabled? 010E 2928 00249 GOTO NoPWPS ; No. Halt PWPS 00250 ; Yes, then Set output and reload Timer1 010F 1D36 00251 btfss _PWPSstate ; Is Output High? 0110 291D 00252 GOTO TurnON ;9/15 ; No. 00253 00254 0111 00255 TurnOFF 0111 108E 00256 bcf _PWPSpin ; Set PWPSpin Low MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 16 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0112 1136 00257 bcf _PWPSstate ; 0113 0840 00258 MOVF _T1CONoff,W ; Load OFF Period Prescaler and Turn off timer 0114 0098 00259 MOVWF T1CON ; 0115 0832 00260 MOVF _TMR1_OFF_VAL,W ; 1 0116 0796 00261 ADDWF TMR1L,F ; 1 reload timer with Off Period value 0117 1803 00262 BTFSC STATUS,C ; 1/2 0118 0A97 00263 INCF TMR1H,F ; 1 0119 0833 00264 MOVF _TMR1_OFF_VAL+1,W ; 1 011A 0797 00265 ADDWF TMR1H,F ; 1 011B 1418 00266 BSF T1CON,TMR1ON ; 1 Turn it back on 011C 292A 00267 GOTO TimerDone ;13/28 00268 00269 011D 00270 TurnON 011D 148E 00271 bsf _PWPSpin ; Set PWPSpin High 011E 1536 00272 bsf _PWPSstate ; 011F 0198 00273 CLRF T1CON ; Clear Prescaler and Turn off timer 0120 0834 00274 MOVF _TMR1_ON_VAL,W ; 1 0121 0796 00275 ADDWF TMR1L,F ; 1 reload timer with On Period value 0122 1803 00276 BTFSC STATUS,C ; 1/2 0123 0A97 00277 INCF TMR1H,F ; 1 0124 0835 00278 MOVF _TMR1_ON_VAL+1,W ; 1 0125 0797 00279 ADDWF TMR1H,F ; 1 0126 1418 00280 bsf T1CON,TMR1ON ; 1 Turn it back on 0127 292A 00281 GOTO TimerDone 0128 00282 NoPWPS 0128 1018 00283 bcf T1CON,TMR1ON ; Turn off timer 0129 108E 00284 bcf _PWPSpin ; Idle PWPSpin Low 012A 00285 TimerDone 012A 1011 00286 bcf PIR1, TMR1IF ; 1/29 ; Clear Timer1 Interrupt Flag 012B 00287 NoTimerInt 00288 ;Movf psave,w ; Restore the PCLATH reg 00289 ;Movwf PCLATH 00290 ;swapf ssave,w ; Restore the STATUS reg 00291 ;movwf STATUS 00292 ;swapf wsave,f 00293 ;swapf wsave,w ; 6/35 ; Restore W reg 00294 012B 0009 00295 Retfie ; Exit the interrupt routine 00296 00297 00298 00299 00300 ENDASM? 00301 00302 00303 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00121 StartPWPS: ' Set Position before calling 00304 00305 LABEL?L _StartPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 17 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _StartPWPS M XALL M else 012C M _StartPWPS M endif 00306 00307 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00122 low PWPSpin ' Set PWPSpin to Output and idle Low 00308 LOW?T _PWPSpin M MOVE?CT 0, PORTC, 001h M CHK?RP PORTC M if ((((PORTC) >> 7) != PREV_BANK) & (((PORTC) & 007fh) > 0bh)) M movlb (PORTC) >> 7 M PREV_BANK = (PORTC) >> 7 M endif M if (((0) & 1) == 1) M bsf PORTC, 001h M else 012C 108E M bcf PORTC, 001h M endif M MOVE?CT 0, ((PORTC) + 80h), 001h M CHK?RP ((PORTC) + 80h) M if ((((((PORTC) + 80h)) >> 7) != PREV_BANK) & (((((PORTC) + 80h)) & 007fh) > 0bh)) 012D 0021 M movlb (((PORTC) + 80h)) >> 7 00000001 M PREV_BANK = (((PORTC) + 80h)) >> 7 M endif M if (((0) & 1) == 1) M bsf ((PORTC) + 80h), 001h M else 012E 108E M bcf ((PORTC) + 80h), 001h M endif 00309 00310 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00123 GIE = 1 ' Global Interrupt Enable 00311 MOVE?CT 001h, _GIE M CHK?RP INTCON M if ((((INTCON) >> 7) != PREV_BANK) & (((INTCON) & 007fh) > 0bh)) M movlb (INTCON) >> 7 M PREV_BANK = (INTCON) >> 7 M endif M if (((001h) & 1) == 1) 012F 178B M bsf INTCON, 007h M else M bcf INTCON, 007h M endif 00312 00313 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00124 PEIE = 1 ' Peripheral Interrupt Enable 00314 MOVE?CT 001h, _PEIE M CHK?RP INTCON M if ((((INTCON) >> 7) != PREV_BANK) & (((INTCON) & 007fh) > 0bh)) M movlb (INTCON) >> 7 M PREV_BANK = (INTCON) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 18 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M if (((001h) & 1) == 1) 0130 170B M bsf INTCON, 006h M else M bcf INTCON, 006h M endif 00315 00316 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00125 TMR1H = 255 ' Load TMR1 with 65535, First tick will cause 00317 MOVE?CB 0FFh, TMR1H M CHK?RP TMR1H M if ((((TMR1H) >> 7) != PREV_BANK) & (((TMR1H) & 007fh) > 0bh)) 0131 0020 M movlb (TMR1H) >> 7 00000000 M PREV_BANK = (TMR1H) >> 7 M endif M if (low (0FFh) == 0) M clrf TMR1H M else 0132 30FF M movlw low (0FFh) 0133 0097 M movwf TMR1H M endif 00318 00319 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00126 TMR1L = 255 ' an interrupt that will load TMR1_???_VAL 00320 MOVE?CB 0FFh, TMR1L M CHK?RP TMR1L M if ((((TMR1L) >> 7) != PREV_BANK) & (((TMR1L) & 007fh) > 0bh)) M movlb (TMR1L) >> 7 M PREV_BANK = (TMR1L) >> 7 M endif M if (low (0FFh) == 0) M clrf TMR1L M else 0134 30FF M movlw low (0FFh) 0135 0096 M movwf TMR1L M endif 00321 00322 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00129 SetPWPS: ' Set Position before calling 00323 00324 LABEL?L _SetPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _SetPWPS M XALL M else 0136 M _SetPWPS M endif 00325 00326 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00130 Position = Position min 1200 ' Make sure we don't go to far 00327 MIN?WCW _Position, 004B0h, _Position MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 19 LOC OBJECT CODE LINE SOURCE TEXT VALUE M MOVE?CW 004B0h, R0 M ifdef USE_LINKER M CHK?RP R0 M movlw low (004B0h) M movwf R0 M movlw (004B0h) >> 8 M movwf (R0) + 1 M else M MOVE?CB low (004B0h), R0 M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif M if (low (low (004B0h)) == 0) M clrf R0 M else 0136 30B0 M movlw low (low (004B0h)) 0137 00A0 M movwf R0 M endif M MOVE?CB (004B0h) >> 8, (R0) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif M if (low ((004B0h) >> 8) == 0) M clrf (R0) + 1 M else 0138 3004 M movlw low ((004B0h) >> 8) 0139 00A1 M movwf (R0) + 1 M endif M endif M MOVE?WWA _Position, R1 M MOVE?BB (_Position) + 1, (R1) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif 013A 0842 M movf (_Position) + 1, W M CHK?RP (R1) + 1 M if (((((R1) + 1) >> 7) != PREV_BANK) & ((((R1) + 1) & 007fh) > 0bh)) M movlb ((R1) + 1) >> 7 M PREV_BANK = ((R1) + 1) >> 7 M endif 013B 00A3 M movwf (R1) + 1 M MOVE?BA _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 20 LOC OBJECT CODE LINE SOURCE TEXT VALUE 013C 0841 M movf _Position, W M L?CALL MIN M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 013D 3180 M movlp (MIN) >> 8 M endif 013E 2080 M call MIN M MOVE?AWW R0, _Position M MOVE?AB _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif 013F 00C1 M movwf _Position M MOVE?BB (R0) + 1, (_Position) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 0140 0821 M movf (R0) + 1, W M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif 0141 00C2 M movwf (_Position) + 1 00328 00329 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00131 gosub CalcPWPS 00330 GOSUB?L _CalcPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F M endif M L?CALL _CalcPWPS M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 21 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0142 3181 M movlp (_CalcPWPS) >> 8 M endif 0143 21A3 M call _CalcPWPS 0144 M dlabel 00331 00332 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00132 if Valid = 1 then 00333 CMPNE?TCL _Valid, 001h, L00009 M if ((001h) == 0) M CLRWDT? M BIT?GOTO 1, _DataFlags, 000h, L00009 M else M if ((001h) == 1) M CLRWDT? M ifndef NO_CLRWDT 0144 0064 M clrwdt M endif M BIT?GOTO 0, _DataFlags, 000h, L00009 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00009)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00009) >> 8 M endif M else M if ((L00009) < 1) M if (CODE_SIZE > 2) M movlp (L00009) >> 8 M endif M else M if ((L00009) > $) M if (CODE_SIZE > 2) 0145 3181 M movlp (L00009) >> 8 M endif M else M if ((L00009) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00009) >> 8 M endif M endif M endif M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 22 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M M if ((((_DataFlags) & 0ff80h) != 0) & (((_DataFlags) & 007fh) > 0bh)) M CHK?RP _DataFlags M bcf STATUS, DC M if ((0) == 0) M btfss _DataFlags, 000h M else M btfsc _DataFlags, 000h M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0146 1C36 M btfss _DataFlags, 000h M else M btfsc _DataFlags, 000h M endif M endif M M ifdef USE_LINKER M goto L00009 M else M if ((L00009) < 1) M goto L00009 M else M if ((L00009) > $) 0147 2997 M goto L00009 M else M if ((L00009) < ($ - 0ffh)) M goto L00009 M else M bra L00009 M endif M endif M endif M endif M else M L?GOTO L00009 M endif M endif 00334 00335 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00133 PWPSenabled = 1 00336 MOVE?CT 001h, _PWPSenabled M CHK?RP _DataFlags M if ((((_DataFlags) >> 7) != PREV_BANK) & (((_DataFlags) & 007fh) > 0bh)) M movlb (_DataFlags) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 23 LOC OBJECT CODE LINE SOURCE TEXT VALUE M PREV_BANK = (_DataFlags) >> 7 M endif M if (((001h) & 1) == 1) 0148 14B6 M bsf _DataFlags, 001h M else M bcf _DataFlags, 001h M endif 00337 00338 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00134 lookdown OffTimePrescaler,[1,2,4,8],y 00339 LOOKDOWN?BCLB _OffTimePrescaler, 004h, L00001, _y 0000 M local loop, getval M MOVE?CB -1, R1 M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif M if (low (-1) == 0) M clrf R1 M else 0149 30FF M movlw low (-1) 014A 00A2 M movwf R1 M endif 014B 0AA2 M loop incf R1, F 014C 0822 M movf R1, W 014D 3C03 M sublw (004h) - 1 M BIT?GOTO 0, STATUS, C, L00001 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00001)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00001) >> 8 M endif M else M if ((L00001) < 1) M if (CODE_SIZE > 2) M movlp (L00001) >> 8 M endif M else M if ((L00001) > $) M if (CODE_SIZE > 2) 014E 3181 M movlp (L00001) >> 8 M endif M else M if ((L00001) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00001) >> 8 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 24 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 014F 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00001 M else M if ((L00001) < 1) M goto L00001 M else M if ((L00001) > $) 0150 2960 M goto L00001 M else M if ((L00001) < ($ - 0ffh)) M goto L00001 M else M bra L00001 M endif M endif M endif M endif M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 25 LOC OBJECT CODE LINE SOURCE TEXT VALUE M M if (CODE_SIZE > 2) 0151 3181 M movlp (_84getval) >> 8 M endif 0152 215A M call _84getval M CHK?RP _OffTimePrescaler M if ((((_OffTimePrescaler) >> 7) != PREV_BANK) & (((_OffTimePrescaler) & 007fh) > 0bh)) M movlb (_OffTimePrescaler) >> 7 M PREV_BANK = (_OffTimePrescaler) >> 7 M endif 0153 0253 M subwf _OffTimePrescaler, W M BIT?GOTO 0, STATUS, Z, loop M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_84loop)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_84loop) >> 8 M endif M else M if ((_84loop) < 1) M if (CODE_SIZE > 2) M movlp (_84loop) >> 8 M endif M else M if ((_84loop) > $) M if (CODE_SIZE > 2) M movlp (_84loop) >> 8 M endif M else M if ((_84loop) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_84loop) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 26 LOC OBJECT CODE LINE SOURCE TEXT VALUE M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0154 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto _84loop M else M if ((_84loop) < 1) M goto _84loop M else M if ((_84loop) > $) M goto _84loop M else M if ((_84loop) < ($ - 0ffh)) M goto _84loop M else 0155 33F5 M bra _84loop M endif M endif M endif M endif M MOVE?BB R1, _y M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 0156 0822 M movf R1, W M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0157 00D4 M movwf _y M L?GOTO L00001 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00001)) M CLRWDT? M endif M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 27 LOC OBJECT CODE LINE SOURCE TEXT VALUE M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00001) >> 8 M endif M goto L00001 M else M if ((L00001) < 1) M if (CODE_SIZE > 2) M movlp (L00001) >> 8 M endif M goto L00001 M else M if ((L00001) > $) M if (CODE_SIZE > 2) 0158 3181 M movlp (L00001) >> 8 M endif 0159 2960 M goto L00001 M else M if ((L00001) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00001) >> 8 M endif M goto L00001 M else M bra L00001 M endif M endif M endif M endif 015A 0822 M getval movf R1, W 015B 000B M brw 00340 LDRET?C 001h 015C 3401 M retlw 001h 00341 LDRET?C 002h 015D 3402 M retlw 002h 00342 LDRET?C 004h 015E 3404 M retlw 004h 00343 LDRET?C 008h 015F 3408 M retlw 008h 00344 00345 LABEL?L L00001 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 28 LOC OBJECT CODE LINE SOURCE TEXT VALUE M ifdef PM_USED M LALL M L00001 M XALL M else 0160 M L00001 M endif 00346 00347 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00135 lookup y,[0,1,2,3],y 00348 LOOKUP?BCLB _y, 004h, L00002, _y 0000 M local dojump M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0160 0854 M movf _y, W 0161 3C03 M sublw (004h) - 1 M BIT?GOTO 0, STATUS, C, L00002 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00002)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00002) >> 8 M endif M else M if ((L00002) < 1) M if (CODE_SIZE > 2) M movlp (L00002) >> 8 M endif M else M if ((L00002) > $) M if (CODE_SIZE > 2) 0162 3181 M movlp (L00002) >> 8 M endif M else M if ((L00002) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00002) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 29 LOC OBJECT CODE LINE SOURCE TEXT VALUE M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0163 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00002 M else M if ((L00002) < 1) M goto L00002 M else M if ((L00002) > $) 0164 2970 M goto L00002 M else M if ((L00002) < ($ - 0ffh)) M goto L00002 M else M bra L00002 M endif M endif M endif M endif M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0165 0854 M movf _y, W M L?CALL dojump M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 30 LOC OBJECT CODE LINE SOURCE TEXT VALUE M M if (CODE_SIZE > 2) 0166 3181 M movlp (_105dojump) >> 8 M endif 0167 216B M call _105dojump M MOVE?AB _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0168 00D4 M movwf _y M L?GOTO L00002 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00002)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00002) >> 8 M endif M goto L00002 M else M if ((L00002) < 1) M if (CODE_SIZE > 2) M movlp (L00002) >> 8 M endif M goto L00002 M else M if ((L00002) > $) M if (CODE_SIZE > 2) 0169 3181 M movlp (L00002) >> 8 M endif 016A 2970 M goto L00002 M else M if ((L00002) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00002) >> 8 M endif M goto L00002 M else M bra L00002 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 31 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M endif M endif 016B 000B M dojump brw 00349 LURET?C 000h 016C 3400 M retlw 000h 00350 LURET?C 001h 016D 3401 M retlw 001h 00351 LURET?C 002h 016E 3402 M retlw 002h 00352 LURET?C 003h 016F 3403 M retlw 003h 00353 00354 LABEL?L L00002 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00002 M XALL M else 0170 M L00002 M endif 00355 00356 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00136 T1CONoff = y << 4 00357 SHIFTL?BCB _y, 004h, _T1CONoff M if ((004h) == 1) M if ((_T1CONoff) == (_y)) M CHK?RP _T1CONoff M lslf _T1CONoff, F M else M CHK?RP _y M lslf _y, W M MOVE?AB _T1CONoff M endif M else M MOVE?BB _y, R0 M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0170 0854 M movf _y, W M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif 0171 00A0 M movwf R0 0172 3004 M movlw 004h MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 32 LOC OBJECT CODE LINE SOURCE TEXT VALUE M L?CALL SHIFTL M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0173 3180 M movlp (SHIFTL) >> 8 M endif 0174 208B M call SHIFTL M MOVE?AB _T1CONoff M CHK?RP _T1CONoff M if ((((_T1CONoff) >> 7) != PREV_BANK) & (((_T1CONoff) & 007fh) > 0bh)) M movlb (_T1CONoff) >> 7 M PREV_BANK = (_T1CONoff) >> 7 M endif 0175 00C0 M movwf _T1CONoff M endif 00358 00359 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00137 TMR1_ON_VAL = 65535 - TMR1_ON_TICKS + 7 ' Value to load in Timer1 for ON period 00360 SUB?CWW 0FFFFh, _TMR1_ON_TICKS, T1 M MOVE?BA _TMR1_ON_TICKS M CHK?RP _TMR1_ON_TICKS M if ((((_TMR1_ON_TICKS) >> 7) != PREV_BANK) & (((_TMR1_ON_TICKS) & 007fh) > 0bh)) M movlb (_TMR1_ON_TICKS) >> 7 M PREV_BANK = (_TMR1_ON_TICKS) >> 7 M endif 0176 084B M movf _TMR1_ON_TICKS, W 0177 3CFF M sublw low (0FFFFh) M MOVE?AB T1 M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 0178 00C5 M movwf T1 M MOVE?BA (_TMR1_ON_TICKS) + 1 M CHK?RP (_TMR1_ON_TICKS) + 1 M if (((((_TMR1_ON_TICKS) + 1) >> 7) != PREV_BANK) & ((((_TMR1_ON_TICKS) + 1) & 007fh) > 0bh)) M movlb ((_TMR1_ON_TICKS) + 1) >> 7 M PREV_BANK = ((_TMR1_ON_TICKS) + 1) >> 7 M endif 0179 084C M movf (_TMR1_ON_TICKS) + 1, W 017A 1C03 M btfss STATUS, C 017B 3E01 M addlw 1 017C 3CFF M sublw (0FFFFh) >> 8 M MOVE?AB (T1) + 1 M CHK?RP (T1) + 1 M if (((((T1) + 1) >> 7) != PREV_BANK) & ((((T1) + 1) & 007fh) > 0bh)) M movlb ((T1) + 1) >> 7 M PREV_BANK = ((T1) + 1) >> 7 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 33 LOC OBJECT CODE LINE SOURCE TEXT VALUE 017D 00C6 M movwf (T1) + 1 00361 ADD?WCW T1, 007h, _TMR1_ON_VAL M if ((_TMR1_ON_VAL) == (T1)) M CHK?RP _TMR1_ON_VAL M if ((007h) == 1) M incf _TMR1_ON_VAL, F M btfsc STATUS, Z M incf (_TMR1_ON_VAL) + 1, F M else M movlw low (007h) M addwf _TMR1_ON_VAL, F M movlw (007h) >> 8 M addwfc (_TMR1_ON_VAL) + 1, F M endif M else 017E 3007 M movlw low (007h) M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 017F 0745 M addwf T1, W M MOVE?AB _TMR1_ON_VAL M CHK?RP _TMR1_ON_VAL M if ((((_TMR1_ON_VAL) >> 7) != PREV_BANK) & (((_TMR1_ON_VAL) & 007fh) > 0bh)) M movlb (_TMR1_ON_VAL) >> 7 M PREV_BANK = (_TMR1_ON_VAL) >> 7 M endif 0180 00B4 M movwf _TMR1_ON_VAL 0181 3000 M movlw (007h) >> 8 M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 0182 3D46 M addwfc (T1) + 1, W M MOVE?AB (_TMR1_ON_VAL) + 1 M CHK?RP (_TMR1_ON_VAL) + 1 M if (((((_TMR1_ON_VAL) + 1) >> 7) != PREV_BANK) & ((((_TMR1_ON_VAL) + 1) & 007fh) > 0bh)) M movlb ((_TMR1_ON_VAL) + 1) >> 7 M PREV_BANK = ((_TMR1_ON_VAL) + 1) >> 7 M endif 0183 00B5 M movwf (_TMR1_ON_VAL) + 1 M endif 00362 00363 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00138 TMR1_OFF_VAL = 65535 - TMR1_OFF_TICKS + 7 ' Value to load in Timer1 for OFF period 00364 SUB?CWW 0FFFFh, _TMR1_OFF_TICKS, T1 M MOVE?BA _TMR1_OFF_TICKS M CHK?RP _TMR1_OFF_TICKS M if ((((_TMR1_OFF_TICKS) >> 7) != PREV_BANK) & (((_TMR1_OFF_TICKS) & 007fh) > 0bh)) M movlb (_TMR1_OFF_TICKS) >> 7 M PREV_BANK = (_TMR1_OFF_TICKS) >> 7 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 34 LOC OBJECT CODE LINE SOURCE TEXT VALUE 0184 0849 M movf _TMR1_OFF_TICKS, W 0185 3CFF M sublw low (0FFFFh) M MOVE?AB T1 M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 0186 00C5 M movwf T1 M MOVE?BA (_TMR1_OFF_TICKS) + 1 M CHK?RP (_TMR1_OFF_TICKS) + 1 M if (((((_TMR1_OFF_TICKS) + 1) >> 7) != PREV_BANK) & ((((_TMR1_OFF_TICKS) + 1) & 007fh) > 0bh)) M movlb ((_TMR1_OFF_TICKS) + 1) >> 7 M PREV_BANK = ((_TMR1_OFF_TICKS) + 1) >> 7 M endif 0187 084A M movf (_TMR1_OFF_TICKS) + 1, W 0188 1C03 M btfss STATUS, C 0189 3E01 M addlw 1 018A 3CFF M sublw (0FFFFh) >> 8 M MOVE?AB (T1) + 1 M CHK?RP (T1) + 1 M if (((((T1) + 1) >> 7) != PREV_BANK) & ((((T1) + 1) & 007fh) > 0bh)) M movlb ((T1) + 1) >> 7 M PREV_BANK = ((T1) + 1) >> 7 M endif 018B 00C6 M movwf (T1) + 1 00365 ADD?WCW T1, 007h, _TMR1_OFF_VAL M if ((_TMR1_OFF_VAL) == (T1)) M CHK?RP _TMR1_OFF_VAL M if ((007h) == 1) M incf _TMR1_OFF_VAL, F M btfsc STATUS, Z M incf (_TMR1_OFF_VAL) + 1, F M else M movlw low (007h) M addwf _TMR1_OFF_VAL, F M movlw (007h) >> 8 M addwfc (_TMR1_OFF_VAL) + 1, F M endif M else 018C 3007 M movlw low (007h) M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 018D 0745 M addwf T1, W M MOVE?AB _TMR1_OFF_VAL M CHK?RP _TMR1_OFF_VAL M if ((((_TMR1_OFF_VAL) >> 7) != PREV_BANK) & (((_TMR1_OFF_VAL) & 007fh) > 0bh)) M movlb (_TMR1_OFF_VAL) >> 7 M PREV_BANK = (_TMR1_OFF_VAL) >> 7 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 35 LOC OBJECT CODE LINE SOURCE TEXT VALUE 018E 00B2 M movwf _TMR1_OFF_VAL 018F 3000 M movlw (007h) >> 8 M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 0190 3D46 M addwfc (T1) + 1, W M MOVE?AB (_TMR1_OFF_VAL) + 1 M CHK?RP (_TMR1_OFF_VAL) + 1 M if (((((_TMR1_OFF_VAL) + 1) >> 7) != PREV_BANK) & ((((_TMR1_OFF_VAL) + 1) & 007fh) > 0bh)) M movlb ((_TMR1_OFF_VAL) + 1) >> 7 M PREV_BANK = ((_TMR1_OFF_VAL) + 1) >> 7 M endif 0191 00B3 M movwf (_TMR1_OFF_VAL) + 1 M endif 00366 00367 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00139 TMR1IE = 1 ; Enable Timer1 Interrupts 00368 MOVE?CT 001h, _TMR1IE M CHK?RP PIE1 M if ((((PIE1) >> 7) != PREV_BANK) & (((PIE1) & 007fh) > 0bh)) 0192 0021 M movlb (PIE1) >> 7 00000001 M PREV_BANK = (PIE1) >> 7 M endif M if (((001h) & 1) == 1) 0193 1411 M bsf PIE1, 000h M else M bcf PIE1, 000h M endif 00369 00370 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00140 T1CON = 1 ; Turn Timer1 on (no prescaler) 00371 MOVE?CB 001h, T1CON M CHK?RP T1CON M if ((((T1CON) >> 7) != PREV_BANK) & (((T1CON) & 007fh) > 0bh)) 0194 0020 M movlb (T1CON) >> 7 00000000 M PREV_BANK = (T1CON) >> 7 M endif M if (low (001h) == 0) M clrf T1CON M else 0195 3001 M movlw low (001h) 0196 0098 M movwf T1CON M endif 00372 00373 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00141 endif 00374 LABEL?L L00009 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 36 LOC OBJECT CODE LINE SOURCE TEXT VALUE M L00009 M XALL M else 0197 M L00009 M endif 00375 00376 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00142 return 00377 RETURN? M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M decf DEBUG_STACK, F M endif M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 0197 0008 M return 00378 00379 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00145 StopPWPS 00380 00381 LABEL?L _StopPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _StopPWPS M XALL M else 0198 M _StopPWPS M endif 00382 00383 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00146 TMR1IE = 0 00384 MOVE?CT 000h, _TMR1IE M CHK?RP PIE1 M if ((((PIE1) >> 7) != PREV_BANK) & (((PIE1) & 007fh) > 0bh)) 0198 0021 M movlb (PIE1) >> 7 00000001 M PREV_BANK = (PIE1) >> 7 M endif M if (((000h) & 1) == 1) M bsf PIE1, 000h M else 0199 1011 M bcf PIE1, 000h M endif 00385 00386 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00147 TMR1ON = 0 00387 MOVE?CT 000h, _TMR1ON M CHK?RP T1CON M if ((((T1CON) >> 7) != PREV_BANK) & (((T1CON) & 007fh) > 0bh)) 019A 0020 M movlb (T1CON) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 37 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00000000 M PREV_BANK = (T1CON) >> 7 M endif M if (((000h) & 1) == 1) M bsf T1CON, 000h M else 019B 1018 M bcf T1CON, 000h M endif 00388 00389 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00148 low PWPSpin ' Idle output Low 00390 LOW?T _PWPSpin M MOVE?CT 0, PORTC, 001h M CHK?RP PORTC M if ((((PORTC) >> 7) != PREV_BANK) & (((PORTC) & 007fh) > 0bh)) M movlb (PORTC) >> 7 M PREV_BANK = (PORTC) >> 7 M endif M if (((0) & 1) == 1) M bsf PORTC, 001h M else 019C 108E M bcf PORTC, 001h M endif M MOVE?CT 0, ((PORTC) + 80h), 001h M CHK?RP ((PORTC) + 80h) M if ((((((PORTC) + 80h)) >> 7) != PREV_BANK) & (((((PORTC) + 80h)) & 007fh) > 0bh)) 019D 0021 M movlb (((PORTC) + 80h)) >> 7 00000001 M PREV_BANK = (((PORTC) + 80h)) >> 7 M endif M if (((0) & 1) == 1) M bsf ((PORTC) + 80h), 001h M else 019E 108E M bcf ((PORTC) + 80h), 001h M endif 00391 00392 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00149 PWPSstate = 0 00393 MOVE?CT 000h, _PWPSstate M CHK?RP _DataFlags M if ((((_DataFlags) >> 7) != PREV_BANK) & (((_DataFlags) & 007fh) > 0bh)) 019F 0020 M movlb (_DataFlags) >> 7 00000000 M PREV_BANK = (_DataFlags) >> 7 M endif M if (((000h) & 1) == 1) M bsf _DataFlags, 002h M else 01A0 1136 M bcf _DataFlags, 002h M endif 00394 00395 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00150 PWPSenabled = 0 00396 MOVE?CT 000h, _PWPSenabled M CHK?RP _DataFlags M if ((((_DataFlags) >> 7) != PREV_BANK) & (((_DataFlags) & 007fh) > 0bh)) M movlb (_DataFlags) >> 7 M PREV_BANK = (_DataFlags) >> 7 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 38 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (((000h) & 1) == 1) M bsf _DataFlags, 001h M else 01A1 10B6 M bcf _DataFlags, 001h M endif 00397 00398 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00151 return 00399 RETURN? M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M decf DEBUG_STACK, F M endif M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 01A2 0008 M return 00400 00401 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00154 CalcPWPS: ' Set Position before calling 0-900 00402 00403 LABEL?L _CalcPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _CalcPWPS M XALL M else 01A3 M _CalcPWPS M endif 00404 00405 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00155 Valid = 1 00406 MOVE?CT 001h, _Valid M CHK?RP _DataFlags M if ((((_DataFlags) >> 7) != PREV_BANK) & (((_DataFlags) & 007fh) > 0bh)) M movlb (_DataFlags) >> 7 M PREV_BANK = (_DataFlags) >> 7 M endif M if (((001h) & 1) == 1) 01A3 1436 M bsf _DataFlags, 000h M else M bcf _DataFlags, 000h M endif 00407 00408 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00156 y = 99 00409 MOVE?CB 063h, _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 39 LOC OBJECT CODE LINE SOURCE TEXT VALUE M PREV_BANK = (_y) >> 7 M endif M if (low (063h) == 0) M clrf _y M else 01A4 3063 M movlw low (063h) 01A5 00D4 M movwf _y M endif 00410 00411 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00157 LookDown PicOSC,[4, 8, 10, 12, 16, 20, 24, 25, 32, 33, 40],y 00412 LOOKDOWN?BCLB _PicOSC, 00Bh, L00003, _y 0000 M local loop, getval M MOVE?CB -1, R1 M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif M if (low (-1) == 0) M clrf R1 M else 01A6 30FF M movlw low (-1) 01A7 00A2 M movwf R1 M endif 01A8 0AA2 M loop incf R1, F 01A9 0822 M movf R1, W 01AA 3C0A M sublw (00Bh) - 1 M BIT?GOTO 0, STATUS, C, L00003 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00003)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00003) >> 8 M endif M else M if ((L00003) < 1) M if (CODE_SIZE > 2) M movlp (L00003) >> 8 M endif M else M if ((L00003) > $) M if (CODE_SIZE > 2) 01AB 3181 M movlp (L00003) >> 8 M endif M else M if ((L00003) < ($ - 0ffh)) M if (CODE_SIZE > 2) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 40 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlp (L00003) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 01AC 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00003 M else M if ((L00003) < 1) M goto L00003 M else M if ((L00003) > $) 01AD 29C4 M goto L00003 M else M if ((L00003) < ($ - 0ffh)) M goto L00003 M else M bra L00003 M endif M endif M endif M endif M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 41 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 01AE 3181 M movlp (_195getval) >> 8 M endif 01AF 21B7 M call _195getval M CHK?RP _PicOSC M if ((((_PicOSC) >> 7) != PREV_BANK) & (((_PicOSC) & 007fh) > 0bh)) M movlb (_PicOSC) >> 7 M PREV_BANK = (_PicOSC) >> 7 M endif 01B0 0239 M subwf _PicOSC, W M BIT?GOTO 0, STATUS, Z, loop M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_195loop)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_195loop) >> 8 M endif M else M if ((_195loop) < 1) M if (CODE_SIZE > 2) M movlp (_195loop) >> 8 M endif M else M if ((_195loop) > $) M if (CODE_SIZE > 2) M movlp (_195loop) >> 8 M endif M else M if ((_195loop) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_195loop) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 42 LOC OBJECT CODE LINE SOURCE TEXT VALUE M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 01B1 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto _195loop M else M if ((_195loop) < 1) M goto _195loop M else M if ((_195loop) > $) M goto _195loop M else M if ((_195loop) < ($ - 0ffh)) M goto _195loop M else 01B2 33F5 M bra _195loop M endif M endif M endif M endif M MOVE?BB R1, _y M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 01B3 0822 M movf R1, W M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 01B4 00D4 M movwf _y M L?GOTO L00003 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00003)) M CLRWDT? M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 43 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00003) >> 8 M endif M goto L00003 M else M if ((L00003) < 1) M if (CODE_SIZE > 2) M movlp (L00003) >> 8 M endif M goto L00003 M else M if ((L00003) > $) M if (CODE_SIZE > 2) 01B5 3181 M movlp (L00003) >> 8 M endif 01B6 29C4 M goto L00003 M else M if ((L00003) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00003) >> 8 M endif M goto L00003 M else M bra L00003 M endif M endif M endif M endif 01B7 0822 M getval movf R1, W 01B8 000B M brw 00413 LDRET?C 004h 01B9 3404 M retlw 004h 00414 LDRET?C 008h 01BA 3408 M retlw 008h 00415 LDRET?C 00Ah 01BB 340A M retlw 00Ah 00416 LDRET?C 00Ch 01BC 340C M retlw 00Ch 00417 LDRET?C 010h 01BD 3410 M retlw 010h 00418 LDRET?C 014h 01BE 3414 M retlw 014h 00419 LDRET?C 018h 01BF 3418 M retlw 018h MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 44 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00420 LDRET?C 019h 01C0 3419 M retlw 019h 00421 LDRET?C 020h 01C1 3420 M retlw 020h 00422 LDRET?C 021h 01C2 3421 M retlw 021h 00423 LDRET?C 028h 01C3 3428 M retlw 028h 00424 00425 LABEL?L L00003 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00003 M XALL M else 01C4 M L00003 M endif 00426 00427 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00158 if y = 99 then OSCnotFound 00428 CMPEQ?BCL _y, 063h, _OSCnotFound M if (((063h) > -100h) & ((063h) < 100h)) M CLRWDT? M ifndef NO_CLRWDT 01C4 0064 M clrwdt M endif M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 01C5 0854 M movf _y, W 01C6 3C63 M sublw 063h M BIT?GOTO 1, STATUS, Z, _OSCnotFound M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_OSCnotFound)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_OSCnotFound) >> 8 M endif M else M if ((_OSCnotFound) < 1) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 45 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (CODE_SIZE > 2) M movlp (_OSCnotFound) >> 8 M endif M else M if ((_OSCnotFound) > $) M if (CODE_SIZE > 2) 01C7 3182 M movlp (_OSCnotFound) >> 8 M endif M else M if ((_OSCnotFound) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_OSCnotFound) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((1) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((1) == 0) M btfss STATUS, Z M else 01C8 1903 M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto _OSCnotFound M else M if ((_OSCnotFound) < 1) M goto _OSCnotFound M else M if ((_OSCnotFound) > $) 01C9 2AC5 M goto _OSCnotFound M else M if ((_OSCnotFound) < ($ - 0ffh)) M goto _OSCnotFound MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 46 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M bra _OSCnotFound M endif M endif M endif M endif M endif 00429 00430 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00160 LookUp2 y,[ 900, 1800, 2250, 2700, 3600, 4500, 5400, 5625, 7200, 7425, 9000],PulseTicks1ms 00431 LOOKUP2?BCLW _y, 00Bh, L00004, _PulseTicks1ms 0000 M local getval, valtbl M if (00Bh <= 85) M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 01CA 0854 M movf _y, W M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 01CB 00A2 M movwf R1 01CC 3C0A M sublw (00Bh) - 1 M BIT?GOTO 0, STATUS, C, L00004 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00004)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00004) >> 8 M endif M else M if ((L00004) < 1) M if (CODE_SIZE > 2) M movlp (L00004) >> 8 M endif M else M if ((L00004) > $) M if (CODE_SIZE > 2) 01CD 3182 M movlp (L00004) >> 8 M endif M else M if ((L00004) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00004) >> 8 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 47 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 01CE 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00004 M else M if ((L00004) < 1) M goto L00004 M else M if ((L00004) > $) 01CF 2A07 M goto L00004 M else M if ((L00004) < ($ - 0ffh)) M goto L00004 M else M bra L00004 M endif M endif M endif M endif 01D0 3522 M lslf R1, W 01D1 07A2 M addwf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 48 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 01D2 3181 M movlp (_229getval) >> 8 M endif 01D3 21E4 M call _229getval 01D4 00A0 M movwf R0 01D5 0AA2 M incf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 01D6 3181 M movlp (_229getval) >> 8 M endif 01D7 21E4 M call _229getval 01D8 00A1 M movwf R0 + 1 01D9 0AA2 M incf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 01DA 3181 M movlp (_229getval) >> 8 M endif 01DB 21E4 M call _229getval M L?CALL LOOK2 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 01DC 3180 M movlp (LOOK2) >> 8 M endif 01DD 2028 M call LOOK2 M MOVE?WW R0, _PulseTicks1ms M MOVE?BB R0, _PulseTicks1ms M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif 01DE 0820 M movf R0, W M CHK?RP _PulseTicks1ms MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 49 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if ((((_PulseTicks1ms) >> 7) != PREV_BANK) & (((_PulseTicks1ms) & 007fh) > 0bh)) M movlb (_PulseTicks1ms) >> 7 M PREV_BANK = (_PulseTicks1ms) >> 7 M endif 01DF 00C3 M movwf _PulseTicks1ms M MOVE?BB (R0) + 1, (_PulseTicks1ms) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 01E0 0821 M movf (R0) + 1, W M CHK?RP (_PulseTicks1ms) + 1 M if (((((_PulseTicks1ms) + 1) >> 7) != PREV_BANK) & ((((_PulseTicks1ms) + 1) & 007fh) > 0bh)) M movlb ((_PulseTicks1ms) + 1) >> 7 M PREV_BANK = ((_PulseTicks1ms) + 1) >> 7 M endif 01E1 00C4 M movwf (_PulseTicks1ms) + 1 M L?GOTO L00004 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00004)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00004) >> 8 M endif M goto L00004 M else M if ((L00004) < 1) M if (CODE_SIZE > 2) M movlp (L00004) >> 8 M endif M goto L00004 M else M if ((L00004) > $) M if (CODE_SIZE > 2) 01E2 3182 M movlp (L00004) >> 8 M endif 01E3 2A07 M goto L00004 M else M if ((L00004) < ($ - 0ffh)) M if (CODE_SIZE > 2) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 50 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlp (L00004) >> 8 M endif M goto L00004 M else M bra L00004 M endif M endif M endif M endif 01E4 0822 M getval movf R1, W 01E5 000B M brw M else ; More than 85 elements M MOVE?BW _y, R1 ; copy index to R1, leaves lowbyte in W M if (00Bh <= 256) ; if 256 elements or less M sublw (00Bh) - 1 ; and index is greater than item list M BIT?GOTO 0, STATUS, C, L00004 ; exit with no change M MOVE?BA _y M RST?RP M else ; list has more then 256 elements M ; can't be higher because idx is a byte M endif M lslf R1, F M rlf R1+1,F ; carry to highbyte M addwf R1, F ; +index = 3x index M btfsc STATUS,C M incf R1+1,F M movlw (valtbl & 0FFh) ; Add table's address to R1 M addwf R1,F M btfsc STATUS,C M incf R1+1,F M movlw (valtbl >> 8) M addwf R1+1,F M L?CALL getval ; get low byte M movwf R0 ; put it in R0.L M movlw 1 M addwf R1,F ; point to next byte M btfsc STATUS,C M incf R1+1,F M L?CALL getval ; get high byte M movwf R0 + 1 ; put it in R0.H M movlw 1 M addwf R1,F ; point to next byte M btfsc STATUS,C M incf R1+1,F M L?CALL getval ; get item type M L?CALL LOOK2 ; get the item M MOVE?WW R0, _PulseTicks1ms ; move it to user variable M L?GOTO L00004 M M getval M movf R1+1,W M movwf PCLATH M movf R1,W MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 51 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movwf PCL M endif M 01E6 M valtbl 00432 LU2RET?C 00384h 01E6 3484 M retlw low (00384h) 01E7 3403 M retlw (00384h) >> 8 01E8 3400 M retlw 0 00433 LU2RET?C 00708h 01E9 3408 M retlw low (00708h) 01EA 3407 M retlw (00708h) >> 8 01EB 3400 M retlw 0 00434 LU2RET?C 008CAh 01EC 34CA M retlw low (008CAh) 01ED 3408 M retlw (008CAh) >> 8 01EE 3400 M retlw 0 00435 LU2RET?C 00A8Ch 01EF 348C M retlw low (00A8Ch) 01F0 340A M retlw (00A8Ch) >> 8 01F1 3400 M retlw 0 00436 LU2RET?C 00E10h 01F2 3410 M retlw low (00E10h) 01F3 340E M retlw (00E10h) >> 8 01F4 3400 M retlw 0 00437 LU2RET?C 01194h 01F5 3494 M retlw low (01194h) 01F6 3411 M retlw (01194h) >> 8 01F7 3400 M retlw 0 00438 LU2RET?C 01518h 01F8 3418 M retlw low (01518h) 01F9 3415 M retlw (01518h) >> 8 01FA 3400 M retlw 0 00439 LU2RET?C 015F9h 01FB 34F9 M retlw low (015F9h) 01FC 3415 M retlw (015F9h) >> 8 01FD 3400 M retlw 0 00440 LU2RET?C 01C20h 01FE 3420 M retlw low (01C20h) 01FF 341C M retlw (01C20h) >> 8 0200 3400 M retlw 0 00441 LU2RET?C 01D01h 0201 3401 M retlw low (01D01h) 0202 341D M retlw (01D01h) >> 8 0203 3400 M retlw 0 00442 LU2RET?C 02328h 0204 3428 M retlw low (02328h) 0205 3423 M retlw (02328h) >> 8 0206 3400 M retlw 0 00443 00444 LABEL?L L00004 M RST?RP M if (PREV_BANK != 0) M movlb 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 52 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00004 M XALL M else 0207 M L00004 M endif 00445 00446 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00161 lookup2 y,[ 100, 200, 250, 300, 400, 500, 600, 625, 800, 825, 1000],TicksPeruSx100 00447 LOOKUP2?BCLW _y, 00Bh, L00005, _TicksPeruSx100 0000 M local getval, valtbl M if (00Bh <= 85) M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0207 0854 M movf _y, W M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 0208 00A2 M movwf R1 0209 3C0A M sublw (00Bh) - 1 M BIT?GOTO 0, STATUS, C, L00005 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00005)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00005) >> 8 M endif M else M if ((L00005) < 1) M if (CODE_SIZE > 2) M movlp (L00005) >> 8 M endif M else M if ((L00005) > $) M if (CODE_SIZE > 2) 020A 3182 M movlp (L00005) >> 8 M endif M else M if ((L00005) < ($ - 0ffh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 53 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (CODE_SIZE > 2) M movlp (L00005) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 020B 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00005 M else M if ((L00005) < 1) M goto L00005 M else M if ((L00005) > $) 020C 2A44 M goto L00005 M else M if ((L00005) < ($ - 0ffh)) M goto L00005 M else M bra L00005 M endif M endif M endif M endif 020D 3522 M lslf R1, W 020E 07A2 M addwf R1, F M L?CALL getval M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 54 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 020F 3182 M movlp (_265getval) >> 8 M endif 0210 2221 M call _265getval 0211 00A0 M movwf R0 0212 0AA2 M incf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0213 3182 M movlp (_265getval) >> 8 M endif 0214 2221 M call _265getval 0215 00A1 M movwf R0 + 1 0216 0AA2 M incf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0217 3182 M movlp (_265getval) >> 8 M endif 0218 2221 M call _265getval M L?CALL LOOK2 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0219 3180 M movlp (LOOK2) >> 8 M endif 021A 2028 M call LOOK2 M MOVE?WW R0, _TicksPeruSx100 M MOVE?BB R0, _TicksPeruSx100 M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 55 LOC OBJECT CODE LINE SOURCE TEXT VALUE 021B 0820 M movf R0, W M CHK?RP _TicksPeruSx100 M if ((((_TicksPeruSx100) >> 7) != PREV_BANK) & (((_TicksPeruSx100) & 007fh) > 0bh)) M movlb (_TicksPeruSx100) >> 7 M PREV_BANK = (_TicksPeruSx100) >> 7 M endif 021C 00C7 M movwf _TicksPeruSx100 M MOVE?BB (R0) + 1, (_TicksPeruSx100) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 021D 0821 M movf (R0) + 1, W M CHK?RP (_TicksPeruSx100) + 1 M if (((((_TicksPeruSx100) + 1) >> 7) != PREV_BANK) & ((((_TicksPeruSx100) + 1) & 007fh) > 0bh)) M movlb ((_TicksPeruSx100) + 1) >> 7 M PREV_BANK = ((_TicksPeruSx100) + 1) >> 7 M endif 021E 00C8 M movwf (_TicksPeruSx100) + 1 M L?GOTO L00005 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00005)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00005) >> 8 M endif M goto L00005 M else M if ((L00005) < 1) M if (CODE_SIZE > 2) M movlp (L00005) >> 8 M endif M goto L00005 M else M if ((L00005) > $) M if (CODE_SIZE > 2) 021F 3182 M movlp (L00005) >> 8 M endif 0220 2A44 M goto L00005 M else MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 56 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if ((L00005) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00005) >> 8 M endif M goto L00005 M else M bra L00005 M endif M endif M endif M endif 0221 0822 M getval movf R1, W 0222 000B M brw M else ; More than 85 elements M MOVE?BW _y, R1 ; copy index to R1, leaves lowbyte in W M if (00Bh <= 256) ; if 256 elements or less M sublw (00Bh) - 1 ; and index is greater than item list M BIT?GOTO 0, STATUS, C, L00005 ; exit with no change M MOVE?BA _y M RST?RP M else ; list has more then 256 elements M ; can't be higher because idx is a byte M endif M lslf R1, F M rlf R1+1,F ; carry to highbyte M addwf R1, F ; +index = 3x index M btfsc STATUS,C M incf R1+1,F M movlw (valtbl & 0FFh) ; Add table's address to R1 M addwf R1,F M btfsc STATUS,C M incf R1+1,F M movlw (valtbl >> 8) M addwf R1+1,F M L?CALL getval ; get low byte M movwf R0 ; put it in R0.L M movlw 1 M addwf R1,F ; point to next byte M btfsc STATUS,C M incf R1+1,F M L?CALL getval ; get high byte M movwf R0 + 1 ; put it in R0.H M movlw 1 M addwf R1,F ; point to next byte M btfsc STATUS,C M incf R1+1,F M L?CALL getval ; get item type M L?CALL LOOK2 ; get the item M MOVE?WW R0, _TicksPeruSx100 ; move it to user variable M L?GOTO L00005 M M getval M movf R1+1,W MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 57 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movwf PCLATH M movf R1,W M movwf PCL M endif M 0223 M valtbl 00448 LU2RET?C 064h 0223 3464 M retlw low (064h) 0224 3400 M retlw (064h) >> 8 0225 3400 M retlw 0 00449 LU2RET?C 0C8h 0226 34C8 M retlw low (0C8h) 0227 3400 M retlw (0C8h) >> 8 0228 3400 M retlw 0 00450 LU2RET?C 0FAh 0229 34FA M retlw low (0FAh) 022A 3400 M retlw (0FAh) >> 8 022B 3400 M retlw 0 00451 LU2RET?C 0012Ch 022C 342C M retlw low (0012Ch) 022D 3401 M retlw (0012Ch) >> 8 022E 3400 M retlw 0 00452 LU2RET?C 00190h 022F 3490 M retlw low (00190h) 0230 3401 M retlw (00190h) >> 8 0231 3400 M retlw 0 00453 LU2RET?C 001F4h 0232 34F4 M retlw low (001F4h) 0233 3401 M retlw (001F4h) >> 8 0234 3400 M retlw 0 00454 LU2RET?C 00258h 0235 3458 M retlw low (00258h) 0236 3402 M retlw (00258h) >> 8 0237 3400 M retlw 0 00455 LU2RET?C 00271h 0238 3471 M retlw low (00271h) 0239 3402 M retlw (00271h) >> 8 023A 3400 M retlw 0 00456 LU2RET?C 00320h 023B 3420 M retlw low (00320h) 023C 3403 M retlw (00320h) >> 8 023D 3400 M retlw 0 00457 LU2RET?C 00339h 023E 3439 M retlw low (00339h) 023F 3403 M retlw (00339h) >> 8 0240 3400 M retlw 0 00458 LU2RET?C 003E8h 0241 34E8 M retlw low (003E8h) 0242 3403 M retlw (003E8h) >> 8 0243 3400 M retlw 0 00459 00460 LABEL?L L00005 M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 58 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00005 M XALL M else 0244 M L00005 M endif 00461 00462 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00162 lookup y,[ 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4],OffTimePrescaler 00463 LOOKUP?BCLB _y, 00Bh, L00006, _OffTimePrescaler 0000 M local dojump M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0244 0854 M movf _y, W 0245 3C0A M sublw (00Bh) - 1 M BIT?GOTO 0, STATUS, C, L00006 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00006)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00006) >> 8 M endif M else M if ((L00006) < 1) M if (CODE_SIZE > 2) M movlp (L00006) >> 8 M endif M else M if ((L00006) > $) M if (CODE_SIZE > 2) 0246 3182 M movlp (L00006) >> 8 M endif M else M if ((L00006) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00006) >> 8 M endif M endif M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 59 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0247 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00006 M else M if ((L00006) < 1) M goto L00006 M else M if ((L00006) > $) 0248 2A5B M goto L00006 M else M if ((L00006) < ($ - 0ffh)) M goto L00006 M else M bra L00006 M endif M endif M endif M endif M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 M PREV_BANK = (_y) >> 7 M endif 0249 0854 M movf _y, W M L?CALL dojump M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 60 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 024A 3182 M movlp (_301dojump) >> 8 M endif 024B 224F M call _301dojump M MOVE?AB _OffTimePrescaler M CHK?RP _OffTimePrescaler M if ((((_OffTimePrescaler) >> 7) != PREV_BANK) & (((_OffTimePrescaler) & 007fh) > 0bh)) M movlb (_OffTimePrescaler) >> 7 M PREV_BANK = (_OffTimePrescaler) >> 7 M endif 024C 00D3 M movwf _OffTimePrescaler M L?GOTO L00006 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00006)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00006) >> 8 M endif M goto L00006 M else M if ((L00006) < 1) M if (CODE_SIZE > 2) M movlp (L00006) >> 8 M endif M goto L00006 M else M if ((L00006) > $) M if (CODE_SIZE > 2) 024D 3182 M movlp (L00006) >> 8 M endif 024E 2A5B M goto L00006 M else M if ((L00006) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00006) >> 8 M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 61 LOC OBJECT CODE LINE SOURCE TEXT VALUE M goto L00006 M else M bra L00006 M endif M endif M endif M endif 024F 000B M dojump brw 00464 LURET?C 001h 0250 3401 M retlw 001h 00465 LURET?C 001h 0251 3401 M retlw 001h 00466 LURET?C 001h 0252 3401 M retlw 001h 00467 LURET?C 001h 0253 3401 M retlw 001h 00468 LURET?C 002h 0254 3402 M retlw 002h 00469 LURET?C 002h 0255 3402 M retlw 002h 00470 LURET?C 002h 0256 3402 M retlw 002h 00471 LURET?C 002h 0257 3402 M retlw 002h 00472 LURET?C 004h 0258 3404 M retlw 004h 00473 LURET?C 004h 0259 3404 M retlw 004h 00474 LURET?C 004h 025A 3404 M retlw 004h 00475 00476 LABEL?L L00006 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00006 M XALL M else 025B M L00006 M endif 00477 00478 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00163 Lookup2 y,[20000,40000,50000,60000,40000,50000,60000,62000,40000,41000,50000],uS50Hz 00479 LOOKUP2?BCLW _y, 00Bh, L00007, _uS50Hz 0000 M local getval, valtbl M if (00Bh <= 85) M MOVE?BA _y M CHK?RP _y M if ((((_y) >> 7) != PREV_BANK) & (((_y) & 007fh) > 0bh)) M movlb (_y) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 62 LOC OBJECT CODE LINE SOURCE TEXT VALUE M PREV_BANK = (_y) >> 7 M endif 025B 0854 M movf _y, W M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 025C 00A2 M movwf R1 025D 3C0A M sublw (00Bh) - 1 M BIT?GOTO 0, STATUS, C, L00007 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00007)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00007) >> 8 M endif M else M if ((L00007) < 1) M if (CODE_SIZE > 2) M movlp (L00007) >> 8 M endif M else M if ((L00007) > $) M if (CODE_SIZE > 2) 025E 3182 M movlp (L00007) >> 8 M endif M else M if ((L00007) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00007) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 63 LOC OBJECT CODE LINE SOURCE TEXT VALUE M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 025F 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto L00007 M else M if ((L00007) < 1) M goto L00007 M else M if ((L00007) > $) 0260 2A98 M goto L00007 M else M if ((L00007) < ($ - 0ffh)) M goto L00007 M else M bra L00007 M endif M endif M endif M endif 0261 3522 M lslf R1, W 0262 07A2 M addwf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0263 3182 M movlp (_327getval) >> 8 M endif 0264 2275 M call _327getval 0265 00A0 M movwf R0 0266 0AA2 M incf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 64 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (CODE_SIZE > 2) 0267 3182 M movlp (_327getval) >> 8 M endif 0268 2275 M call _327getval 0269 00A1 M movwf R0 + 1 026A 0AA2 M incf R1, F M L?CALL getval M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 026B 3182 M movlp (_327getval) >> 8 M endif 026C 2275 M call _327getval M L?CALL LOOK2 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 026D 3180 M movlp (LOOK2) >> 8 M endif 026E 2028 M call LOOK2 M MOVE?WW R0, _uS50Hz M MOVE?BB R0, _uS50Hz M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif 026F 0820 M movf R0, W M CHK?RP _uS50Hz M if ((((_uS50Hz) >> 7) != PREV_BANK) & (((_uS50Hz) & 007fh) > 0bh)) M movlb (_uS50Hz) >> 7 M PREV_BANK = (_uS50Hz) >> 7 M endif 0270 00CD M movwf _uS50Hz M MOVE?BB (R0) + 1, (_uS50Hz) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 0271 0821 M movf (R0) + 1, W M CHK?RP (_uS50Hz) + 1 M if (((((_uS50Hz) + 1) >> 7) != PREV_BANK) & ((((_uS50Hz) + 1) & 007fh) > 0bh)) M movlb ((_uS50Hz) + 1) >> 7 M PREV_BANK = ((_uS50Hz) + 1) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 65 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif 0272 00CE M movwf (_uS50Hz) + 1 M L?GOTO L00007 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00007)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00007) >> 8 M endif M goto L00007 M else M if ((L00007) < 1) M if (CODE_SIZE > 2) M movlp (L00007) >> 8 M endif M goto L00007 M else M if ((L00007) > $) M if (CODE_SIZE > 2) 0273 3182 M movlp (L00007) >> 8 M endif 0274 2A98 M goto L00007 M else M if ((L00007) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00007) >> 8 M endif M goto L00007 M else M bra L00007 M endif M endif M endif M endif 0275 0822 M getval movf R1, W 0276 000B M brw M else ; More than 85 elements M MOVE?BW _y, R1 ; copy index to R1, leaves lowbyte in W M if (00Bh <= 256) ; if 256 elements or less M sublw (00Bh) - 1 ; and index is greater than item list M BIT?GOTO 0, STATUS, C, L00007 ; exit with no change MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 66 LOC OBJECT CODE LINE SOURCE TEXT VALUE M MOVE?BA _y M RST?RP M else ; list has more then 256 elements M ; can't be higher because idx is a byte M endif M lslf R1, F M rlf R1+1,F ; carry to highbyte M addwf R1, F ; +index = 3x index M btfsc STATUS,C M incf R1+1,F M movlw (valtbl & 0FFh) ; Add table's address to R1 M addwf R1,F M btfsc STATUS,C M incf R1+1,F M movlw (valtbl >> 8) M addwf R1+1,F M L?CALL getval ; get low byte M movwf R0 ; put it in R0.L M movlw 1 M addwf R1,F ; point to next byte M btfsc STATUS,C M incf R1+1,F M L?CALL getval ; get high byte M movwf R0 + 1 ; put it in R0.H M movlw 1 M addwf R1,F ; point to next byte M btfsc STATUS,C M incf R1+1,F M L?CALL getval ; get item type M L?CALL LOOK2 ; get the item M MOVE?WW R0, _uS50Hz ; move it to user variable M L?GOTO L00007 M M getval M movf R1+1,W M movwf PCLATH M movf R1,W M movwf PCL M endif M 0277 M valtbl 00480 LU2RET?C 04E20h 0277 3420 M retlw low (04E20h) 0278 344E M retlw (04E20h) >> 8 0279 3400 M retlw 0 00481 LU2RET?C 09C40h 027A 3440 M retlw low (09C40h) 027B 349C M retlw (09C40h) >> 8 027C 3400 M retlw 0 00482 LU2RET?C 0C350h 027D 3450 M retlw low (0C350h) 027E 34C3 M retlw (0C350h) >> 8 027F 3400 M retlw 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 67 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00483 LU2RET?C 0EA60h 0280 3460 M retlw low (0EA60h) 0281 34EA M retlw (0EA60h) >> 8 0282 3400 M retlw 0 00484 LU2RET?C 09C40h 0283 3440 M retlw low (09C40h) 0284 349C M retlw (09C40h) >> 8 0285 3400 M retlw 0 00485 LU2RET?C 0C350h 0286 3450 M retlw low (0C350h) 0287 34C3 M retlw (0C350h) >> 8 0288 3400 M retlw 0 00486 LU2RET?C 0EA60h 0289 3460 M retlw low (0EA60h) 028A 34EA M retlw (0EA60h) >> 8 028B 3400 M retlw 0 00487 LU2RET?C 0F230h 028C 3430 M retlw low (0F230h) 028D 34F2 M retlw (0F230h) >> 8 028E 3400 M retlw 0 00488 LU2RET?C 09C40h 028F 3440 M retlw low (09C40h) 0290 349C M retlw (09C40h) >> 8 0291 3400 M retlw 0 00489 LU2RET?C 0A028h 0292 3428 M retlw low (0A028h) 0293 34A0 M retlw (0A028h) >> 8 0294 3400 M retlw 0 00490 LU2RET?C 0C350h 0295 3450 M retlw low (0C350h) 0296 34C3 M retlw (0C350h) >> 8 0297 3400 M retlw 0 00491 00492 LABEL?L L00007 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00007 M XALL M else 0298 M L00007 M endif 00493 00494 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00164 W1 = TicksPeruSx100 * Position 00495 MUL?WWW _TicksPeruSx100, _Position, _W1 M MOVE?WW _TicksPeruSx100, R3 M MOVE?BB _TicksPeruSx100, R3 M CHK?RP _TicksPeruSx100 M if ((((_TicksPeruSx100) >> 7) != PREV_BANK) & (((_TicksPeruSx100) & 007fh) > 0bh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 68 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlb (_TicksPeruSx100) >> 7 M PREV_BANK = (_TicksPeruSx100) >> 7 M endif 0298 0847 M movf _TicksPeruSx100, W M CHK?RP R3 M if ((((R3) >> 7) != PREV_BANK) & (((R3) & 007fh) > 0bh)) M movlb (R3) >> 7 M PREV_BANK = (R3) >> 7 M endif 0299 00A6 M movwf R3 M MOVE?BB (_TicksPeruSx100) + 1, (R3) + 1 M CHK?RP (_TicksPeruSx100) + 1 M if (((((_TicksPeruSx100) + 1) >> 7) != PREV_BANK) & ((((_TicksPeruSx100) + 1) & 007fh) > 0bh)) M movlb ((_TicksPeruSx100) + 1) >> 7 M PREV_BANK = ((_TicksPeruSx100) + 1) >> 7 M endif 029A 0848 M movf (_TicksPeruSx100) + 1, W M CHK?RP (R3) + 1 M if (((((R3) + 1) >> 7) != PREV_BANK) & ((((R3) + 1) & 007fh) > 0bh)) M movlb ((R3) + 1) >> 7 M PREV_BANK = ((R3) + 1) >> 7 M endif 029B 00A7 M movwf (R3) + 1 M MOVE?WW _Position, R1 M MOVE?BB _Position, R1 M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif 029C 0841 M movf _Position, W M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 029D 00A2 M movwf R1 M MOVE?BB (_Position) + 1, (R1) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif 029E 0842 M movf (_Position) + 1, W M CHK?RP (R1) + 1 M if (((((R1) + 1) >> 7) != PREV_BANK) & ((((R1) + 1) & 007fh) > 0bh)) M movlb ((R1) + 1) >> 7 M PREV_BANK = ((R1) + 1) >> 7 M endif 029F 00A3 M movwf (R1) + 1 M L?CALL MUL M RST?RP M if (PREV_BANK != 0) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 69 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02A0 3180 M movlp (MUL) >> 8 M endif 02A1 20CF M call MUL M MOVE?AWW R2, _W1 M MOVE?AB _W1 M CHK?RP _W1 M if ((((_W1) >> 7) != PREV_BANK) & (((_W1) & 007fh) > 0bh)) M movlb (_W1) >> 7 M PREV_BANK = (_W1) >> 7 M endif 02A2 00CF M movwf _W1 M MOVE?BB (R2) + 1, (_W1) + 1 M CHK?RP (R2) + 1 M if (((((R2) + 1) >> 7) != PREV_BANK) & ((((R2) + 1) & 007fh) > 0bh)) M movlb ((R2) + 1) >> 7 M PREV_BANK = ((R2) + 1) >> 7 M endif 02A3 0825 M movf (R2) + 1, W M CHK?RP (_W1) + 1 M if (((((_W1) + 1) >> 7) != PREV_BANK) & ((((_W1) + 1) & 007fh) > 0bh)) M movlb ((_W1) + 1) >> 7 M PREV_BANK = ((_W1) + 1) >> 7 M endif 02A4 00D0 M movwf (_W1) + 1 00496 00497 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00165 W1 = Div32 100 00498 DIV32?CW 064h, _W1 M MOVE?CB (064h) >> 8, R1 + 1 M CHK?RP R1 + 1 M if ((((R1 + 1) >> 7) != PREV_BANK) & (((R1 + 1) & 007fh) > 0bh)) M movlb (R1 + 1) >> 7 M PREV_BANK = (R1 + 1) >> 7 M endif M if (low ((064h) >> 8) == 0) 02A5 01A3 M clrf R1 + 1 M else M movlw low ((064h) >> 8) M movwf R1 + 1 M endif M MOVE?CA low (064h) 02A6 3064 M movlw low (low (064h)) M L?CALL DIV32L M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 70 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (CODE_SIZE > 2) 02A7 3180 M movlp (DIV32L) >> 8 M endif 02A8 20A9 M call DIV32L M MOVE?AWW R0, _W1 M MOVE?AB _W1 M CHK?RP _W1 M if ((((_W1) >> 7) != PREV_BANK) & (((_W1) & 007fh) > 0bh)) M movlb (_W1) >> 7 M PREV_BANK = (_W1) >> 7 M endif 02A9 00CF M movwf _W1 M MOVE?BB (R0) + 1, (_W1) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 02AA 0821 M movf (R0) + 1, W M CHK?RP (_W1) + 1 M if (((((_W1) + 1) >> 7) != PREV_BANK) & ((((_W1) + 1) & 007fh) > 0bh)) M movlb ((_W1) + 1) >> 7 M PREV_BANK = ((_W1) + 1) >> 7 M endif 02AB 00D0 M movwf (_W1) + 1 00499 00500 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00166 TMR1_ON_TICKS = W1 + PulseTicks1ms 00501 ADD?WWW _W1, _PulseTicks1ms, _TMR1_ON_TICKS M if ((_TMR1_ON_TICKS) == (_W1)) M MOVE?BA _PulseTicks1ms M CHK?RP _TMR1_ON_TICKS M addwf _TMR1_ON_TICKS, F M MOVE?BA (_PulseTicks1ms) + 1 M CHK?RP _TMR1_ON_TICKS M addwfc (_TMR1_ON_TICKS) + 1, F M else M if ((_TMR1_ON_TICKS) == (_PulseTicks1ms)) M MOVE?BA _W1 M CHK?RP _TMR1_ON_TICKS M addwf _TMR1_ON_TICKS, F M MOVE?BA (_W1) + 1 M CHK?RP _TMR1_ON_TICKS M addwfc (_TMR1_ON_TICKS) + 1, F M else M MOVE?BA _W1 M CHK?RP _W1 M if ((((_W1) >> 7) != PREV_BANK) & (((_W1) & 007fh) > 0bh)) M movlb (_W1) >> 7 M PREV_BANK = (_W1) >> 7 M endif 02AC 084F M movf _W1, W M CHK?RP _PulseTicks1ms M if ((((_PulseTicks1ms) >> 7) != PREV_BANK) & (((_PulseTicks1ms) & 007fh) > 0bh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 71 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlb (_PulseTicks1ms) >> 7 M PREV_BANK = (_PulseTicks1ms) >> 7 M endif 02AD 0743 M addwf _PulseTicks1ms, W M MOVE?AB _TMR1_ON_TICKS M CHK?RP _TMR1_ON_TICKS M if ((((_TMR1_ON_TICKS) >> 7) != PREV_BANK) & (((_TMR1_ON_TICKS) & 007fh) > 0bh)) M movlb (_TMR1_ON_TICKS) >> 7 M PREV_BANK = (_TMR1_ON_TICKS) >> 7 M endif 02AE 00CB M movwf _TMR1_ON_TICKS M MOVE?BA (_W1) + 1 M CHK?RP (_W1) + 1 M if (((((_W1) + 1) >> 7) != PREV_BANK) & ((((_W1) + 1) & 007fh) > 0bh)) M movlb ((_W1) + 1) >> 7 M PREV_BANK = ((_W1) + 1) >> 7 M endif 02AF 0850 M movf (_W1) + 1, W M CHK?RP _PulseTicks1ms M if ((((_PulseTicks1ms) >> 7) != PREV_BANK) & (((_PulseTicks1ms) & 007fh) > 0bh)) M movlb (_PulseTicks1ms) >> 7 M PREV_BANK = (_PulseTicks1ms) >> 7 M endif 02B0 3D44 M addwfc (_PulseTicks1ms) + 1, W M MOVE?AB (_TMR1_ON_TICKS) + 1 M CHK?RP (_TMR1_ON_TICKS) + 1 M if (((((_TMR1_ON_TICKS) + 1) >> 7) != PREV_BANK) & ((((_TMR1_ON_TICKS) + 1) & 007fh) > 0bh)) M movlb ((_TMR1_ON_TICKS) + 1) >> 7 M PREV_BANK = ((_TMR1_ON_TICKS) + 1) >> 7 M endif 02B1 00CC M movwf (_TMR1_ON_TICKS) + 1 M endif M endif 00502 00503 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00167 TMR1_OFF_TICKS = uS50Hz - (TMR1_ON_TICKS / OffTimePrescaler) 00504 DIV?WBW _TMR1_ON_TICKS, _OffTimePrescaler, T1 M MOVE?WW _TMR1_ON_TICKS, R0 M MOVE?BB _TMR1_ON_TICKS, R0 M CHK?RP _TMR1_ON_TICKS M if ((((_TMR1_ON_TICKS) >> 7) != PREV_BANK) & (((_TMR1_ON_TICKS) & 007fh) > 0bh)) M movlb (_TMR1_ON_TICKS) >> 7 M PREV_BANK = (_TMR1_ON_TICKS) >> 7 M endif 02B2 084B M movf _TMR1_ON_TICKS, W M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif 02B3 00A0 M movwf R0 M MOVE?BB (_TMR1_ON_TICKS) + 1, (R0) + 1 M CHK?RP (_TMR1_ON_TICKS) + 1 M if (((((_TMR1_ON_TICKS) + 1) >> 7) != PREV_BANK) & ((((_TMR1_ON_TICKS) + 1) & 007fh) > 0bh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 72 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlb ((_TMR1_ON_TICKS) + 1) >> 7 M PREV_BANK = ((_TMR1_ON_TICKS) + 1) >> 7 M endif 02B4 084C M movf (_TMR1_ON_TICKS) + 1, W M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 02B5 00A1 M movwf (R0) + 1 M MOVE?BW _OffTimePrescaler, R1 M MOVE?BB _OffTimePrescaler, R1 M CHK?RP _OffTimePrescaler M if ((((_OffTimePrescaler) >> 7) != PREV_BANK) & (((_OffTimePrescaler) & 007fh) > 0bh)) M movlb (_OffTimePrescaler) >> 7 M PREV_BANK = (_OffTimePrescaler) >> 7 M endif 02B6 0853 M movf _OffTimePrescaler, W M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 02B7 00A2 M movwf R1 M CHK?RP R1 M if ((((R1) >> 7) != PREV_BANK) & (((R1) & 007fh) > 0bh)) M movlb (R1) >> 7 M PREV_BANK = (R1) >> 7 M endif 02B8 01A3 M clrf (R1) + 1 M L?CALL DIV M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02B9 3180 M movlp (DIV) >> 8 M endif 02BA 20B7 M call DIV M MOVE?AWW R0, T1 M MOVE?AB T1 M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 02BB 00C5 M movwf T1 M MOVE?BB (R0) + 1, (T1) + 1 M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 73 LOC OBJECT CODE LINE SOURCE TEXT VALUE M PREV_BANK = ((R0) + 1) >> 7 M endif 02BC 0821 M movf (R0) + 1, W M CHK?RP (T1) + 1 M if (((((T1) + 1) >> 7) != PREV_BANK) & ((((T1) + 1) & 007fh) > 0bh)) M movlb ((T1) + 1) >> 7 M PREV_BANK = ((T1) + 1) >> 7 M endif 02BD 00C6 M movwf (T1) + 1 00505 SUB?WWW _uS50Hz, T1, _TMR1_OFF_TICKS M MOVE?BA T1 M CHK?RP T1 M if ((((T1) >> 7) != PREV_BANK) & (((T1) & 007fh) > 0bh)) M movlb (T1) >> 7 M PREV_BANK = (T1) >> 7 M endif 02BE 0845 M movf T1, W M if ((_TMR1_OFF_TICKS) == (_uS50Hz)) M CHK?RP _TMR1_OFF_TICKS M subwf _TMR1_OFF_TICKS, F M MOVE?BA (T1) + 1 M CHK?RP _TMR1_OFF_TICKS M subwfb (_TMR1_OFF_TICKS) + 1, F M else M CHK?RP _uS50Hz M if ((((_uS50Hz) >> 7) != PREV_BANK) & (((_uS50Hz) & 007fh) > 0bh)) M movlb (_uS50Hz) >> 7 M PREV_BANK = (_uS50Hz) >> 7 M endif 02BF 024D M subwf _uS50Hz, W M MOVE?AB _TMR1_OFF_TICKS M CHK?RP _TMR1_OFF_TICKS M if ((((_TMR1_OFF_TICKS) >> 7) != PREV_BANK) & (((_TMR1_OFF_TICKS) & 007fh) > 0bh)) M movlb (_TMR1_OFF_TICKS) >> 7 M PREV_BANK = (_TMR1_OFF_TICKS) >> 7 M endif 02C0 00C9 M movwf _TMR1_OFF_TICKS M MOVE?BA (T1) + 1 M CHK?RP (T1) + 1 M if (((((T1) + 1) >> 7) != PREV_BANK) & ((((T1) + 1) & 007fh) > 0bh)) M movlb ((T1) + 1) >> 7 M PREV_BANK = ((T1) + 1) >> 7 M endif 02C1 0846 M movf (T1) + 1, W M CHK?RP _uS50Hz M if ((((_uS50Hz) >> 7) != PREV_BANK) & (((_uS50Hz) & 007fh) > 0bh)) M movlb (_uS50Hz) >> 7 M PREV_BANK = (_uS50Hz) >> 7 M endif 02C2 3B4E M subwfb (_uS50Hz) + 1, W M MOVE?AB (_TMR1_OFF_TICKS) + 1 M CHK?RP (_TMR1_OFF_TICKS) + 1 M if (((((_TMR1_OFF_TICKS) + 1) >> 7) != PREV_BANK) & ((((_TMR1_OFF_TICKS) + 1) & 007fh) > 0bh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 74 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlb ((_TMR1_OFF_TICKS) + 1) >> 7 M PREV_BANK = ((_TMR1_OFF_TICKS) + 1) >> 7 M endif 02C3 00CA M movwf (_TMR1_OFF_TICKS) + 1 M endif 00506 00507 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00168 return 00508 RETURN? M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M decf DEBUG_STACK, F M endif M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 02C4 0008 M return 00509 00510 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00171 OSCnotFound: 00511 00512 LABEL?L _OSCnotFound M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _OSCnotFound M XALL M else 02C5 M _OSCnotFound M endif 00513 00514 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00172 Valid = 0 00515 MOVE?CT 000h, _Valid M CHK?RP _DataFlags M if ((((_DataFlags) >> 7) != PREV_BANK) & (((_DataFlags) & 007fh) > 0bh)) M movlb (_DataFlags) >> 7 M PREV_BANK = (_DataFlags) >> 7 M endif M if (((000h) & 1) == 1) M bsf _DataFlags, 000h M else 02C5 1036 M bcf _DataFlags, 000h M endif 00516 00517 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00173 return 00518 RETURN? M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M decf DEBUG_STACK, F MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 75 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 02C6 0008 M return 00519 00520 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00178 GetOsc: ' Retreive defined OSC value on Reset 00521 00522 LABEL?L _GetOsc M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _GetOsc M XALL M else 02C7 M _GetOsc M endif 00523 00524 ; C:\PROGRAM FILES (X86)\PBP3_1\PWPS_SERVO_RICHARD.INC 00179 asm 00525 00526 ASM? M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 00527 00528 ifdef OSC 00529 MOVE?CB OSC, _PicOSC M CHK?RP _PicOSC M if ((((_PicOSC) >> 7) != PREV_BANK) & (((_PicOSC) & 007fh) > 0bh)) M movlb (_PicOSC) >> 7 M PREV_BANK = (_PicOSC) >> 7 M endif M if (low (4) == 0) M clrf _PicOSC M else 02C7 3004 M movlw low (4) 02C8 00B9 M movwf _PicOSC M endif 00530 else 00531 MOVE?CB 4, _PicOSC 00532 endif 00533 00534 00535 ENDASM? 00536 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 76 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00537 00538 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00049 init: ; nastavy po 00539 00540 LABEL?L _init M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _init M XALL M else 02C9 M _init M endif 00541 00542 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00050 position = 1 00543 MOVE?CW 001h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (001h) M movwf _Position M movlw (001h) >> 8 M movwf (_Position) + 1 M else M MOVE?CB low (001h), _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (001h)) == 0) M clrf _Position M else 02C9 3001 M movlw low (low (001h)) 02CA 00C1 M movwf _Position M endif M MOVE?CB (001h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 02CB 01C2 M clrf (_Position) + 1 M else M movlw low ((001h) >> 8) M movwf (_Position) + 1 M endif M endif 00544 00545 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00051 cmd = 245 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 77 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00546 MOVE?CB 0F5h, _cmd M CHK?RP _cmd M if ((((_cmd) >> 7) != PREV_BANK) & (((_cmd) & 007fh) > 0bh)) M movlb (_cmd) >> 7 M PREV_BANK = (_cmd) >> 7 M endif M if (low (0F5h) == 0) M clrf _cmd M else 02CC 30F5 M movlw low (0F5h) 02CD 00D1 M movwf _cmd M endif 00547 00548 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00052 n = 0 00549 MOVE?CB 000h, _n M CHK?RP _n M if ((((_n) >> 7) != PREV_BANK) & (((_n) & 007fh) > 0bh)) M movlb (_n) >> 7 M PREV_BANK = (_n) >> 7 M endif M if (low (000h) == 0) 02CE 01D2 M clrf _n M else M movlw low (000h) M movwf _n M endif 00550 00551 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00054 gosub StartPWPS ; nastartuje 00552 GOSUB?L _StartPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F M endif M L?CALL _StartPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02CF 3181 M movlp (_StartPWPS) >> 8 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 78 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif 02D0 212C M call _StartPWPS 02D1 M dlabel 00553 00554 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00056 Main: 00555 00556 LABEL?L _Main M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _Main M XALL M else 02D1 M _Main M endif 00557 00558 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00058 hSerin 20,lost, [wait("Q"),dec cmd] ; caka na zn 00559 HSERINTIME?C 014h M MOVE?CW 014h, R6 M ifdef USE_LINKER M CHK?RP R6 M movlw low (014h) M movwf R6 M movlw (014h) >> 8 M movwf (R6) + 1 M else M MOVE?CB low (014h), R6 M CHK?RP R6 M if ((((R6) >> 7) != PREV_BANK) & (((R6) & 007fh) > 0bh)) M movlb (R6) >> 7 M PREV_BANK = (R6) >> 7 M endif M if (low (low (014h)) == 0) M clrf R6 M else 02D1 3014 M movlw low (low (014h)) 02D2 00AC M movwf R6 M endif M MOVE?CB (014h) >> 8, (R6) + 1 M CHK?RP (R6) + 1 M if (((((R6) + 1) >> 7) != PREV_BANK) & ((((R6) + 1) & 007fh) > 0bh)) M movlb ((R6) + 1) >> 7 M PREV_BANK = ((R6) + 1) >> 7 M endif M if (low ((014h) >> 8) == 0) 02D3 01AD M clrf (R6) + 1 M else M movlw low ((014h) >> 8) M movwf (R6) + 1 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 79 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M endif 00560 00561 LABEL?L L00008 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00008 M XALL M else 02D4 M L00008 M endif 00562 HSERINWAIT?CLL 051h, L00008, _lost M L?CALL HSERINTO M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02D4 3180 M movlp (HSERINTO) >> 8 M endif 02D5 2006 M call HSERINTO M BIT?GOTO 0, STATUS, C, _lost M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_lost)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_lost) >> 8 M endif M else M if ((_lost) < 1) M if (CODE_SIZE > 2) M movlp (_lost) >> 8 M endif M else M if ((_lost) > $) M if (CODE_SIZE > 2) 02D6 3183 M movlp (_lost) >> 8 M endif M else M if ((_lost) < ($ - 0ffh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 80 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (CODE_SIZE > 2) M movlp (_lost) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 02D7 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto _lost M else M if ((_lost) < 1) M goto _lost M else M if ((_lost) > $) 02D8 2B3A M goto _lost M else M if ((_lost) < ($ - 0ffh)) M goto _lost M else M bra _lost M endif M endif M endif M endif 02D9 3C51 M sublw 051h M BIT?GOTO 0, STATUS, Z, L00008 M ifdef USE_LINKER M CLRWDT? MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 81 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M if ($ == (L00008)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00008) >> 8 M endif M else M if ((L00008) < 1) M if (CODE_SIZE > 2) M movlp (L00008) >> 8 M endif M else M if ((L00008) > $) M if (CODE_SIZE > 2) M movlp (L00008) >> 8 M endif M else M if ((L00008) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00008) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 02DA 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 82 LOC OBJECT CODE LINE SOURCE TEXT VALUE M M ifdef USE_LINKER M goto L00008 M else M if ((L00008) < 1) M goto L00008 M else M if ((L00008) > $) M goto L00008 M else M if ((L00008) < ($ - 0ffh)) M goto L00008 M else 02DB 33F8 M bra L00008 M endif M endif M endif M endif 00563 HSERINCOUNT?C 000h M MOVE?CB 000h, R4 + 1 M CHK?RP R4 + 1 M if ((((R4 + 1) >> 7) != PREV_BANK) & (((R4 + 1) & 007fh) > 0bh)) M movlb (R4 + 1) >> 7 M PREV_BANK = (R4 + 1) >> 7 M endif M if (low (000h) == 0) 02DC 01A9 M clrf R4 + 1 M else M movlw low (000h) M movwf R4 + 1 M endif 00564 HSERINDEC?BL _cmd, _lost M MOVE?CW HSERINTO, R8 M ifdef USE_LINKER M CHK?RP R8 M movlw low (HSERINTO) M movwf R8 M movlw (HSERINTO) >> 8 M movwf (R8) + 1 M else M MOVE?CB low (HSERINTO), R8 M CHK?RP R8 M if ((((R8) >> 7) != PREV_BANK) & (((R8) & 007fh) > 0bh)) M movlb (R8) >> 7 M PREV_BANK = (R8) >> 7 M endif M if (low (low (HSERINTO)) == 0) M clrf R8 M else 02DD 3006 M movlw low (low (HSERINTO)) 02DE 00B0 M movwf R8 M endif M MOVE?CB (HSERINTO) >> 8, (R8) + 1 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 83 LOC OBJECT CODE LINE SOURCE TEXT VALUE M CHK?RP (R8) + 1 M if (((((R8) + 1) >> 7) != PREV_BANK) & ((((R8) + 1) & 007fh) > 0bh)) M movlb ((R8) + 1) >> 7 M PREV_BANK = ((R8) + 1) >> 7 M endif M if (low ((HSERINTO) >> 8) == 0) 02DF 01B1 M clrf (R8) + 1 M else M movlw low ((HSERINTO) >> 8) M movwf (R8) + 1 M endif M endif M L?CALL SERIN2DEC M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02E0 3180 M movlp (SERIN2DEC) >> 8 M endif 02E1 2040 M call SERIN2DEC M BIT?GOTO 0, STATUS, C, _lost M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_lost)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_lost) >> 8 M endif M else M if ((_lost) < 1) M if (CODE_SIZE > 2) M movlp (_lost) >> 8 M endif M else M if ((_lost) > $) M if (CODE_SIZE > 2) 02E2 3183 M movlp (_lost) >> 8 M endif M else M if ((_lost) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_lost) >> 8 M endif M endif M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 84 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, C M else M btfsc STATUS, C M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 02E3 1C03 M btfss STATUS, C M else M btfsc STATUS, C M endif M endif M M ifdef USE_LINKER M goto _lost M else M if ((_lost) < 1) M goto _lost M else M if ((_lost) > $) 02E4 2B3A M goto _lost M else M if ((_lost) < ($ - 0ffh)) M goto _lost M else M bra _lost M endif M endif M endif M endif M MOVE?AB _cmd M CHK?RP _cmd M if ((((_cmd) >> 7) != PREV_BANK) & (((_cmd) & 007fh) > 0bh)) M movlb (_cmd) >> 7 M PREV_BANK = (_cmd) >> 7 M endif 02E5 00D1 M movwf _cmd 00565 00566 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00060 if cmd = 155 then ; tu zvysuje MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 85 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00567 CMPNE?BCL _cmd, 09Bh, L00011 M if (((09Bh) > -100h) & ((09Bh) < 100h)) M CLRWDT? M ifndef NO_CLRWDT 02E6 0064 M clrwdt M endif M MOVE?BA _cmd M CHK?RP _cmd M if ((((_cmd) >> 7) != PREV_BANK) & (((_cmd) & 007fh) > 0bh)) M movlb (_cmd) >> 7 M PREV_BANK = (_cmd) >> 7 M endif 02E7 0851 M movf _cmd, W 02E8 3C9B M sublw 09Bh M BIT?GOTO 0, STATUS, Z, L00011 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00011)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00011) >> 8 M endif M else M if ((L00011) < 1) M if (CODE_SIZE > 2) M movlp (L00011) >> 8 M endif M else M if ((L00011) > $) M if (CODE_SIZE > 2) 02E9 3183 M movlp (L00011) >> 8 M endif M else M if ((L00011) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00011) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 86 LOC OBJECT CODE LINE SOURCE TEXT VALUE M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 02EA 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto L00011 M else M if ((L00011) < 1) M goto L00011 M else M if ((L00011) > $) 02EB 2B01 M goto L00011 M else M if ((L00011) < ($ - 0ffh)) M goto L00011 M else M bra L00011 M endif M endif M endif M endif M else M L?GOTO L00011 M endif 00568 00569 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00061 Position=Position+1 00570 ADD?WCW _Position, 001h, _Position M if ((_Position) == (_Position)) M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if ((001h) == 1) 02EC 0AC1 M incf _Position, F 02ED 1903 M btfsc STATUS, Z 02EE 0AC2 M incf (_Position) + 1, F M else M movlw low (001h) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 87 LOC OBJECT CODE LINE SOURCE TEXT VALUE M addwf _Position, F M movlw (001h) >> 8 M addwfc (_Position) + 1, F M endif M else M movlw low (001h) M CHK?RP _Position M addwf _Position, W M MOVE?AB _Position M movlw (001h) >> 8 M CHK?RP _Position M addwfc (_Position) + 1, W M MOVE?AB (_Position) + 1 M endif 00571 00572 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00062 if Position > 1199 then Position = 1200 ; definuje h 00573 CMPLE?WCL _Position, 004AFh, L00013 M if ((004AFh) >= 0ffffh) M L?GOTO L00013 M else M if ((004AFh) >= 0) M MOVE?WW _Position, R0 M MOVE?BB _Position, R0 M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif 02EF 0841 M movf _Position, W M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif 02F0 00A0 M movwf R0 M MOVE?BB (_Position) + 1, (R0) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif 02F1 0842 M movf (_Position) + 1, W M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 02F2 00A1 M movwf (R0) + 1 M MOVE?CB (004AFh) >> 8, R1 + 1 M CHK?RP R1 + 1 M if ((((R1 + 1) >> 7) != PREV_BANK) & (((R1 + 1) & 007fh) > 0bh)) M movlb (R1 + 1) >> 7 M PREV_BANK = (R1 + 1) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 88 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M if (low ((004AFh) >> 8) == 0) M clrf R1 + 1 M else 02F3 3004 M movlw low ((004AFh) >> 8) 02F4 00A3 M movwf R1 + 1 M endif M MOVE?CA low (004AFh) 02F5 30AF M movlw low (low (004AFh)) M L?CALL CMPLE M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02F6 3180 M movlp (CMPLE) >> 8 M endif 02F7 2096 M call CMPLE M BIT?GOTO 0, STATUS, Z, L00013 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00013)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00013) >> 8 M endif M else M if ((L00013) < 1) M if (CODE_SIZE > 2) M movlp (L00013) >> 8 M endif M else M if ((L00013) > $) M if (CODE_SIZE > 2) 02F8 3182 M movlp (L00013) >> 8 M endif M else M if ((L00013) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00013) >> 8 M endif M endif M endif M endif M endif M MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 89 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 02F9 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto L00013 M else M if ((L00013) < 1) M goto L00013 M else M if ((L00013) > $) 02FA 2AFF M goto L00013 M else M if ((L00013) < ($ - 0ffh)) M goto L00013 M else M bra L00013 M endif M endif M endif M endif M endif M endif 00574 MOVE?CW 004B0h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (004B0h) M movwf _Position M movlw (004B0h) >> 8 M movwf (_Position) + 1 M else M MOVE?CB low (004B0h), _Position M CHK?RP _Position MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 90 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (004B0h)) == 0) M clrf _Position M else 02FB 30B0 M movlw low (low (004B0h)) 02FC 00C1 M movwf _Position M endif M MOVE?CB (004B0h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((004B0h) >> 8) == 0) M clrf (_Position) + 1 M else 02FD 3004 M movlw low ((004B0h) >> 8) 02FE 00C2 M movwf (_Position) + 1 M endif M endif 00575 LABEL?L L00013 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00013 M XALL M else 02FF M L00013 M endif 00576 00577 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00063 gosub SetPWPS 00578 GOSUB?L _SetPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 91 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M L?CALL _SetPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 02FF 3181 M movlp (_SetPWPS) >> 8 M endif 0300 2136 M call _SetPWPS 0301 M dlabel 00579 00580 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00064 endif 00581 LABEL?L L00011 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00011 M XALL M else 0301 M L00011 M endif 00582 00583 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00066 if cmd = 145 then ; tu znizuje 00584 CMPNE?BCL _cmd, 091h, L00015 M if (((091h) > -100h) & ((091h) < 100h)) M CLRWDT? M ifndef NO_CLRWDT 0301 0064 M clrwdt M endif M MOVE?BA _cmd M CHK?RP _cmd M if ((((_cmd) >> 7) != PREV_BANK) & (((_cmd) & 007fh) > 0bh)) M movlb (_cmd) >> 7 M PREV_BANK = (_cmd) >> 7 M endif 0302 0851 M movf _cmd, W 0303 3C91 M sublw 091h M BIT?GOTO 0, STATUS, Z, L00015 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00015)) M CLRWDT? M endif M endif M MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 92 LOC OBJECT CODE LINE SOURCE TEXT VALUE M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00015) >> 8 M endif M else M if ((L00015) < 1) M if (CODE_SIZE > 2) M movlp (L00015) >> 8 M endif M else M if ((L00015) > $) M if (CODE_SIZE > 2) 0304 3183 M movlp (L00015) >> 8 M endif M else M if ((L00015) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00015) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0305 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto L00015 M else M if ((L00015) < 1) M goto L00015 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 93 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M if ((L00015) > $) 0306 2B25 M goto L00015 M else M if ((L00015) < ($ - 0ffh)) M goto L00015 M else M bra L00015 M endif M endif M endif M endif M else M L?GOTO L00015 M endif 00585 00586 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00067 Position=Position-1 00587 SUB?WCW _Position, 001h, _Position M if ((_Position) == (_Position)) 0307 3001 M movlw low (001h) M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif 0308 02C1 M subwf _Position, F 0309 3000 M movlw (001h) >> 8 030A 3BC2 M subwfb (_Position) + 1, F M else M movlw low (001h) M CHK?RP _Position M subwf _Position, W M MOVE?AB _Position M movlw (001h) >> 8 M CHK?RP _Position M subwfb (_Position) + 1, W M MOVE?AB (_Position) + 1 M endif 00588 00589 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00068 if Position < 1 then Position = 1 ; definuje s 00590 CMPGE?WCL _Position, 001h, L00017 M if ((001h) <= 0) M L?GOTO L00017 M else M if ((001h) < 10000h) M MOVE?WW _Position, R0 M MOVE?BB _Position, R0 M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif 030B 0841 M movf _Position, W MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 94 LOC OBJECT CODE LINE SOURCE TEXT VALUE M CHK?RP R0 M if ((((R0) >> 7) != PREV_BANK) & (((R0) & 007fh) > 0bh)) M movlb (R0) >> 7 M PREV_BANK = (R0) >> 7 M endif 030C 00A0 M movwf R0 M MOVE?BB (_Position) + 1, (R0) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif 030D 0842 M movf (_Position) + 1, W M CHK?RP (R0) + 1 M if (((((R0) + 1) >> 7) != PREV_BANK) & ((((R0) + 1) & 007fh) > 0bh)) M movlb ((R0) + 1) >> 7 M PREV_BANK = ((R0) + 1) >> 7 M endif 030E 00A1 M movwf (R0) + 1 M MOVE?CB (001h) >> 8, R1 + 1 M CHK?RP R1 + 1 M if ((((R1 + 1) >> 7) != PREV_BANK) & (((R1 + 1) & 007fh) > 0bh)) M movlb (R1 + 1) >> 7 M PREV_BANK = (R1 + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 030F 01A3 M clrf R1 + 1 M else M movlw low ((001h) >> 8) M movwf R1 + 1 M endif M MOVE?CA low (001h) 0310 3001 M movlw low (low (001h)) M L?CALL CMPGE M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0311 3180 M movlp (CMPGE) >> 8 M endif 0312 2090 M call CMPGE M BIT?GOTO 0, STATUS, Z, L00017 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00017)) M CLRWDT? M endif M endif M MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 95 LOC OBJECT CODE LINE SOURCE TEXT VALUE M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00017) >> 8 M endif M else M if ((L00017) < 1) M if (CODE_SIZE > 2) M movlp (L00017) >> 8 M endif M else M if ((L00017) > $) M if (CODE_SIZE > 2) 0313 3183 M movlp (L00017) >> 8 M endif M else M if ((L00017) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00017) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0314 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto L00017 M else M if ((L00017) < 1) M goto L00017 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 96 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M if ((L00017) > $) 0315 2B19 M goto L00017 M else M if ((L00017) < ($ - 0ffh)) M goto L00017 M else M bra L00017 M endif M endif M endif M endif M endif M endif 00591 MOVE?CW 001h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (001h) M movwf _Position M movlw (001h) >> 8 M movwf (_Position) + 1 M else M MOVE?CB low (001h), _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (001h)) == 0) M clrf _Position M else 0316 3001 M movlw low (low (001h)) 0317 00C1 M movwf _Position M endif M MOVE?CB (001h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 0318 01C2 M clrf (_Position) + 1 M else M movlw low ((001h) >> 8) M movwf (_Position) + 1 M endif M endif 00592 LABEL?L L00017 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 97 LOC OBJECT CODE LINE SOURCE TEXT VALUE M ifdef PM_USED M LALL M L00017 M XALL M else 0319 M L00017 M endif 00593 00594 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00069 gosub SetPWPS 00595 GOSUB?L _SetPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F M endif M L?CALL _SetPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0319 3181 M movlp (_SetPWPS) >> 8 M endif 031A 2136 M call _SetPWPS 031B M dlabel 00596 00597 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00070 n=n+1 ; v pripade 00598 ADD?BCB _n, 001h, _n M if ((_n) == (_n)) M if ((001h) == 1) M CHK?RP _n M if ((((_n) >> 7) != PREV_BANK) & (((_n) & 007fh) > 0bh)) M movlb (_n) >> 7 M PREV_BANK = (_n) >> 7 M endif 031B 0AD2 M incf _n, F M else M movlw 001h M CHK?RP _n M addwf _n, F M endif MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 98 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M if ((001h) == 1) M CHK?RP _n M incf _n, W M MOVE?AB _n M else M movlw 001h M CHK?RP _n M addwf _n, W M MOVE?AB _n M endif M endif 00599 00600 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00071 if n=255 then ; cca. po 3. 00601 CMPNE?BCL _n, 0FFh, L00019 M if (((0FFh) > -100h) & ((0FFh) < 100h)) M CLRWDT? M ifndef NO_CLRWDT 031C 0064 M clrwdt M endif M MOVE?BA _n M CHK?RP _n M if ((((_n) >> 7) != PREV_BANK) & (((_n) & 007fh) > 0bh)) M movlb (_n) >> 7 M PREV_BANK = (_n) >> 7 M endif 031D 0852 M movf _n, W 031E 3CFF M sublw 0FFh M BIT?GOTO 0, STATUS, Z, L00019 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00019)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00019) >> 8 M endif M else M if ((L00019) < 1) M if (CODE_SIZE > 2) M movlp (L00019) >> 8 M endif M else M if ((L00019) > $) M if (CODE_SIZE > 2) 031F 3183 M movlp (L00019) >> 8 M endif M else M if ((L00019) < ($ - 0ffh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 99 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (CODE_SIZE > 2) M movlp (L00019) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0320 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto L00019 M else M if ((L00019) < 1) M goto L00019 M else M if ((L00019) > $) 0321 2B25 M goto L00019 M else M if ((L00019) < ($ - 0ffh)) M goto L00019 M else M bra L00019 M endif M endif M endif M endif M else M L?GOTO L00019 M endif 00602 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 100 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00603 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00072 position=1 00604 MOVE?CW 001h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (001h) M movwf _Position M movlw (001h) >> 8 M movwf (_Position) + 1 M else M MOVE?CB low (001h), _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (001h)) == 0) M clrf _Position M else 0322 3001 M movlw low (low (001h)) 0323 00C1 M movwf _Position M endif M MOVE?CB (001h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 0324 01C2 M clrf (_Position) + 1 M else M movlw low ((001h) >> 8) M movwf (_Position) + 1 M endif M endif 00605 00606 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00073 endif 00607 LABEL?L L00019 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00019 M XALL M else 0325 M L00019 M endif 00608 00609 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00074 endif 00610 LABEL?L L00015 M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 101 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00015 M XALL M else 0325 M L00015 M endif 00611 00612 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00076 if cmd = 245 then ; pri vypnu 00613 CMPNE?BCL _cmd, 0F5h, L00021 M if (((0F5h) > -100h) & ((0F5h) < 100h)) M CLRWDT? M ifndef NO_CLRWDT 0325 0064 M clrwdt M endif M MOVE?BA _cmd M CHK?RP _cmd M if ((((_cmd) >> 7) != PREV_BANK) & (((_cmd) & 007fh) > 0bh)) M movlb (_cmd) >> 7 M PREV_BANK = (_cmd) >> 7 M endif 0326 0851 M movf _cmd, W 0327 3CF5 M sublw 0F5h M BIT?GOTO 0, STATUS, Z, L00021 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00021)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00021) >> 8 M endif M else M if ((L00021) < 1) M if (CODE_SIZE > 2) M movlp (L00021) >> 8 M endif M else M if ((L00021) > $) M if (CODE_SIZE > 2) 0328 3183 M movlp (L00021) >> 8 M endif M else M if ((L00021) < ($ - 0ffh)) M if (CODE_SIZE > 2) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 102 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlp (L00021) >> 8 M endif M endif M endif M endif M endif M M if ((((STATUS) & 0ff80h) != 0) & (((STATUS) & 007fh) > 0bh)) M CHK?RP STATUS M bcf STATUS, DC M if ((0) == 0) M btfss STATUS, Z M else M btfsc STATUS, Z M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0329 1D03 M btfss STATUS, Z M else M btfsc STATUS, Z M endif M endif M M ifdef USE_LINKER M goto L00021 M else M if ((L00021) < 1) M goto L00021 M else M if ((L00021) > $) 032A 2B30 M goto L00021 M else M if ((L00021) < ($ - 0ffh)) M goto L00021 M else M bra L00021 M endif M endif M endif M endif M else M L?GOTO L00021 M endif 00614 00615 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00077 Position=1 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 103 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00616 MOVE?CW 001h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (001h) M movwf _Position M movlw (001h) >> 8 M movwf (_Position) + 1 M else M MOVE?CB low (001h), _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (001h)) == 0) M clrf _Position M else 032B 3001 M movlw low (low (001h)) 032C 00C1 M movwf _Position M endif M MOVE?CB (001h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 032D 01C2 M clrf (_Position) + 1 M else M movlw low ((001h) >> 8) M movwf (_Position) + 1 M endif M endif 00617 00618 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00078 gosub SetPWPS 00619 GOSUB?L _SetPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F M endif M L?CALL _SetPWPS M RST?RP MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 104 LOC OBJECT CODE LINE SOURCE TEXT VALUE M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 032E 3181 M movlp (_SetPWPS) >> 8 M endif 032F 2136 M call _SetPWPS 0330 M dlabel 00620 00621 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00079 endif 00622 LABEL?L L00021 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00021 M XALL M else 0330 M L00021 M endif 00623 00624 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00081 if safety = 1 then ; pri odpoj 00625 CMPNE?TCL _safety, 001h, L00023 M if ((001h) == 0) M CLRWDT? M BIT?GOTO 1, PORTC, 000h, L00023 M else M if ((001h) == 1) M CLRWDT? M ifndef NO_CLRWDT 0330 0064 M clrwdt M endif M BIT?GOTO 0, PORTC, 000h, L00023 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00023)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00023) >> 8 M endif M else M if ((L00023) < 1) M if (CODE_SIZE > 2) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 105 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movlp (L00023) >> 8 M endif M else M if ((L00023) > $) M if (CODE_SIZE > 2) 0331 3183 M movlp (L00023) >> 8 M endif M else M if ((L00023) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00023) >> 8 M endif M endif M endif M endif M endif M M if ((((PORTC) & 0ff80h) != 0) & (((PORTC) & 007fh) > 0bh)) M CHK?RP PORTC M bcf STATUS, DC M if ((0) == 0) M btfss PORTC, 000h M else M btfsc PORTC, 000h M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 0332 1C0E M btfss PORTC, 000h M else M btfsc PORTC, 000h M endif M endif M M ifdef USE_LINKER M goto L00023 M else M if ((L00023) < 1) M goto L00023 M else M if ((L00023) > $) 0333 2B39 M goto L00023 M else M if ((L00023) < ($ - 0ffh)) M goto L00023 M else MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 106 LOC OBJECT CODE LINE SOURCE TEXT VALUE M bra L00023 M endif M endif M endif M endif M else M L?GOTO L00023 M endif M endif 00626 00627 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00082 Position=1 00628 MOVE?CW 001h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (001h) M movwf _Position M movlw (001h) >> 8 M movwf (_Position) + 1 M else M MOVE?CB low (001h), _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (001h)) == 0) M clrf _Position M else 0334 3001 M movlw low (low (001h)) 0335 00C1 M movwf _Position M endif M MOVE?CB (001h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 0336 01C2 M clrf (_Position) + 1 M else M movlw low ((001h) >> 8) M movwf (_Position) + 1 M endif M endif 00629 00630 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00083 gosub SetPWPS 00631 GOSUB?L _SetPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 107 LOC OBJECT CODE LINE SOURCE TEXT VALUE M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F M endif M L?CALL _SetPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0337 3181 M movlp (_SetPWPS) >> 8 M endif 0338 2136 M call _SetPWPS 0339 M dlabel 00632 00633 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00084 endif 00634 LABEL?L L00023 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00023 M XALL M else 0339 M L00023 M endif 00635 00636 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00086 goto main 00637 GOTO?L _Main M L?GOTO _Main M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_Main)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 108 LOC OBJECT CODE LINE SOURCE TEXT VALUE M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else M if ((_Main) < 1) M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else M if ((_Main) > $) M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else M if ((_Main) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else 0339 3397 M bra _Main M endif M endif M endif M endif 00638 00639 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00088 lost: ; tu vypina 00640 00641 LABEL?L _lost M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M _lost M XALL M else 033A M _lost M endif 00642 00643 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00089 n=0 ; nuluje p 00644 MOVE?CB 000h, _n M CHK?RP _n M if ((((_n) >> 7) != PREV_BANK) & (((_n) & 007fh) > 0bh)) M movlb (_n) >> 7 M PREV_BANK = (_n) >> 7 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 109 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif M if (low (000h) == 0) 033A 01D2 M clrf _n M else M movlw low (000h) M movwf _n M endif 00645 00646 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00090 if safety = 1 then ; pri odpo 00647 CMPNE?TCL _safety, 001h, L00025 M if ((001h) == 0) M CLRWDT? M BIT?GOTO 1, PORTC, 000h, L00025 M else M if ((001h) == 1) M CLRWDT? M ifndef NO_CLRWDT 033B 0064 M clrwdt M endif M BIT?GOTO 0, PORTC, 000h, L00025 M ifdef USE_LINKER M CLRWDT? M else M if ($ == (L00025)) M CLRWDT? M endif M endif M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (L00025) >> 8 M endif M else M if ((L00025) < 1) M if (CODE_SIZE > 2) M movlp (L00025) >> 8 M endif M else M if ((L00025) > $) M if (CODE_SIZE > 2) 033C 3183 M movlp (L00025) >> 8 M endif M else M if ((L00025) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (L00025) >> 8 M endif M endif M endif M endif M endif M M if ((((PORTC) & 0ff80h) != 0) & (((PORTC) & 007fh) > 0bh)) MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 110 LOC OBJECT CODE LINE SOURCE TEXT VALUE M CHK?RP PORTC M bcf STATUS, DC M if ((0) == 0) M btfss PORTC, 000h M else M btfsc PORTC, 000h M endif M bsf STATUS, DC M RST?RP M btfsc STATUS, DC M else M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M if ((0) == 0) 033D 1C0E M btfss PORTC, 000h M else M btfsc PORTC, 000h M endif M endif M M ifdef USE_LINKER M goto L00025 M else M if ((L00025) < 1) M goto L00025 M else M if ((L00025) > $) 033E 2B44 M goto L00025 M else M if ((L00025) < ($ - 0ffh)) M goto L00025 M else M bra L00025 M endif M endif M endif M endif M else M L?GOTO L00025 M endif M endif 00648 00649 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00091 Position=1 00650 MOVE?CW 001h, _Position M ifdef USE_LINKER M CHK?RP _Position M movlw low (001h) M movwf _Position M movlw (001h) >> 8 M movwf (_Position) + 1 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 111 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M MOVE?CB low (001h), _Position M CHK?RP _Position M if ((((_Position) >> 7) != PREV_BANK) & (((_Position) & 007fh) > 0bh)) M movlb (_Position) >> 7 M PREV_BANK = (_Position) >> 7 M endif M if (low (low (001h)) == 0) M clrf _Position M else 033F 3001 M movlw low (low (001h)) 0340 00C1 M movwf _Position M endif M MOVE?CB (001h) >> 8, (_Position) + 1 M CHK?RP (_Position) + 1 M if (((((_Position) + 1) >> 7) != PREV_BANK) & ((((_Position) + 1) & 007fh) > 0bh)) M movlb ((_Position) + 1) >> 7 M PREV_BANK = ((_Position) + 1) >> 7 M endif M if (low ((001h) >> 8) == 0) 0341 01C2 M clrf (_Position) + 1 M else M movlw low ((001h) >> 8) M movwf (_Position) + 1 M endif M endif 00651 00652 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00092 gosub SetPWPS 00653 GOSUB?L _SetPWPS 0000 M local dlabel M ifdef DEBUG_STACK M CHK?RP DEBUG_STACK M ifdef DEBUG_STACK_ADDR M lslf DEBUG_STACK, W M addlw DEBUG_STACK_ADDR M movwf FSR0L M clrf FSR0H M movlw low (dlabel) M movwi INDF0++ M movlw (dlabel) >> 8 M movwf INDF0 M endif M incf DEBUG_STACK, F M endif M L?CALL _SetPWPS M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M if (CODE_SIZE > 2) 0342 3181 M movlp (_SetPWPS) >> 8 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 112 LOC OBJECT CODE LINE SOURCE TEXT VALUE M endif 0343 2136 M call _SetPWPS 0344 M dlabel 00654 00655 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00093 endif 00656 LABEL?L L00025 M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M ifdef PM_USED M LALL M L00025 M XALL M else 0344 M L00025 M endif 00657 00658 ; D:\ELEKTRONIKA\_PIC_BASIC_PRO\_PICBASIC_PROGRAMY\16F1824\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA\ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_V1.PBP 00094 goto main 00659 GOTO?L _Main M L?GOTO _Main M ifdef USE_LINKER M CLRWDT? M else M if ($ == (_Main)) M CLRWDT? M endif M endif M M RST?RP M if (PREV_BANK != 0) M movlb 0 M endif 00000000 M PREV_BANK = 0 M M ifdef USE_LINKER M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else M if ((_Main) < 1) M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else M if ((_Main) > $) M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 113 LOC OBJECT CODE LINE SOURCE TEXT VALUE M else M if ((_Main) < ($ - 0ffh)) M if (CODE_SIZE > 2) M movlp (_Main) >> 8 M endif M goto _Main M else 0344 338C M bra _Main M endif M endif M endif M endif 00660 00661 END MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 114 SYMBOL TABLE LABEL VALUE ABDEN 00000000 ABDOVF 00000007 ACKDT 00000005 ACKEN 00000004 ACKSTAT 00000006 ACKTIM 00000007 ADCON0 0000009D ADCON1 0000009E ADCS0 00000004 ADCS1 00000005 ADCS2 00000006 ADC_BITS 00000008 ADC_SAMPLEUS 00000032 ADD?BCB ADD?WCW ADD?WWW ADDEN 00000003 ADFM 00000007 ADFVR0 00000000 ADFVR1 00000001 ADGO 00000001 ADIE 00000006 ADIF 00000006 ADNREF 00000002 ADON 00000000 ADPREF0 00000000 ADPREF1 00000001 ADRES 0000009B ADRESH 0000009C ADRESL 0000009B AHEN 00000001 ANSA0 00000000 ANSA1 00000001 ANSA2 00000002 ANSA4 00000004 ANSC0 00000000 ANSC1 00000001 ANSC2 00000002 ANSC3 00000003 ANSELA 0000018C ANSELC 0000018E APFCON0 0000011D APFCON1 0000011E ASM? BANK0_END 0000007F BANK0_START 00000020 BANK1_END 000000EF BANK1_START 000000A0 BANK2_END 0000016F BANK2_START 00000120 BAUDCON 0000019F BCL1IE 00000003 BCL1IF 00000003 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 115 SYMBOL TABLE LABEL VALUE BF 00000000 BIT?FLIP BIT?FW BIT?GOTO BIT?R1 BIT?R2 BIT?W BLOCK_SIZE 00000020 BOEN 00000004 BORCON 00000116 BORRDY 00000000 BRG16 00000003 BRGH 00000002 BSR 00000008 BSR0 00000000 BSR1 00000001 BSR2 00000002 BSR3 00000003 BSR4 00000004 BSR_SHAD 00000FE6 BUTTON_PAUSE 0000000A C 00000000 C1HYS 00000001 C1IE 00000005 C1IF 00000005 C1INTN 00000006 C1INTP 00000007 C1NCH0 00000000 C1NCH1 00000001 C1OE 00000005 C1ON 00000007 C1OUT 00000006 C1PCH0 00000004 C1PCH1 00000005 C1POL 00000004 C1SP 00000002 C1SYNC 00000000 C1TSEL0 00000000 C1TSEL1 00000001 C2HYS 00000001 C2IE 00000006 C2IF 00000006 C2INTN 00000006 C2INTP 00000007 C2NCH0 00000000 C2NCH1 00000001 C2OE 00000005 C2ON 00000007 C2OUT 00000006 C2PCH0 00000004 C2PCH1 00000005 C2POL 00000004 C2SP 00000002 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 116 SYMBOL TABLE LABEL VALUE C2SYNC 00000000 C2TSEL0 00000002 C2TSEL1 00000003 C3TSEL0 00000004 C3TSEL1 00000005 C4TSEL0 00000006 C4TSEL1 00000007 CCP1AS 00000295 CCP1AS0 00000004 CCP1AS1 00000005 CCP1AS2 00000006 CCP1ASE 00000007 CCP1CON 00000293 CCP1IE 00000002 CCP1IF 00000002 CCP1M0 00000000 CCP1M1 00000001 CCP1M2 00000002 CCP1M3 00000003 CCP1_BIT 00000002 CCP1_REG 0000000E CCP2AS 0000029C CCP2AS0 00000004 CCP2AS1 00000005 CCP2AS2 00000006 CCP2ASE 00000007 CCP2CON 0000029A CCP2IE 00000000 CCP2IF 00000000 CCP2M0 00000000 CCP2M1 00000001 CCP2M2 00000002 CCP2M3 00000003 CCP2SEL 00000000 CCP2_BIT 00000001 CCP2_REG 0000000E CCP3CON 00000313 CCP3IE 00000004 CCP3IF 00000004 CCP3M0 00000000 CCP3M1 00000001 CCP3M2 00000002 CCP3M3 00000003 CCP3_BIT 00000006 CCP3_REG 0000000E CCP4CON 0000031A CCP4IE 00000005 CCP4IF 00000005 CCP4M0 00000000 CCP4M1 00000001 CCP4M2 00000002 CCP4M3 00000003 CCP4_BIT 00000000 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 117 SYMBOL TABLE LABEL VALUE CCP4_REG 00000000 CCP5_BIT 00000004 CCP5_REG 0000000C CCPR1 00000291 CCPR1H 00000292 CCPR1L 00000291 CCPR2 00000298 CCPR2H 00000299 CCPR2L 00000298 CCPR3 00000311 CCPR3H 00000312 CCPR3L 00000311 CCPR4 00000318 CCPR4H 00000319 CCPR4L 00000318 CCPTMRS 0000029E CCPTMRS0 0000029E CDAFVR0 00000002 CDAFVR1 00000003 CFGS 00000006 CHK?RP CHS0 00000002 CHS1 00000003 CHS2 00000004 CHS3 00000005 CHS4 00000006 CKE 00000006 CKP 00000004 CLKRCON 0000039A CLKRDC0 00000003 CLKRDC1 00000004 CLKRDIV0 00000000 CLKRDIV1 00000001 CLKRDIV2 00000002 CLKREN 00000007 CLKROE 00000006 CLKRSLR 00000005 CLRWDT? CLRWDT?NOP CM1CON0 00000111 CM1CON1 00000112 CM2CON0 00000113 CM2CON1 00000114 CMOUT 00000115 CMP 00000099 CMPEQ?BCL CMPGE 00000090 CMPGE?WCL CMPGE_USED 00000001 CMPGT 00000093 CMPGT_USED 00000001 CMPLE 00000096 CMPLE?WCL MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 118 SYMBOL TABLE LABEL VALUE CMPLE_USED 00000001 CMPNE?BCL CMPNE?TCL CMP_USED 00000001 CODE_SIZE 4 CONVBIT 00000076 CONVBIT_USED 00000001 CPSCH0 00000000 CPSCH1 00000001 CPSCH2 00000002 CPSCH3 00000003 CPSCON0 0000001E CPSCON1 0000001F CPSON 00000007 CPSOUT 00000001 CPSRM 00000006 CPSRNG0 00000002 CPSRNG1 00000003 CREN 00000004 CSRC 00000007 C_SHAD 00000000 DACCON0 00000118 DACCON1 00000119 DACEN 00000007 DACLPS 00000006 DACNSS 00000000 DACOE 00000005 DACPSS0 00000002 DACPSS1 00000003 DACR0 00000000 DACR1 00000001 DACR2 00000002 DACR3 00000003 DACR4 00000004 DC 00000001 DC1B0 00000004 DC1B1 00000005 DC2B0 00000004 DC2B1 00000005 DC3B0 00000004 DC3B1 00000005 DC4B0 00000004 DC4B1 00000005 DC_SHAD 00000001 DEBUGIN_BIT 00000000 DEBUGIN_MODE 00000001 DEBUGIN_REG 0000000C DEBUG_BAUD 00000960 DEBUG_BIT 00000000 DEBUG_DELAY 00000191 DEBUG_MODE 00000001 DEBUG_REG 0000000C DHEN 00000000 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 119 SYMBOL TABLE LABEL VALUE DIV 000000B7 DIV32?CW DIV32DIV 000000B9 DIV32L 000000A9 DIV32L_USED 00000001 DIV?WBW DIV_USED 00000001 DONE 000000E8 DONE5 000000E9 DONERET 000000EA DONE_USED 00000001 D_NOT_A 00000005 ECCP1AS 00000295 EEADR 00000191 EEADRH 00000192 EEADRL 00000191 EECON1 00000195 EECON2 00000196 EEDAT 00000193 EEDATH 00000194 EEDATL 00000193 EEIE 00000004 EEIF 00000004 EEPGD 00000007 EEPROM_END 0000F0FF EEPROM_START 0000F000 ENDASM? F 00000001 FERR 00000002 FLAGS 00000037 FREE 00000004 FSR0 00000004 FSR0H 00000005 FSR0H_SHAD 00000FE9 FSR0L 00000004 FSR0L_SHAD 00000FE8 FSR1 00000006 FSR1H 00000007 FSR1H_SHAD 00000FEB FSR1L 00000006 FSR1L_SHAD 00000FEA FVRCON 00000117 FVREN 00000007 FVRRDY 00000006 GCEN 00000007 GIE 00000007 GO 00000001 GOP 00000038 GOSUB?L GOTO?L GO_NOT_DONE 00000001 HFIOFL 00000003 HFIOFR 00000004 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 120 SYMBOL TABLE LABEL VALUE HFIOFS 00000000 HSER2_BAUD 00000960 HSER2_BITS 00000008 HSER2_RCSTA 00000090 HSER2_SPBRG 00000019 HSER2_TXSTA 00000020 HSERINCOUNT?C HSERINDEC?BL HSERINIT_USED 00000001 HSERINTIME?C HSERINTO 00000006 HSERINTO_DELAY 00000064 HSERINTO_USED 00000001 HSERINWAIT?CLL HSERINX 00000023 HSERINX_USED 00000001 HSER_BAUD 9600 HSER_BITS 00000008 HSER_CLROERR 1 HSER_PORT 00000001 HSER_RCSTA 90h HSER_SPBRG 25 HSER_SPBRGH 1 HSER_TXSTA 24h I2CFIRSTFLAG FLAGS, 2 I2CREADFLAG FLAGS, 3 I2CSTOPFLAG FLAGS, 5 I2CSTOPSTRFLAG FLAGS, 6 I2CWRITEFLAG FLAGS, 4 INDF0 00000000 INDF1 00000001 INIT 000000EB INLVLA 0000038C INLVLA0 00000000 INLVLA1 00000001 INLVLA2 00000002 INLVLA3 00000003 INLVLA4 00000004 INLVLA5 00000005 INLVLC 0000038E INLVLC0 00000000 INLVLC1 00000001 INLVLC2 00000002 INLVLC3 00000003 INLVLC4 00000004 INLVLC5 00000005 INTCON 0000000B INTE 00000004 INTEDG 00000006 INTF 00000001 INTHAND INT_CODE INT_CODE 00000109 IOCAF 00000393 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 121 SYMBOL TABLE LABEL VALUE IOCAF0 00000000 IOCAF1 00000001 IOCAF2 00000002 IOCAF3 00000003 IOCAF4 00000004 IOCAF5 00000005 IOCAN 00000392 IOCAN0 00000000 IOCAN1 00000001 IOCAN2 00000002 IOCAN3 00000003 IOCAN4 00000004 IOCAN5 00000005 IOCAP 00000391 IOCAP0 00000000 IOCAP1 00000001 IOCAP2 00000002 IOCAP3 00000003 IOCAP4 00000004 IOCAP5 00000005 IOCIE 00000003 IOCIF 00000000 IRCF0 00000003 IRCF1 00000004 IRCF2 00000005 IRCF3 00000006 JUMPMAN 000000E3 JUMPMAN_USED 00000001 L00001 00000160 L00002 00000170 L00003 000001C4 L00004 00000207 L00005 00000244 L00006 0000025B L00007 00000298 L00008 000002D4 L00009 00000197 L00011 00000301 L00013 000002FF L00015 00000325 L00017 00000319 L00019 00000325 L00021 00000330 L00023 00000339 L00025 00000344 L?CALL L?GOTO LABEL?L LATA 0000010C LATA0 00000000 LATA1 00000001 LATA2 00000002 LATA4 00000004 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 122 SYMBOL TABLE LABEL VALUE LATA5 00000005 LATC 0000010E LATC0 00000000 LATC1 00000001 LATC2 00000002 LATC3 00000003 LATC4 00000004 LATC5 00000005 LCDCDFLAG FLAGS, 0 LCDINITFLAG FLAGS, 1 LCD_BITS 00000004 LCD_COMMANDUS 000007D0 LCD_DATAUS 00000032 LCD_DBIT 00000000 LCD_DREG 0000000C LCD_EBIT 00000003 LCD_EREG 00000000 LCD_LINES 00000002 LCD_RSBIT 00000004 LCD_RSREG 0000000C LCD_RWBIT 00000004 LCD_RWREG 0000000C LDRET?C LFIOFR 00000001 LOOK2 00000028 LOOK2_USED 00000001 LOOKDOWN?BCLB LOOKUP2?BCLW LOOKUP?BCLB LOW?T LU2RET?C LURET?C LWLO 00000005 MAXMIN 00000081 MAXMIN_USED 00000001 MC1OUT 00000000 MC2OUT 00000001 MDBIT 00000000 MDCARH 0000039F MDCARL 0000039E MDCH0 00000000 MDCH1 00000001 MDCH2 00000002 MDCH3 00000003 MDCHODIS 00000007 MDCHPOL 00000006 MDCHSYNC 00000005 MDCL0 00000000 MDCL1 00000001 MDCL2 00000002 MDCL3 00000003 MDCLODIS 00000007 MDCLPOL 00000006 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 123 SYMBOL TABLE LABEL VALUE MDCLSYNC 00000005 MDCON 0000039C MDEN 00000007 MDMS0 00000000 MDMS1 00000001 MDMS2 00000002 MDMS3 00000003 MDMSODIS 00000007 MDOE 00000006 MDOPOL 00000004 MDOUT 00000003 MDSLR 00000005 MDSRC 0000039D MFIOFR 00000002 MIN 00000080 MIN?WCW MIN_USED 00000001 MOVE?AB MOVE?AT MOVE?AW MOVE?AWW MOVE?BA MOVE?BB MOVE?BT MOVE?BW MOVE?CA MOVE?CB MOVE?CT MOVE?CW MOVE?TA MOVE?TB MOVE?TT MOVE?TW MOVE?WA MOVE?WB MOVE?WT MOVE?WW MOVE?WWA MPASMX_USED 00000001 MUL 000000CF MUL?WWW MUL_USED 00000001 NOT_BOR 00000000 NOT_PD 00000003 NOT_POR 00000001 NOT_RI 00000002 NOT_RMCLR 00000003 NOT_T1SYNC 00000002 NOT_TO 00000004 NOT_WPUEN 00000007 NoPWPS 00000128 NoTimerInt 0000012B OERR 00000001 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 124 SYMBOL TABLE LABEL VALUE OPTION_REG 00000095 OSC 4 OSCCON 00000099 OSCSTAT 0000009A OSCTUNE 00000098 OSC_VALID 00000001 OSFIE 00000007 OSFIF 00000007 OSTS 00000005 P 00000004 P1CSEL 00000002 P1DC0 00000000 P1DC1 00000001 P1DC2 00000002 P1DC3 00000003 P1DC4 00000004 P1DC5 00000005 P1DC6 00000006 P1DSEL 00000003 P1M0 00000006 P1M1 00000007 P1RSEN 00000007 P2BSEL 00000001 P2DC0 00000000 P2DC1 00000001 P2DC2 00000002 P2DC3 00000003 P2DC4 00000004 P2DC5 00000005 P2DC6 00000006 P2M0 00000006 P2M1 00000007 P2RSEN 00000007 PBP_HARDWAREDEF PBP_PATH C:\PROGRAM FILES (X86)\PBP3_1\ PCIE 00000006 PCL 00000002 PCLATH 0000000A PCLATH_SHAD 00000FE7 PCON 00000096 PEIE 00000006 PEN 00000002 PIE1 00000091 PIE2 00000092 PIE3 00000093 PIR 00000011 PIR1 00000011 PIR2 00000012 PIR3 00000013 PLLR 00000006 PORTA 0000000C PORTC 0000000E PR2 0000001B MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 125 SYMBOL TABLE LABEL VALUE PR4 00000416 PR6 0000041D PREV_BANK 00000000 PS0 00000000 PS1 00000001 PS2 00000002 PSA 00000003 PSS1AC0 00000002 PSS1AC1 00000003 PSS1BD0 00000000 PSS1BD1 00000001 PSS2AC0 00000002 PSS2AC1 00000003 PSS2BD0 00000000 PSS2BD1 00000001 PSTR1CON 00000296 PSTR2CON 0000029D PWM1CON 00000294 PWM2CON 0000029B R0 00000020 R1 00000022 R2 00000024 R3 00000026 R4 00000028 R5 0000002A R6 0000002C R7 0000002E R8 00000030 RA0 00000000 RA1 00000001 RA2 00000002 RA3 00000003 RA4 00000004 RA5 00000005 RAM_BANKS 00000003 RAM_END 0000016F RAM_START 00000020 RC0 00000000 RC1 00000001 RC2 00000002 RC3 00000003 RC4 00000004 RC5 00000005 RCEN 00000003 RCIDL 00000006 RCIE 00000005 RCIF 00000005 RCREG 00000199 RCSTA 0000019D RD 00000000 RESET_ORG 00000000 RETURN? RM1 0000003A MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 126 SYMBOL TABLE LABEL VALUE RM2 0000003B RR1 0000003C RR2 0000003D RS1 0000003E RS2 0000003F RSEN 00000001 RST?RP RX9 00000006 RX9D 00000000 RXDTSEL 00000007 R_NOT_W 00000002 S 00000003 SBCDE 00000002 SBOREN 00000007 SCIE 00000005 SCKP 00000004 SCS0 00000000 SCS1 00000001 SDAHT 00000003 SDO1SEL 00000006 SDOSEL 00000006 SEN 00000000 SENDB 00000003 SERIN2DEC 00000040 SERIN2DEC_USED 00000001 SERIN2DONE_USED 00000001 SERIN2TO_USED 00000001 SHIFTL 0000008B SHIFTL?BCB SHIFTL_USED 00000001 SMP 00000007 SP1BRG 0000019B SP1BRGH 0000019C SP1BRGL 0000019B SPBRG 0000019B SPBRGH 0000019C SPBRGL 0000019B SPEN 00000007 SPLLEN 00000007 SRCLK0 00000004 SRCLK1 00000005 SRCLK2 00000006 SRCON0 0000011A SRCON1 0000011B SREN 00000005 SRLEN 00000007 SRNQEN 00000002 SRPR 00000000 SRPS 00000001 SRQEN 00000003 SRRC1E 00000000 SRRC2E 00000001 SRRCKE 00000002 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 127 SYMBOL TABLE LABEL VALUE SRRPE 00000003 SRSC1E 00000004 SRSC2E 00000005 SRSCKE 00000006 SRSPE 00000007 SS1SEL 00000005 SSP1ADD 00000212 SSP1BUF 00000211 SSP1CON 00000215 SSP1CON1 00000215 SSP1CON2 00000216 SSP1CON3 00000217 SSP1IE 00000003 SSP1IF 00000003 SSP1MSK 00000213 SSP1STAT 00000214 SSPADD 00000212 SSPBUF 00000211 SSPCON 00000215 SSPCON1 00000215 SSPCON2 00000216 SSPCON3 00000217 SSPEN 00000005 SSPM0 00000000 SSPM1 00000001 SSPM2 00000002 SSPM3 00000003 SSPMSK 00000213 SSPOV 00000006 SSPSTAT 00000214 SSSEL 00000005 STATUS 00000003 STATUS_SHAD 00000FE4 STKOVF 00000007 STKPTR 00000FED STKUNF 00000006 STR1A 00000000 STR1B 00000001 STR1C 00000002 STR1D 00000003 STR1SYNC 00000004 STR2A 00000000 STR2B 00000001 STR2C 00000002 STR2D 00000003 STR2SYNC 00000004 SUB?CWW SUB?WCW SUB?WWW SWDTEN 00000000 SYNC 00000004 T0CS 00000005 T0IE 00000005 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 128 SYMBOL TABLE LABEL VALUE T0IF 00000002 T0SE 00000004 T0XCS 00000000 T1 00000045 T1CKPS0 00000004 T1CKPS1 00000005 T1CON 00000018 T1GCON 00000019 T1GGO 00000003 T1GGO_NOT_DONE 00000003 T1GPOL 00000006 T1GSEL 00000003 T1GSPM 00000004 T1GSS0 00000000 T1GSS1 00000001 T1GTM 00000005 T1GVAL 00000002 T1OSCEN 00000003 T1OSCR 00000007 T2CKPS0 00000000 T2CKPS1 00000001 T2CON 0000001C T2OUTPS0 00000003 T2OUTPS1 00000004 T2OUTPS2 00000005 T2OUTPS3 00000006 T4CKPS0 00000000 T4CKPS1 00000001 T4CON 00000417 T4OUTPS0 00000003 T4OUTPS1 00000004 T4OUTPS2 00000005 T4OUTPS3 00000006 T6CKPS0 00000000 T6CKPS1 00000001 T6CON 0000041E T6OUTPS0 00000003 T6OUTPS1 00000004 T6OUTPS2 00000005 T6OUTPS3 00000006 TMR0 00000015 TMR0CS 00000005 TMR0IE 00000005 TMR0IF 00000002 TMR0SE 00000004 TMR1 00000016 TMR1CS0 00000006 TMR1CS1 00000007 TMR1GE 00000007 TMR1GIE 00000007 TMR1GIF 00000007 TMR1H 00000017 TMR1IE 00000000 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 129 SYMBOL TABLE LABEL VALUE TMR1IF 00000000 TMR1L 00000016 TMR1ON 00000000 TMR2 0000001A TMR2IE 00000001 TMR2IF 00000001 TMR2ON 00000002 TMR4 00000415 TMR4IE 00000001 TMR4IF 00000001 TMR4ON 00000002 TMR6 0000041C TMR6IE 00000003 TMR6IF 00000003 TMR6ON 00000002 TOSH 00000FEF TOSL 00000FEE TRISA 0000008C TRISA0 00000000 TRISA1 00000001 TRISA2 00000002 TRISA3 00000003 TRISA4 00000004 TRISA5 00000005 TRISC 0000008E TRISC0 00000000 TRISC1 00000001 TRISC2 00000002 TRISC3 00000003 TRISC4 00000004 TRISC5 00000005 TRMT 00000001 TSEN 00000005 TSRNG 00000004 TUN0 00000000 TUN1 00000001 TUN2 00000002 TUN3 00000003 TUN4 00000004 TUN5 00000005 TX9 00000006 TX9D 00000000 TXCKSEL 00000002 TXEN 00000005 TXIE 00000004 TXIF 00000004 TXREG 0000019A TXSTA 0000019E TimerDone 0000012A TurnOFF 00000111 TurnON 0000011D UA 00000001 W 00000000 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 130 SYMBOL TABLE LABEL VALUE WCOL 00000007 WDTCON 00000097 WDTPS0 00000001 WDTPS1 00000002 WDTPS2 00000003 WDTPS3 00000004 WDTPS4 00000005 WPUA 0000020C WPUA0 00000000 WPUA1 00000001 WPUA2 00000002 WPUA3 00000003 WPUA4 00000004 WPUA5 00000005 WPUC 0000020E WPUC0 00000000 WPUC1 00000001 WPUC2 00000002 WPUC3 00000003 WPUC4 00000004 WPUC5 00000005 WR 00000001 WREG 00000009 WREG_SHAD 00000FE5 WREN 00000002 WRERR 00000003 WUE 00000001 Z 00000002 Z_SHAD 00000002 _APFCON0??2 APFCON0, 002h _APFCON0??7 APFCON0, 007h _BOREN_NSLEEP 00003DFF _BOREN_OFF 000039FF _BOREN_ON 00003FFF _BOREN_SBODEN 00003BFF _BORV_19 00003FFF _BORV_HI 00003BFF _BORV_LO 00003FFF _CLKOUTEN_OFF 00003FFF _CLKOUTEN_ON 000037FF _CONFIG1 00008007 _CONFIG2 00008008 _CPD_OFF 00003FFF _CPD_ON 00003EFF _CP_OFF 00003FFF _CP_ON 00003F7F _CalcPWPS 000001A3 _DEVID1 00008006 _DataFlags 00000036 _DataFlags??0 _DataFlags, 000h _DataFlags??1 _DataFlags, 001h _DataFlags??2 _DataFlags, 002h _FCMEN_OFF 00001FFF MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 131 SYMBOL TABLE LABEL VALUE _FCMEN_ON 00003FFF _FOSC_ECH 00003FFF _FOSC_ECL 00003FFD _FOSC_ECM 00003FFE _FOSC_EXTRC 00003FFB _FOSC_HS 00003FFA _FOSC_INTOSC 00003FFC _FOSC_LP 00003FF8 _FOSC_XT 00003FF9 _GIE _INTCON??7 _GetOsc 000002C7 _IDLOC0 00008000 _IDLOC1 00008001 _IDLOC2 00008002 _IDLOC3 00008003 _IESO_OFF 00002FFF _IESO_ON 00003FFF _INTCON??6 INTCON, 006h _INTCON??7 INTCON, 007h _LVP_OFF 00001FFF _LVP_ON 00003FFF _MCLRE_OFF 00003FBF _MCLRE_ON 00003FFF _Main 000002D1 _OPTION_REG??7 OPTION_REG, 007h _OSCnotFound 000002C5 _OffTimePrescaler 00000053 _PEIE _INTCON??6 _PIE1??0 PIE1, 000h _PLLEN_OFF 00003EFF _PLLEN_ON 00003FFF _PORTC??0 PORTC, 000h _PORTC??1 PORTC, 001h _PORTH 0000000E _PORTL 0000000C _PWPSenabled _DataFlags??1 _PWPSpin _PORTC??1 _PWPSstate _DataFlags??2 _PWRTE_OFF 00003FFF _PWRTE_ON 00003FDF _PicOSC 00000039 _Position 00000041 _PulseTicks1ms 00000043 _STVREN_OFF 00003DFF _STVREN_ON 00003FFF _SetPWPS 00000136 _StartPWPS 0000012C _StopPWPS 00000198 _T1CON??0 T1CON, 000h _T1CONoff 00000040 _TMR1IE _PIE1??0 _TMR1ON _T1CON??0 _TMR1_OFF_TICKS 00000049 MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 132 SYMBOL TABLE LABEL VALUE _TMR1_OFF_VAL 00000032 _TMR1_ON_TICKS 0000004B _TMR1_ON_VAL 00000034 _TRISH 0000008E _TRISL 0000008C _TicksPeruSx100 00000047 _Valid _DataFlags??0 _W1 0000004F _WDTE_NSLEEP 00003FF7 _WDTE_OFF 00003FE7 _WDTE_ON 00003FFF _WDTE_SWDTEN 00003FEF _WRT_ALL 00003FFC _WRT_BOOT 00003FFE _WRT_HALF 00003FFD _WRT_OFF 00003FFF __16F1824 00000001 _cmd 00000051 _init 000002C9 _lost 0000033A _n 00000052 _safety _PORTC??0 _uS50Hz 0000004D _y 00000054 cmpnoteq 000000A0 divloop 000000BB divok 000000C9 hserintoloop 00000011 look2bit 0000003B main 000000F4 maxminexit 00000087 mull1 000000DB mulloop 000000D3 serin2decl0 00000043 serin2decloop 00000050 serin2done 0000006C serin2done1 00000073 shiftlloop 00000089 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 00C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX MPASM 5.71 ELEKTRO_SUP_PRIJIMAC_BEZ_ZDROJA_ 7-6-2022 9:44:40 PAGE 133 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0100 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0140 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0180 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 01C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0200 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0240 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0280 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 02C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0300 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0340 : XXXXX----------- ---------------- ---------------- ---------------- 8000 : -------XX------- ---------------- ---------------- ---------------- All other memory blocks unused. Program Memory Words Used: 836 Program Memory Words Free: 3260 Errors : 0 Warnings : 0 reported, 0 suppressed Messages : 0 reported, 22 suppressed