Files
pic_mlab/firebee1.lst
2011-01-03 08:10:50 +00:00

1979 lines
110 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;**********************************************************
00002 ;* firebee1 PIC18F4321 MAIN FILE
00003 ;**********************************************************
00004 ;* CREATED BY FREDI ASCHWANDEN
00005 ;* DATE 22.9.2009
00006 ;**********************************************************
00007 list PE=18f4520 ;EXTENDED INSTRUCTION SET
00008 include "P18f4520.inc"
00001 LIST
00002
00003 ;==========================================================================
00004 ; MPASM PIC18F4520 processor include
00005 ;
00006 ; (c) Copyright 1999-2007 Microchip Technology, All rights reserved
00007 ;==========================================================================
00008
01336 LIST
00009 ;------------------------ Equates --------------------------;
00010 ;Register addresses
00011 ;BANK 0
00000000 00012 SECS equ 0x00
00000001 00013 SECS_ALARM EQU 0x01
00000002 00014 MINS equ 0x02
00000003 00015 MINS_ALRAM EQU 0x03
00000004 00016 HOURS equ 0x04
00000005 00017 HOURS_ALARM EQU 0x05
00000006 00018 DAY_OF_WEEK EQU 0x06
00000007 00019 DAYS EQU 0x07
00000008 00020 MONTHS EQU 0x08
00000009 00021 YEARS EQU 0x09 ;offset vom 1968
0000000A 00022 REGA EQU 0x0A
0000000B 00023 REGB EQU 0x0B
0000000C 00024 REGC EQU 0x0C
0000000D 00025 REGD EQU 0x0D
0000000E 00026 RTC_RAM EQU 0x0E ; bis 0x3F
00000040 00027 free equ 0x40
00000041 00028 TICKS equ 0x41 ;125MS
00000042 00029 TASTE_ON_TIME EQU 0x42
00000043 00030 TASTE_OFF_TIME EQU 0x43
00000044 00031 POWER_ON_TIME EQU 0x44
00000045 00032 AD_KANAL EQU 0x45
00000046 00033 U_ERR EQU 0x46 ;SPANNUNGSFEHLER WENN BIT 0=1, BIT1=1 WA
RTEN AUF GELADEN
00000047 00034 U_ERR_TIME EQU 0x47 ;ZEIT SEIT SPANNUNGSFEHLER
00000048 00035 U_POWER_IN EQU 0x48 ;SPANNUNG POWER IN 1V CA. 6E
00000049 00036 RX_B EQU 0x49 ;RECEIVED BYT
0000004A 00037 RX_STATUS EQU 0x4A ;STATUS: 0x00=WAIT AUF MCF COMMANDO, 0x8
2=EMPFANGE 64BYT FROM RTC
0000004B 00038 TX_STATUS EQU 0x4B ;STATUS: 0x00=WAIT 0x81=SENDE 64BYT FROM
RTC
0000004C 00039 GO_SUB EQU 0x4C ;WENN GLEICH 0xFB DANN SUBROUTINE AUSF<53>H
REN
0000004D 00040 GO_INT EQU 0x4D ;WENN GLEICH 0xFB DANN SUBROUTINE AUSF<53>H
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
REN
0000004E 00041 EAPIR1 EQU 0x4E ;INTERRUPT ACTIV UND ENABLE
0000004F 00042 EAPIR2 EQU 0x4F ;INTERRUPT ACTIV UND ENABLE
00043 ;BANK 1 AB 0x100
00000100 00044 RX_BUFFER EQU 0x100 ;0x80 BYT BUFFER BIS 0x17F BANK
00000180 00045 TX_BUFFER EQU 0x180 ;0X80 BYT BUFFER BIS 0x1FF BANK
00046
00047 ;--------------------------------------------------------------
00000002 00048 SEND_RTC_TIME EQU .2 ;0.25 SEC (EINHEIT IST EIN TICK = 128MS
00000002 00049 RESET_ON_TIME EQU .2 ;0.25 SEC (EINHEIT IST EIN TICK = 128MS
00000004 00050 RESET_OFF_TIME EQU .4 ;0.5 SEC (EINHEIT IST EIN TICK = 128MS
00000014 00051 OFF_TIME EQU .20 ;2.5 SEC (EINHEIT IST EIN TICK =
128MS
00000002 00052 ON_TIME EQU .2 ;0.25 SEC (EINHEIT IST EIN TICK
= 128MS
000000F0 00053 TIMER_HB EQU .240 ;256- (32768Hz PRO 1/8SEC = 4096TICKS/25
6) => 256-16=240 (resp 256-16/4 (wenn osco) = 252)
000000A0 00054 TIME_MAX EQU .160 ;MAXIMALTIME
00000005 00055 U_ERR_PW_AUS EQU .5 ;5 SEC
00056 ;SERIEL
000000FF 00057 SYNC1 EQU 0FFh
00000041 00058 SYNC1_DATA EQU 'A';
000000FE 00059 SYNC2 EQU 0FEh
00000043 00060 SYNC2_DATA EQU 'C';
000000FD 00061 SYNC3 EQU 0FDh
00000050 00062 SYNC3_DATA EQU 'P';
000000FC 00063 SYNC4 EQU 0FCh
00000046 00064 SYNC4_DATA EQU 'F';
00000001 00065 REQ_RTCD_FROM_PIC EQU 01h ;RTC AND NVRAM DATEN VOM PIC ANFORDERN
00000081 00066 RTCD_FROM_PIC EQU 81h ;RTC AND NVRAM DATEN HEADER UND STATUS
00000002 00067 REQ_RTCD_FROM_MCF EQU 02h ;RTC AND NVRAM DATEN VOM MCF ANFORDERN
00000082 00068 RTCD_FROM_MCF EQU 82h ;RTC AND NVRAM DATEN HEADER UND STATUS
00000003 00069 U_MIN_TO_MCF EQU 03h ;UNTERSPANNUNGSMITTEILUNG AN PROCESSOR
00000004 00070 EXT_SUB_GO EQU 04h ;SERIELL CODE UM SUBROUTINEN/INT
ERRUPTS ZU AKTIVIEREN
00000005 00071 EXT_SUB_STOP EQU 05h ;SERIELL CODE UM SUBROUTINEN/INTERRUPTS
ZU STOPPEN
00000012 00072 CLK_SLEEP EQU B'00010010' ;125kHz intern, SLEEP MODE
00000072 00073 CLK_ACTIV EQU B'01110010' ;inTernal CLK=8MHz, SLEEP MODE,
SLEEP MODE
000000FB 00074 EXT_CODE EQU 0xFB ;CODE F<>R EXTERNE SUBROUTINEN/INTERRUPTS
AUSF<53>HREN (FireBee!)
00002000 00075 EXTERN_INT_ADR EQU 0x2000 ;HIER MUSS 0xFB STEHEN WENN EXTERNE INTERRUPTS A
USF<53>HRBAR
00002002 00076 EXTERN_INTERRUPTS EQU 0x2002 ;STARTPUNKT EXTERNE SUBROUTINES
00002010 00077 EXTERN_SUB_ADR EQU 0x2010 ;HIER MUSS 0xFB STEHEN WENN EXTERNE SUBROUTINES
AUSF<53>HRBAR
00002012 00078 EXTERN_SUBROUTINES EQU 0x2012 ;STARTPUNKT EXTERNE SUBROUTINES
000000A0 00079 REQ_BLOCK EQU 0xA0 ;BLOCK DATEN LESEN -> CODE UND 3 BYTS AD
RESSE = TOTAL 4 BYTES
000000A1 00080 READ_BLOCK EQU 0xA1 ;PROGRAMM BLOCK PIC->MCF -> CODE, 3 BYTS
ADRESSE UND 64 BYTS DATEN = TOTAL 68 BYTES
000000A2 00081 WRITE_BLOCK EQU 0xA2 ;PROGRAMM BLOCK MCF->PIC -> CODE, 3 BYTS
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
ADRESSE UND 64 BYTS DATEN = TOTAL 68 BYTES
00000022 00082 PRG_OK_PIC EQU 0x22 ;PROGRAMMIERUNG BLOCK FERTIG
00083 ;**********************************************************************************************"""""""""
""""
00084 ; Start at the reset vector
00085 Reset_Vector code 0x000
000000 D??? 00086 BRA KALT_START
00087 ;--------------------------------------------------------------
00088 HIGH_INT_VEC code 0x0008
000008 EF0C F000 00089 GOTO 0x18
00090
00091 LOW_INT_VEC code 0x0018
000018 00092 INT_HANDLER
000018 6AE0 00093 CLRF BSR ;IMMER ACCESS BANK
00094 ;SETZEN GRUPPE 1
00001A CF9D F04E 00095 MOVFF PIE1,EAPIR1 ;INTERRUPTS HOLEN
00001E 509E 00096 MOVF PIR1,0 ;MASKE
000020 174E 00097 ANDWF EAPIR1 ;ACTIVE SETZEN
000022 B14E 00098 BTFSC EAPIR1,TMR1IF ;uhr interrupt?
000024 D??? 00099 BRA RTC_ISR ;ja->
000026 BD4E 00100 BTFSC EAPIR1,ADIF ;AD INTERRUTP?
000028 D??? 00101 BRA AD_ISR ;JA->
00002A B94E 00102 BTFSC EAPIR1,TXIF ;seriell TX?
00002C D??? 00103 BRA TX_ISR ;JA->
00002E BB4E 00104 BTFSC EAPIR1,RCIF ;seriell RX?
000030 D??? 00105 BRA RX_ISR ;JA->
00106
00107 ;SETZEN GRUPPE 2
000032 CFA0 F04F 00108 MOVFF PIE2,EAPIR2 ;INTERRUPTS HOLEN
000036 50A1 00109 MOVF PIR2,0 ;MASKE
000038 174F 00110 ANDWF EAPIR2 ;ACTIVE SETZEN
00111
00003A B54F 00112 BTFSC EAPIR2,HLVDIF ;UNDER/OVERVOLTAGE DETECT
00003C D??? 00113 BRA HLVD_ISR ;JA->
00003E 0010 00114 RETFIE
00115
00116 ;TESTEN UND SETZEN GRUPPE 1
000040 CF9D F04E 00117 MOVFF PIE1,EAPIR1 ;INTERRUPTS HOLEN
000044 509E 00118 MOVF PIR1,0 ;MASKE
000046 174E 00119 ANDWF EAPIR1 ;ACTIVE SETZEN
000048 674E 00120 TSTFSZ EAPIR1
00004A D??? 00121 BRA INT_HANDLER
00122 ;TESTEN UND SETZEN GRUPPE 2
00004C CFA0 F04F 00123 MOVFF PIE2,EAPIR2 ;INTERRUPTS HOLEN
000050 50A1 00124 MOVF PIR2,0 ;MASKE
000052 174F 00125 ANDWF EAPIR2 ;ACTIVE SETZEN
000054 674F 00126 TSTFSZ EAPIR2
000056 D??? 00127 BRA INT_HANDLER
00128
000058 0EFB 00129 MOVLW EXT_CODE ;GO EXTERNE SUBROUTINEN AKTIV?
00005A 634D 00130 CPFSEQ GO_INT ;SKIP WENN JA
00005C 0010 00131 RETFIE
00005E EF01 F010 00132 GOTO EXTERN_INTERRUPTS ;REGISTER SICHERN UND STARTEN
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00133 ;**********************************************************************************************"""""""""
""""
00134 ; Start application beyond vector area
00135 CODE 0x0100
000100 00136 KALT_START
00137 ;RESET MODE
000100 6AE0 00138 CLRF BSR ;BANK 0
00139 ;ALLE INT AUS UND R<>CKSETZEN
000102 6AF2 00140 CLRF INTCON ;alle INTERRUPT AUS
000104 6AD0 00141 CLRF RCON ;INT PRIORITY AUS
000106 6A9D 00142 CLRF PIE1 ;MASK DISABLE
000108 6AA0 00143 CLRF PIE2
00010A 6A9E 00144 CLRF PIR1 ;INT ACT AUS
00010C 6AA1 00145 CLRF PIR2
00010E 6A9F 00146 CLRF IPR1 ;LOW PRIORITY
000110 6AA2 00147 CLRF IPR2
00148 ; clock
00149 ; MOVLW B'01000000' ;32MHZ
00150 ; MOVWF OSCTUNE
000112 6A9B 00151 CLRF OSCTUNE
00152 ;CLOCK
000114 0E72 00153 MOVLW CLK_ACTIV
000116 6ED3 00154 MOVWF OSCCON
00155 ; div init
00156 ;SET PORT A: **7:#master/0.409*5V0 **6:PIC_AMKB_RX **5:PIC_SWTICH **4:HIGH_CHARGE_CURRENT **3:2V5 *2:3V3
/2 **1:1V25 **0:POWER_IN/11
000118 6A80 00157 CLRF PORTA ;#master(7)=0, REST=0
00011A 0EFF 00158 MOVLW B'11111111' ;DIRECTION: alles auf Input
00011C 6E92 00159 MOVWF TRISA
00160 ;SET PORT B: **7:PGD **6:PGC **5:PGM **4:PIN_INT,1V5 **3:GAME PORT PIN10 **2:GAME PORT PIN11 **1:GAME PO
RT PIN6 **0: GAME PORT PIN5
00011E 6A81 00161 CLRF PORTB ;ALLES AUF 0
000120 6E93 00162 MOVWF TRISB
00163 ;SET PORT C: **7: PIC_RX **6:PIC_TX **5:AMKB_TX **4:GAME PORT PIN4 **3:GAME PORT PIN12 **2:GAME PORT PIN
13 **1+0: OCS 32K768Hz
000122 6A82 00164 CLRF PORTC
000124 6E94 00165 MOVWF TRISC
00166 ;SET PORT D: **7:#RSTI **6:GAME PORT PIN3 **5:PS2 KB CLK **4:PS2 MS CLK **3:PS2 KB DATA **2:MS DATA **1:
TASTER **0:POWER ON/OFF (0=ON)
00167 ; SET TASTE UND POWER
000126 6A83 00168 CLRF PORTD ;ALLES AUF 0
000128 6E95 00169 MOVWF TRISD ;ALLES AUF INPUT
00170 ;SET PORT E: **3:#MCLR **2:#PCI_RESET **1:PCI 3V3 **0:PIC LED (0=ON)
00012A 0E01 00171 MOVLW B'00000001' ;LED OFF
00012C 6A84 00172 CLRF PORTE ;ALLES AUF 0
00012E 6E96 00173 MOVWF TRISE ;ALLES AUF INPUT
00174 ;--------------------------
00175 ; set OVERvoltage detekt
000130 0E9B 00176 MOVLW B'10011011' ;INT WENN <20>BER 3.9V
000132 6ED2 00177 MOVWF HLVDCON
000134 0E03 00178 MOVLW B'00000011' ;ERRORS ON, WAIT AUF LADEN
000136 6F46 00179 MOVWF U_ERR
000138 0E14 00180 MOVLW .20 ;SEIT 20SEC ERROR
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00013A 6F47 00181 MOVWF U_ERR_TIME ;SETZEN
00013C 84A0 00182 BSF PIE2,HLVDIE ;Enable interrupt
00183 ;INTIALISIERUNGSPROGAMME
00013E EC?? F??? 00184 CALL LADESTROM ;LADESTROM EINSTELLEN
00185 ;UHR initialisieren
000142 0EF0 00186 MOVLW TIMER_HB ;Preload TMR1 register
000144 6ECF 00187 MOVWF TMR1H ;
000146 6ACE 00188 CLRF TMR1L ;=0
000148 0E0F 00189 MOVLW B'00001111' ; 8 BIT, osc1 enable, TIMER MODE, TIMMER ENABLE
00014A 6ECD 00190 MOVWF T1CON ; SET
00014C 6B41 00191 CLRF TICKS ; 1/8 sec register
00014E 6B00 00192 CLRF SECS ; Initialize timekeeping registers
000150 6B02 00193 CLRF MINS ;
000152 0E0C 00194 MOVLW .12
000154 6F04 00195 MOVWF HOURS
000156 0E01 00196 MOVLW .1
000158 6F06 00197 MOVWF DAY_OF_WEEK
00015A 0E01 00198 MOVLW .1
00015C 6F07 00199 MOVWF DAYS
00015E 0E08 00200 MOVLW .8
000160 6F08 00201 MOVWF MONTHS
000162 0E2A 00202 MOVLW .42
000164 6F09 00203 MOVWF YEARS ;MONTAG 19.7.2010 12:00:00 (JAHR-1968)
000166 6B42 00204 CLRF TASTE_ON_TIME
000168 6B43 00205 CLRF TASTE_OFF_TIME
00016A 6B44 00206 CLRF POWER_ON_TIME
00016C 809D 00207 BSF PIE1,TMR1IE ;Enable Timer1 interrupt
00208 ;AD WANDLER INITIALISIEREN
00016E 6B45 00209 CLRF AD_KANAL ;BEI 0 BEGINNEN
000170 6AC2 00210 CLRF ADCON0 ;AD MOUDUL AUS
000172 0E09 00211 MOVLW B'00001001' ;VREF=VDD,ANALOG INPUT AN0-AN5
000174 6EC1 00212 MOVWF ADCON1
000176 0E00 00213 MOVLW B'00000000' ;LINKSSB<53>NDIG,0 TAD,CLOCK=Fosc/2
000178 6EC0 00214 MOVWF ADCON2
00215 ; BSF PIE1,ADIE ;INTERRUPT ENABLE
00017A 6B48 00216 CLRF U_POWER_IN ;WERT AUF 0 VOLT
00217 ; seriell initialisieren
00017C 6AB0 00218 CLRF SPBRGH
00017E 0E10 00219 MOVLW .16
000180 6EAF 00220 MOVWF SPBRG ;BAUDE RATE = 115K
000182 0E04 00221 MOVLW B'00000100' ;TX AUS, ASYNC HIGH SPEED
000184 6EAC 00222 MOVWF TXSTA
000186 0E90 00223 MOVLW B'10010000' ;SERIEL EIN,RX EIN,
000188 6EAB 00224 MOVWF RCSTA
00018A 0E08 00225 MOVLW B'00001000' ;16BIT BRG, RISING EDGE INTERRUPT
00018C 6EB8 00226 MOVWF BAUDCON ;SETZEN
00227 ;EXTERNER SUBROUTINES
00018E 6B4C 00228 CLRF GO_SUB
00229 ; interrupts
000190 6AF0 00230 CLRF INTCON3 ;EXTER INTERRUPT AUS, low priority
000192 0EF0 00231 MOVLW B'11110000' ;PORT B PULLUPS AUS, EXT INT ON RISING EDGE, TMR0 AND BP
IP Low priority
000194 6EF1 00232 MOVWF INTCON2
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000196 0EC0 00233 MOVLW B'11000000' ;global on, PERIPHERAL INT on
000198 6EF2 00234 MOVWF INTCON
00235 ;CLOCK
00019A 0E12 00236 MOVLW CLK_SLEEP ;GEHT JETZT IN SLEEP MODE
00019C 6ED3 00237 MOVWF OSCCON
00238 ;-------------------------------------------------------------------------
00239 ;---------------------------- MAIN LOOP -------------------------------------------------
00240 ;-------------------------------------------------------------------------
00019E 00241 MAIN
00019E 0EFB 00242 MOVLW EXT_CODE ;GO EXTERNE SUBROUTINEN AKTIV?
0001A0 634C 00243 CPFSEQ GO_SUB ;SKIP WENN JA
0001A2 D??? 00244 BRA WARTEN ;SONST WARTEN
0001A4 ED00 F000 00245 CALL MAIN2,1 ;REGISTER SICHERN UND STARTEN
0001A8 00246 WARTEN
0001A8 B095 00247 BTFSC TRISD,RD0 ;SKIP IF POWER ON
0001AA 0003 00248 SLEEP ;SLEPP BIS ZUM N<>CHSTEN INTERRUPT
0001AC D??? 00249 BRA MAIN
0001AE 00250 MAIN2
0001AE EC09 F010 00251 CALL EXTERN_SUBROUTINES ;EXTERNE SUBROUTINEN AUSF<53>HREN AN STELLE 0 MUSS 0xFA STEHEN SONS
T UNG<4E>LTIG
0001B2 0013 00252 RETURN 1 ;RETURN MIT REGISTER ZUR<55>CK
00253 ;**********************************************************************************************"""""""""
""""
00254 ;--------------------------- subroutines -------------------------------------------------
00255 ;**********************************************************************************************"""""""""
""""
00256 ;POWER ON/OFF
0001B4 00257 POWER_EIN
00258 ;CLOCK
0001B4 0E72 00259 MOVLW CLK_ACTIV
0001B6 6ED3 00260 MOVWF OSCCON
00261
0001B8 9E92 00262 BCF TRISA,RA7 ;CLOCK EINSCHALTEN
0001BA 9E95 00263 BCF TRISD,RD7 ;#RSTI AKTIVIEREN = LOW
0001BC 9893 00264 BCF TRISB,RB4 ;PIC_INT AKTIVIEREN
0001BE 9095 00265 BCF TRISD,RD0 ;POWER ON
0001C0 D??? 00266 BRA LS_ON_POWER ;LADESTROM EINSTELLEN
0001C2 00267 POWER_AUS
00268 ;CLOCK
0001C2 0E12 00269 MOVLW CLK_SLEEP
0001C4 6ED3 00270 MOVWF OSCCON
00271
0001C6 8095 00272 BSF TRISD,RD0 ;POWER OFF
0001C8 8E95 00273 BSF TRISD,RD7 ;#RSTI DEAKTIVIEREN
0001CA 8893 00274 BSF TRISB,RB4 ;PIC INT DEAKTIVIEREN
0001CC 8E92 00275 BSF TRISA,RA7 ;CLOCK DEAKTIVIEREN
0001CE 6B44 00276 CLRF POWER_ON_TIME ;R<>CKSETZEN
0001D0 D??? 00277 BRA LS_OFF_POWER ;LADESTROM EINSTELLEN
00278 ;LADESTROM EINSTELLEN ----------------------------
0001D2 00279 LADESTROM
0001D2 B095 00280 BTFSC TRISD,RD0 ; ONPOWER?
0001D4 D??? 00281 BRA LS_OFF_POWER ; NEIN->
0001D6 00282 LS_ON_POWER ;GROSSER LADESTROM 5A
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0001D6 9892 00283 BCF TRISA,RA4 ;10K ON
0001D8 0012 00284 RETURN
0001DA 00285 LS_OFF_POWER ;KLEINER LADESTROM_MIN 1.85A
0001DA 8892 00286 BSF TRISA,RA4 ;10K OFF
0001DC 0012 00287 RETURN
00288 ;---------------------------------------------------
00289 ;SERIELL AUS/EIN
0001DE 00290 SERIAL_OFF
0001DE 9AAC 00291 BCF TXSTA,TXEN ;TX AUS
0001E0 9A9D 00292 BCF PIE1,RCIE ;DISABLE RX interrupt
0001E2 9A9E 00293 BCF PIR1,RCIF ;CLEAR RX interrupt
0001E4 989D 00294 BCF PIE1,TXIE ;DISABLE TX interrupt
0001E6 989E 00295 BCF PIR1,TXIF ;CLEAR TX interrupt
0001E8 0012 00296 RETURN
0001EA 00297 SERIAL_ON
0001EA BAAC 00298 BTFSC TXSTA,TXEN ;SCHON EIN?
0001EC 0012 00299 RETURN ;JA->
0001EE 8AAC 00300 BSF TXSTA,TXEN ;TX EIN
0001F0 0EFF 00301 MOVLW SYNC1
0001F2 6F4A 00302 MOVWF RX_STATUS ;AUF SYNC WARTEN
0001F4 6B4B 00303 CLRF TX_STATUS
0001F6 CFAE F049 00304 MOVFF RCREG,RX_B ;RCREG LEEREN
0001FA CFAE F049 00305 MOVFF RCREG,RX_B ;RCREG LEEREN
0001FE 989E 00306 BCF PIR1,TXIF ;CLEAR TX interrupt
000200 9A9E 00307 BCF PIR1,RCIF ;INTERRUPT RX FLAG L<>SCHEN
000202 8A9D 00308 BSF PIE1,RCIE ;ENABLE RX interrupt
000204 0000 00309 NOP
000206 0012 00310 RETURN
00311 ;---------------------------------------------------------------------
00312 ; TASTENDRUCK
000208 00313 TASTE
000208 A283 00314 BTFSS PORTD,RD1 ;TASTE GEDR<44>CKT?
00020A D??? 00315 BRA TG_JA ;->JA
00316 ;TASTE NICHT GEDR<44>CKT ODER LOSGELASSEN
00020C 6B42 00317 CLRF TASTE_ON_TIME ;R<>CKSETZEN
00318
00020E 0EA0 00319 MOVLW TIME_MAX ;MAX
000210 6543 00320 CPFSGT TASTE_OFF_TIME ;L<>NGER?
000212 2B43 00321 INCF TASTE_OFF_TIME ;NEIN ERH<52>HEN
00322
000214 0E04 00323 MOVLW RESET_OFF_TIME ;2SEC
000216 6544 00324 CPFSGT POWER_ON_TIME ;L<>NGER?
000218 0012 00325 RETURN ;NEIN->
00326 ;RESET AUFHEBEN
00021A 8E95 00327 BSF TRISD,RD7 ;JA -> #RSTI DEAKTIVIEREN =HIGH
00021C EC?? F??? 00328 CALL SERIAL_ON ;SERIELL EINSCHALTEN
000220 0012 00329 RETURN
00330 ;TASTE GEDR<44>CKT
000222 00331 TG_JA
000222 0E15 00332 MOVLW OFF_TIME+1
000224 6142 00333 CPFSLT TASTE_ON_TIME ;K<>RZER ALS ONTIME+1
000226 0012 00334 RETURN ;NEIN->FERTIG
000228 B095 00335 BTFSC TRISD,RD0 ;ONPOWER?
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00022A D??? 00336 BRA TG_OFF_POWER ;NEIN->
00022C 00337 TG_ON_POWER
00022C 0E02 00338 MOVLW SEND_RTC_TIME ;ZEIT F<>R RTC REQ FROM MCF HOLEN?
00022E 6342 00339 CPFSEQ TASTE_ON_TIME ;TEST
000230 D??? 00340 BRA TG_ON_POWER2 ;NEIN->
000232 00341 SEND_RTC_REG
000232 0E02 00342 MOVLW REQ_RTCD_FROM_MCF
000234 6EAD 00343 MOVWF TXREG ;SENDEN
000236 D??? 00344 BRA TG_END;
000238 00345 TG_ON_POWER2
000238 0E02 00346 MOVLW RESET_ON_TIME ;
00023A 6142 00347 CPFSLT TASTE_ON_TIME ;K<>RZER?
00023C D??? 00348 BRA RESETEN
00023E 00349 TG_ON_POWER3
00023E 0E14 00350 MOVLW OFF_TIME
000240 6142 00351 CPFSLT TASTE_ON_TIME ;K<>RZER ON/OFF TIME?
000242 EC?? F??? 00352 CALL POWER_AUS ;NEIN->POWER OFF
000246 D??? 00353 BRA TG_END
000248 00354 TG_OFF_POWER
000248 0E02 00355 MOVLW ON_TIME
00024A 6142 00356 CPFSLT TASTE_ON_TIME ;K<>RZER ALS ON/OFF TIME?
00024C EC?? F??? 00357 CALL POWER_EIN ;NEIN->POWER ON
000250 00358 TG_END
000250 6B43 00359 CLRF TASTE_OFF_TIME ;R<>CKSETZEN
000252 2B42 00360 INCF TASTE_ON_TIME ;ERH<52>HEN
000254 0012 00361 RETURN
000256 00362 RESETEN
000256 9E95 00363 BCF TRISD,RD7 ;NEIN-> #RSTI AKTIVIEREN =LOW -->>>RESET
000258 EC?? F??? 00364 CALL SERIAL_OFF ;SERIELL DEAKTIVIEREN
00025C D??? 00365 BRA TG_ON_POWER3
00366 ;**********************************************************************************************"""""""""
""""
00367 ;----------------------------------------- INTERRUPTS
00368 ;**********************************************************************************************"""""""""
""""
00369 ; SERIELL INTERRUPTS
00370 ;**********************************************************************************************"""""""""
""""
00371 ;TX
00025E 00372 TX_ISR ;TRANSMIT
00025E 0E81 00373 MOVLW RTCD_FROM_PIC ;RTC DATEN SENDEN?
000260 634B 00374 CPFSEQ TX_STATUS ;SKIP JA
000262 D??? 00375 BRA TX_ISR1 ;NEIN->
000264 CFEE FFAD 00376 MOVFF POSTINC0,TXREG ;BYT SENDEN
000268 0E3F 00377 MOVLW 0x3F ;SCHON LETZTES BYTS?
00026A 64E9 00378 CPFSGT FSR0L ;SKIP WENN FERTIG
00026C 0010 00379 RETFIE ;NEIN WEITERE SENDEN
00026E 00380 TX_ISR_FERTIG
00026E 6B4B 00381 CLRF TX_STATUS
000270 989D 00382 BCF PIE1,TXIE ;SONST DISABLE interrupt
000272 989E 00383 BCF PIR1,TXIF ;INTERRUPT FLAG L<>SCHEN
000274 0010 00384 RETFIE
000276 00385 TX_ISR1
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000276 0EA1 00386 MOVLW READ_BLOCK ;READ BLOCK?
000278 634B 00387 CPFSEQ TX_STATUS ;SKIP JA
00027A D??? 00388 BRA TX_ISR2 ;NEIN->
00027C CFEE FFAD 00389 MOVFF POSTINC0,TXREG ;BYT SENDEN
000280 0EC3 00390 MOVLW 0xC3 ;SCHON LETZTES BYTS?
000282 64E9 00391 CPFSGT FSR0L ;SKIP WENN FERTIG
000284 0010 00392 RETFIE ;NEIN WEITERE SENDEN
000286 00393 TX_ISR2
000286 D??? 00394 BRA TX_ISR_FERTIG
00395 ;**********************************************************************************************"""""""""
""""
00396 ;RX
000288 00397 RX_ISR ; BYT RECEIVED
000288 CFAE F049 00398 MOVFF RCREG,RX_B ; BYT HOLEN
00399 ; MOVFF RX_B,TXREG ; ECHO
00028C 0EFC 00400 MOVLW SYNC4 ;IM SYNC STATUS?
00028E 614A 00401 CPFSLT RX_STATUS ;SKIP WENN NEIN
000290 D??? 00402 BRA RX_SYNC_START ;JA -> ZUERST SYNC EMPFANGEN
00403 ;---------------
000292 0E82 00404 MOVLW RTCD_FROM_MCF ; DATEN VOM MCF CODE 0x82?
000294 634A 00405 CPFSEQ RX_STATUS ; WENN JA-> SKIP
000296 D??? 00406 BRA RX_ISR1 ; NEIN->
00407 ;64 BYT EMPFANGEN -------------------------------------
000298 C049 FFE6 00408 MOVFF RX_B,POSTINC1 ;HOLEN -> (CNT+)
00029C 0E3F 00409 MOVLW 0x3F ;64 BYT <20>BERTRAGEN?
00029E 60E1 00410 CPFSLT FSR1L ;NEIN ->SKIP
0002A0 6B4A 00411 CLRF RX_STATUS ;JA FERTIG
0002A2 0010 00412 RETFIE
00413 ;-------------------------------------------------------------------------------------
0002A4 00414 RX_ISR1
0002A4 6349 00415 CPFSEQ RX_B ;BLOCK HEADER 0X82?
0002A6 D??? 00416 BRA RX_ISR2 ;NEIN->
0002A8 6F4A 00417 MOVWF RX_STATUS ;STATUS SETZEN = EMPFANGENES BYT
0002AA EE10 F000 00418 LFSR 1,.0 ;BYT COUNTER AUF O
0002AE 0010 00419 RETFIE
0002B0 00420 RX_ISR2
0002B0 0E01 00421 MOVLW REQ_RTCD_FROM_PIC ;DATEN SENDEN?
0002B2 6349 00422 CPFSEQ RX_B ;SKIP WENN JA
0002B4 D??? 00423 BRA RX_ISR3 ;SONST NEXT
00424 ;BLOCK HEADER UND 64 BYT SENDEN -----------------------------------------
0002B6 EE00 F000 00425 LFSR 0,.0
0002BA 989E 00426 BCF PIR1,TXIF ;INTERRUPT FLAG L<>SCHEN
0002BC 889D 00427 BSF PIE1,TXIE ;Enable interrupt
0002BE 0E81 00428 MOVLW RTCD_FROM_PIC
0002C0 6F4B 00429 MOVWF TX_STATUS ;STATUS SETZEN
0002C2 6EAD 00430 MOVWF TXREG ;BLOCK HEADER = 0X81
0002C4 6B4A 00431 CLRF RX_STATUS ;STATUS R<>CKSETZEN
0002C6 0010 00432 RETFIE ;UND WEG
00433 ;-------------------------------------------------------------------------------------
0002C8 00434 RX_ISR3
0002C8 0E04 00435 MOVLW EXT_SUB_GO ;EXT SUB FREIGEBEN?
0002CA 6349 00436 CPFSEQ RX_B
0002CC D??? 00437 BRA RX_ISR4 ;NEIN->
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 10
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00438 ;EXT SUBS FREIGEBEN --------------------------------------------------------------
0002CE 0E00 00439 MOVLW (EXTERN_INT_ADR & 0xFF0000)>>16
0002D0 6EF8 00440 MOVWF TBLPTRU
0002D2 0E20 00441 MOVLW (EXTERN_INT_ADR & 0x00FF00)>>8
0002D4 6EF7 00442 MOVWF TBLPTRH
0002D6 0E00 00443 MOVLW (EXTERN_INT_ADR & 0x0000FF)
0002D8 6EF6 00444 MOVWF TBLPTRL ;ADRESSE SETZEN
0002DA 0008 00445 TBLRD* ;WERT HOLEN (MUSS 0xFB SEIN SONST UNG<4E>LTIG)
0002DC CFF5 F04D 00446 MOVFF TABLAT,GO_INT ;EXTERNE SUBROUTINES AKTIVIEREN WENN OK
0002E0 0E00 00447 MOVLW (EXTERN_SUB_ADR & 0xFF0000)>>16
0002E2 6EF8 00448 MOVWF TBLPTRU
0002E4 0E20 00449 MOVLW (EXTERN_SUB_ADR & 0x00FF00)>>8
0002E6 6EF7 00450 MOVWF TBLPTRH
0002E8 0E10 00451 MOVLW (EXTERN_SUB_ADR & 0x0000FF)
0002EA 6EF6 00452 MOVWF TBLPTRL ;ADRESSE SETZEN
0002EC 0008 00453 TBLRD* ;WERT HOLEN (MUSS 0xFB SEIN SONST UNG<4E>LTIG)
0002EE CFF5 F04C 00454 MOVFF TABLAT,GO_SUB ;EXTERNE SUBROUTINES AKTIVIEREN WENN OK
0002F2 6B4A 00455 CLRF RX_STATUS ;STATUS R<>CKSETZEN
0002F4 0010 00456 RETFIE ;UND WEG
00457 ;-------------------------------------------------------------------------------------
0002F6 00458 RX_ISR4
0002F6 0E05 00459 MOVLW EXT_SUB_STOP ;EXT SUB STOPPEN?
0002F8 6349 00460 CPFSEQ RX_B
0002FA D??? 00461 BRA RX_ISR5 ;NEIN->
00462 ;EXT SUBS STOPPEN --------------------------------------------------------------
0002FC 6B4D 00463 CLRF GO_INT ;STOPPEN
0002FE 6B4C 00464 CLRF GO_SUB ;STOPPEN
000300 6B4A 00465 CLRF RX_STATUS ;STATUS R<>CKSETZEN
000302 0010 00466 RETFIE ;UND WEG
00467 ;-------------------------------------------------------------------------------------
000304 00468 RX_ISR5
000304 0EA0 00469 MOVLW REQ_BLOCK ;REQ BLOCK?
000306 6349 00470 CPFSEQ RX_B
000308 D??? 00471 BRA RX_ISR6 ;NEIN->
00472 ;REQ BLOCK ----------------------------------------------------------------
00030A 6F4A 00473 MOVWF RX_STATUS ;STATUS SETZEN = EMPFANGENES BYT
00030C EE11 F080 00474 LFSR 1,TX_BUFFER ;BYT COUNTER AUF TX_BUFFER -> GLEICH EINTRAGEN
000310 0010 00475 RETFIE
000312 00476 RX_ISR6
000312 634A 00477 CPFSEQ RX_STATUS ;REQ BLOCK ADRESSE EMPFANGFEN?
000314 D??? 00478 BRA RX_ISR7 ;NEIN->
00479 ;3 BYT EMPFANGEN -------------------------------------
000316 C049 FFE6 00480 MOVFF RX_B,POSTINC1 ;HOLEN -> (CNT+)
00031A 0E82 00481 MOVLW 0x82 ;3 BYT <20>BERTRAGEN? (BUFFER BEGINNT BEI 0x180
00031C 60E1 00482 CPFSLT FSR1L ;NEIN ->SKIP
00031E D??? 00483 BRA RX_RB3BOK
000320 0010 00484 RETFIE
000322 00485 RX_RB3BOK
000322 EE11 F080 00486 LFSR 1,TX_BUFFER ;BYT RX COUNTER AUF TX_BUFFER
000326 CFE6 FFF8 00487 MOVFF POSTINC1,TBLPTRU ;ADRESSE EINTRAGEN
00032A CFE6 FFF7 00488 MOVFF POSTINC1,TBLPTRH
00032E CFE6 FFF6 00489 MOVFF POSTINC1,TBLPTRL
000332 0EC2 00490 MOVLW 0xC2 ;67 BYT <20>BERTRAGEN? (BUFFER BEGINNT BEI 0x180
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 11
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000334 00491 RX_RB3B2
000334 0009 00492 TBLRD *+ ;LESEN UND NEXT
000336 CFF5 FFE6 00493 MOVFF TABLAT,POSTINC1 ;UND EINTRAGEN
00033A 62E1 00494 CPFSEQ FSR1L ;WENN FERTIG ->SKIP
00033C D??? 00495 BRA RX_RB3B2 ;SONST LOOP
00496 ;BLOCK HEADER 3 BYTS ADRESSE UND 64 BYT SENDEN STARTEN -----------------------------------------
00033E EE01 F080 00497 LFSR 0,TX_BUFFER ;TX COUNTER AUF TX_BUFFER
000342 989E 00498 BCF PIR1,TXIF ;INTERRUPT FLAG L<>SCHEN
000344 889D 00499 BSF PIE1,TXIE ;Enable interrupt
000346 0EA1 00500 MOVLW READ_BLOCK ;CODE HEADER 0xA1
000348 6F4B 00501 MOVWF TX_STATUS ;STATUS SETZEN
00034A 6EAD 00502 MOVWF TXREG ;BLOCK HEADER = 0XA1
00034C 6B4A 00503 CLRF RX_STATUS ;STATUS R<>CKSETZEN
00034E 0010 00504 RETFIE ;UND WEG
00505 ;-------------------------------------------------------------------------------------
000350 00506 RX_ISR7
000350 0EA2 00507 MOVLW WRITE_BLOCK ;WRITE BLOCK 0xA2 BYT EMPFANGEN?
000352 634A 00508 CPFSEQ RX_STATUS ;WENN JA-> SKIP
000354 D??? 00509 BRA RX_ISR8 ;NEIN->
00510 ;WRITE BLOCK ----------------------------------------------------------------------------
00511 ;67 BYT EMPFANGEN -------------------------------------
000356 C049 FFE6 00512 MOVFF RX_B,POSTINC1 ;HOLEN -> (CNT+)
00035A 0E42 00513 MOVLW 0x42 ;67 BYT <20>BERTRAGEN?
00035C 60E1 00514 CPFSLT FSR1L ;WENN FERTIG ->SKIP
00035E 0010 00515 RETFIE
00516 ; ADRESSE UND DATEN SIND DA -> PROGRAMMING FLASH
000360 EE11 F000 00517 LFSR 1,RX_BUFFER ;BYT COUNTER AUF RX BUFFER
000364 CFE6 FFF8 00518 MOVFF POSTINC1,TBLPTRU ;TABLE POINTER SETZEN
000368 0E00 00519 MOVLW (EXTERN_INT_ADR & 0xFF0000)>>16
00036A 60F8 00520 CPFSLT TBLPTRU ;TEST OB WENIGER ALS ERLAUBT
00036C D??? 00521 BRA NO_PROG ;JA->
00036E CFE6 FFF7 00522 MOVFF POSTINC1,TBLPTRH ;TABLE POINTER SETZEN
000372 0E20 00523 MOVLW (EXTERN_INT_ADR & 0x00FF00)>>8
000374 60F8 00524 CPFSLT TBLPTRU ;TEST OB WENIGER ALS ERLAUBT
000376 D??? 00525 BRA NO_PROG ;JA->
000378 CFE6 FFF6 00526 MOVFF POSTINC1,TBLPTRL ;TABLE POINTER SETZEN
00527 ;EREASE BLOCK
00037C 8EA6 00528 BSF EECON1,EEPGD ; point to Flash program memory
00037E 9CA6 00529 BCF EECON1,CFGS ; access Flash program memory
000380 84A6 00530 BSF EECON1,WREN ; enable write to memory
000382 88A6 00531 BSF EECON1,FREE ; enable Row Erase operation
000384 0E55 00532 MOVLW 55h
000386 6EA7 00533 MOVWF EECON2 ; write 55h
000388 0EAA 00534 MOVLW 0AAh ; write 0AAh
00038A 6EA7 00535 MOVWF EECON2
00038C 82A6 00536 BSF EECON1,WR ; start erase (CPU stall)
00038E 0E42 00537 MOVLW 0x42 ;67 BYT
000390 00538 WRITE_WORD_TO_HREGS
000390 CFE6 FFF5 00539 MOVFF POSTINC1,TABLAT ; get byte of buffer data
000394 000F 00540 TBLWT+* ; write data, perform a short write to internal
TBLWT holding register.
000396 60E1 00541 CPFSLT FSR1L ;SCHON BEI 67 BYTES?
000398 D??? 00542 BRA WRITE_WORD_TO_HREGS ;NEIN->LOOP
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 12
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00039A 00543 PROGRAM_MEMORY
00039A 8EA6 00544 BSF EECON1,EEPGD ; point to Flash program memory
00039C 9CA6 00545 BCF EECON1,CFGS ; access Flash program memory
00039E 84A6 00546 BSF EECON1,WREN ; enable write to memory
0003A0 0E55 00547 MOVLW 55h
0003A2 6EA7 00548 MOVWF EECON2 ; write 55h
0003A4 0EAA 00549 MOVLW 0AAh
0003A6 6EA7 00550 MOVWF EECON2 ; write 0AAh
0003A8 82A6 00551 BSF EECON1,WR ; start program (CPU stall)
0003AA 94A6 00552 BCF EECON1,WREN ; disable write to memory
0003AC 00553 NO_PROG
0003AC 6B4A 00554 CLRF RX_STATUS ;AUF NORMLA SCHALTEN
0003AE 0010 00555 RETFIE ;UND FERTIG
00556 ;WRITE BLOCK SETZEN?
0003B0 00557 RX_ISR8
0003B0 6349 00558 CPFSEQ RX_B ;BLOCK HEADER COMMANDOE 0XA2?
0003B2 D??? 00559 BRA RX_ISR9 ;NEIN->
0003B4 6F4A 00560 MOVWF RX_STATUS ;STATUS SETZEN = EMPFANGENES BYT
0003B6 EE11 F000 00561 LFSR 1,RX_BUFFER ;BYT COUNTER AUF RX BUFFER
0003BA 0010 00562 RETFIE
00563 ;-------------------------------------------------------------------------------------
0003BC 00564 RX_ISR9
0003BC 6B4A 00565 CLRF RX_STATUS
0003BE 0010 00566 RETFIE
00567 ;-------------------------------------------------------------------------------------
00568 ;SYNC ABWARTEN UND WENN DA "OK!" SENDEN ----------------------------------------------------
00569 ;-------------------------------------------------------------------------------------
0003C0 00570 RX_SYNC_START
0003C0 0EFF 00571 MOVLW SYNC1
0003C2 634A 00572 CPFSEQ RX_STATUS
0003C4 D??? 00573 BRA RX_SYNC2
0003C6 0E41 00574 MOVLW SYNC1_DATA
0003C8 6349 00575 CPFSEQ RX_B
0003CA D??? 00576 BRA NON_SYNC
0003CC 0EFE 00577 MOVLW SYNC2
0003CE 6F4A 00578 MOVWF RX_STATUS
0003D0 0010 00579 RETFIE
0003D2 00580 NON_SYNC
0003D2 0EFF 00581 MOVLW SYNC1
0003D4 6F4A 00582 MOVWF RX_STATUS
0003D6 0010 00583 RETFIE
0003D8 00584 RX_SYNC2 ;TEST AUF SYNC UND DATA 2
0003D8 0EFE 00585 MOVLW SYNC2
0003DA 634A 00586 CPFSEQ RX_STATUS
0003DC D??? 00587 BRA RX_SYNC3 ;NICHT SYNC 2
0003DE 0E43 00588 MOVLW SYNC2_DATA
0003E0 6349 00589 CPFSEQ RX_B
0003E2 D??? 00590 BRA NON_SYNC
0003E4 0EFD 00591 MOVLW SYNC3
0003E6 6F4A 00592 MOVWF RX_STATUS
0003E8 0010 00593 RETFIE
0003EA 00594 RX_SYNC3 ;TEST AUF SYNC UND DATA 3
0003EA 0EFD 00595 MOVLW SYNC3
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 13
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0003EC 634A 00596 CPFSEQ RX_STATUS
0003EE D??? 00597 BRA RX_SYNC4 ;NICHT SYNC 3
0003F0 0E50 00598 MOVLW SYNC3_DATA
0003F2 6349 00599 CPFSEQ RX_B
0003F4 D??? 00600 BRA NON_SYNC
0003F6 0EFC 00601 MOVLW SYNC4
0003F8 6F4A 00602 MOVWF RX_STATUS
0003FA 0010 00603 RETFIE
0003FC 00604 RX_SYNC4 ;TEST AUF SYNC UND DATA 4
0003FC 0EFC 00605 MOVLW SYNC4
0003FE 634A 00606 CPFSEQ RX_STATUS
000400 D??? 00607 BRA NON_SYNC ;WIEDER VON VORN
000402 0E46 00608 MOVLW SYNC4_DATA
000404 6349 00609 CPFSEQ RX_B ;SKIP OK
000406 D??? 00610 BRA NON_SYNC ;NICHT SYNC4 DATA
000408 00611 RX_WAIT1
000408 A2AC 00612 BTFSS TXSTA,TRMT
00040A D??? 00613 BRA RX_WAIT1
00040C 0E4F 00614 MOVLW 'O' ;SENDE OK!
00040E 6EAD 00615 MOVWF TXREG;
000410 00616 RX_WAIT2
000410 A2AC 00617 BTFSS TXSTA,TRMT
000412 D??? 00618 BRA RX_WAIT2
000414 0E4B 00619 MOVLW 'K' ;SENDE OK!
000416 6EAD 00620 MOVWF TXREG;
000418 00621 RX_WAIT3
000418 A2AC 00622 BTFSS TXSTA,TRMT
00041A D??? 00623 BRA RX_WAIT3
00041C 0E21 00624 MOVLW '!'
00041E 6EAD 00625 MOVWF TXREG;
000420 6B4A 00626 CLRF RX_STATUS ;OK START NORMAL
000422 0010 00627 RETFIE
00628 ;**********************************************************************************************"""""""""
""""
00629 ;SPANNUNGS<47>BERWACHUNGS INTERRUPT
000424 00630 HLVD_ISR
000424 A346 00631 BTFSS U_ERR,1 ;WARTEN AUF GELADEN?
000426 D??? 00632 BRA HLVD_LE ;NEIN UNTERSPANNUNG DETEKT->
000428 9146 00633 BCF U_ERR,0 ;SPANNUNGSFEHLER AUS
00042A 9346 00634 BCF U_ERR,1 ;WARTEN AUF GELADEN=AUS
00042C 0E07 00635 MOVLW U_ERR_PW_AUS+2 ;POWER AUS <20>BERSPRINGEN
00042E 6F47 00636 MOVWF U_ERR_TIME ;ZEIT SETZEN
000430 0E17 00637 MOVLW B'00010111' ;INT WENN UNTER 3.12V
000432 6ED2 00638 MOVWF HLVDCON
000434 00639 WAIT_LVDOK:
000434 AAD2 00640 BTFSS HLVDCON,IVRST ;ABWARTEN BIS AENDERUNG AKTIV
000436 D??? 00641 BRA WAIT_LVDOK
000438 94A1 00642 BCF PIR2,HLVDIF ;INTERRUPT FLAG L<>SCHEN
00043A 0010 00643 RETFIE
00043C 00644 HLVD_LE ;UNTERSPANNUNG
00043C 8146 00645 BSF U_ERR,0 ;ERROR SETZEN
00043E 8346 00646 BSF U_ERR,1 ;WARTEN AUF GELADEN SETZEN
000440 6B47 00647 CLRF U_ERR_TIME ;R<>CKSETZEN
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 14
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00648 ;MESSAGE AN PROCESSOR
000442 0E03 00649 MOVLW U_MIN_TO_MCF
000444 6EAD 00650 MOVWF TXREG ;SENDEN
00651
000446 0E9A 00652 MOVLW B'10011010' ;INT WENN <20>BER 3.7V
000448 6ED2 00653 MOVWF HLVDCON
00044A D??? 00654 BRA WAIT_LVDOK
00655 ;**********************************************************************************************"""""""""
""""
00656 ;A/D INTERRUPT
00044C 00657 AD_ISR
00044C 9C9E 00658 BCF PIR1,ADIF ;CLEAR INTERRUPT PENDIG
00044E 0010 00659 RETFIE ;RETURN
00660 ;*******************************************************************************************************
******
00661 ; uhr interrupt ALLE 1/8 SEC
000450 00662 RTC_ISR
00663 ;UHR WIEDER R<>CKSETZEN UND AKTIVIEREN
000450 0EF0 00664 MOVLW TIMER_HB ;WIEDER AUF STARTWERT
000452 6ECF 00665 MOVWF TMR1H ;SETZEN
000454 909E 00666 BCF PIR1,TMR1IF ;INTERRUPT FLAG L<>SCHEN
000456 8881 00667 BSF PORTB,RB4 ;PIC INT HIGH --------
000458 8096 00668 BSF TRISE,RE0 ;LED=OFF
00045A 9881 00669 BCF PORTB,RB4 ;PIC INT = LOW
00045C B095 00670 BTFSC TRISD,RD0 ;POWER OFF?
00045E D??? 00671 BRA POWER_OFF_I ;JA->
00672 ; POWER IS ON:
00673 ; BLINKEN 4X/SEC WENN RESET
000460 BE95 00674 BTFSC TRISD,RD7 ;RESET AKTIV?
000462 D??? 00675 BRA PINGS ;NEIN->
000464 B141 00676 BTFSC TICKS,0 ;UNGERADE TICKS?
000466 9096 00677 BCF TRISE,RE0 ;NEIN->LED=ON
000468 D??? 00678 BRA PINGS
00046A 00679 POWER_OFF_I
00046A 0E03 00680 MOVLW .3
00046C 1500 00681 ANDWF SECS,0 ;4 SEKUNDEN AUSMASKIEREN
00046E E1?? 00682 BNZ PINGS ;NICHT MODULO4 ->
000470 0E07 00683 MOVLW .7
000472 6341 00684 CPFSEQ TICKS ;7. TICK?
000474 D??? 00685 BRA POWER_OFF_I2 ;NEIN->
000476 9096 00686 BCF TRISE,RE0 ;JA->LED=ON
000478 00687 POWER_OFF_I2
000478 0E1E 00688 MOVLW .30 ; WENIGER ALS 30 SEC SEIT LETZTEM SPANNUNGSFEHLER?
00047A 6147 00689 CPFSLT U_ERR_TIME
00047C D??? 00690 BRA PINGS ;NEIN->
00047E 0E05 00691 MOVLW .5
000480 6341 00692 CPFSEQ TICKS ;5. TICK?
000482 D??? 00693 BRA PINGS ;NEIN->
000484 9096 00694 BCF TRISE,RE0 ;JA->LED=ON
000486 00695 PINGS
000486 EC?? F??? 00696 CALL TASTE ;UP TASTE
00697 ; TASTE LOSGELASSEN?
00048A 0E04 00698 MOVLW RESET_OFF_TIME
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00048C 6543 00699 CPFSGT TASTE_OFF_TIME ;TASTE L<>NGER ALS 2 SEC LOSGELASSEN?
00048E D??? 00700 BRA PINGW ;NEIN->
000490 8E95 00701 BSF TRISD,RD7 ;JA-> #RSTI INAKTIV =HIGH
000492 A095 00702 BTFSS TRISD,RD0 ;POWER ON?
000494 EC?? F??? 00703 CALL SERIAL_ON ;ja->SERIELL EINSCHALTEN
00704 ;--TICKS=125MS
000498 00705 PINGW
000498 2B41 00706 INCF TICKS ;inc ticks
00049A A095 00707 BTFSS TRISD,RD0 ;POWER ON?
00049C D??? 00708 BRA PINGS2 ;JA->
00049E 0E20 00709 MOVLW 20
0004A0 6148 00710 CPFSLT U_POWER_IN ;LADEGER<45>T ANGESCHLOSSEN?
0004A2 D??? 00711 BRA PINGS2 ;->JA LED HELLER
0004A4 0EA0 00712 MOVLW TIME_MAX ;>=MAXIMALZEIT?
0004A6 6147 00713 CPFSLT U_ERR_TIME ;SEIT SPANNUNGSFEHLER
0004A8 8096 00714 BSF TRISE,RE0 ;JA -> LED OFF
0004AA 00715 PINGS2
0004AA 0E07 00716 MOVLW .7 ; 7?
0004AC 6541 00717 CPFSGT TICKS
0004AE 0010 00718 RETFIE ; NEIN ->RETURN
0004B0 00719 SEKUNDEN
00720 ;led blinken POWER ON-----------------------------------------
0004B0 A095 00721 BTFSS TRISD,RD0 ;POWER ON?
0004B2 9096 00722 BCF TRISE,RE0 ;JA -> LED_ON
00723 ;TIMER U_ERR ERH<52>HEN
0004B4 0EA0 00724 MOVLW TIME_MAX ;>=MAXIMALZEIT?
0004B6 6547 00725 CPFSGT U_ERR_TIME ;SEIT SPANNUNGSFEHLER
0004B8 2B47 00726 INCF U_ERR_TIME ;NEIN ERH<52>HEN
00727 ;SPANNUNGSFEHLER BEARBEITEN ----------------------------------------
0004BA 0E05 00728 MOVLW U_ERR_PW_AUS ;POWER AUS ZEIT?
0004BC 6347 00729 CPFSEQ U_ERR_TIME ;
0004BE D??? 00730 BRA SEK_NPA ;NEIN
0004C0 EC?? F??? 00731 CALL POWER_AUS ;JA AUSSCHALTEN
00732 ;--------------------------------------------------------
0004C4 00733 SEK_NPA
00734 ;SPANNUNG POWER IN MESSEN
0004C4 0E01 00735 MOVLW B'00000001' ;KANAL 0, AD ON
0004C6 6EC2 00736 MOVWF ADCON0 ;
0004C8 82C2 00737 BSF ADCON0,1 ;GO
0004CA 00738 SEK_2
0004CA B2C2 00739 BTFSC ADCON0,1 ;FERTIG?
0004CC D??? 00740 BRA SEK_2 ;NEIN
0004CE CFC4 F048 00741 MOVFF ADRESH,U_POWER_IN ;OK WERT EINTRAGEN
00742
00743 ;SPANNUNG 2V5 MESSEN -> U_ERR TIMER NICHT ERH<52>HEN WENN <20>BER 3.2V RESP. WIEDER -1
0004D2 B095 00744 BTFSC TRISD,RD0 ;POWER ON?
0004D4 D??? 00745 BRA SEK_4 ;NEIN NICHT MESSEN
00746
0004D6 0E0D 00747 MOVLW B'00001101' ;KANAL 3, AD ON
0004D8 6EC2 00748 MOVWF ADCON0 ;
0004DA 82C2 00749 BSF ADCON0,1 ;GO
0004DC 00750 SEK_3
0004DC B2C2 00751 BTFSC ADCON0,1 ;FERTIG?
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 16
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0004DE D??? 00752 BRA SEK_3 ;NEIN
0004E0 0EC8 00753 MOVLW .200 ;UNTER 3.2V -> WENN WERT <20>BER 78%
0004E2 60C4 00754 CPFSLT ADRESH ;JA ->
0004E4 D??? 00755 BRA SEK_4 ;SONST WEITER
00756 ;TIMER U_ERR ERH<52>HEN
0004E6 A146 00757 BTFSS U_ERR,0 ;SPANNUNGSERROR?
0004E8 D??? 00758 BRA SEK_4 ;NEIN
0004EA 0EA0 00759 MOVLW TIME_MAX ;>=MAXIMALZEIT?
0004EC 6547 00760 CPFSGT U_ERR_TIME ;SEIT SPANNUNGSFEHLER
0004EE 0747 00761 DECF U_ERR_TIME ;NEIN -> -1
00762 ;-------------------------------------------------------------
0004F0 00763 SEK_4
0004F0 6B41 00764 CLRF TICKS
0004F2 2B00 00765 INCF SECS ; Increment seconds
0004F4 0E3B 00766 MOVLW .59 ; 60 seconds elapsed?
0004F6 6500 00767 CPFSGT SECS
0004F8 0010 00768 RETFIE ;RETURN
0004FA 00769 MINUTEN
0004FA 6B00 00770 CLRF SECS ; Clear seconds
0004FC 2B02 00771 INCF MINS ; Increment minutes
0004FE 0E3B 00772 MOVLW .59 ; 60 minutes elapsed?
000500 6502 00773 CPFSGT MINS
000502 0010 00774 RETFIE ;RETURN
000504 00775 STUNDEN
000504 6B02 00776 CLRF MINS ; clear minutes
000506 2B04 00777 INCF HOURS ; Increment hours
000508 0E17 00778 MOVLW .23 ; 24 hours elapsed?
00050A 6504 00779 CPFSGT HOURS
00050C 0010 00780 RETFIE ;RETURN
00050E 00781 TAGE_UND_TAG_DER_WOCHE
00050E 6B04 00782 CLRF HOURS ; Reset hours
000510 0E07 00783 MOVLW .7
000512 6106 00784 CPFSLT DAY_OF_WEEK
000514 6B06 00785 CLRF DAY_OF_WEEK
000516 2B06 00786 INCF DAY_OF_WEEK
000518 2B07 00787 INCF DAYS
00051A 0E1C 00788 MOVLW .28
00051C 6507 00789 CPFSGT DAYS
00051E 0010 00790 RETFIE ;RETURN
000520 00791 MEHR_ALS_28_TAGE
000520 0E02 00792 MOVLW .2
000522 6308 00793 CPFSEQ MONTHS ;FEB?
000524 D??? 00794 BRA NOT_FEB ;NEIN->
000526 00795 FEB
000526 0E03 00796 MOVLW .3
000528 1509 00797 ANDWF YEARS,0 ;SCHALTJAHR
00052A E1?? 00798 BNZ NEXT_MONTH ;NEIN->
00052C 00799 SCHALTJAHR
00052C 0E1D 00800 MOVLW .29
00052E 6507 00801 CPFSGT DAYS
000530 0010 00802 RETFIE ;RETURN
000532 00803 NEXT_MONTH
000532 0E01 00804 MOVLW .1
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
000534 6F07 00805 MOVWF DAYS
000536 2B08 00806 INCF MONTHS
000538 0E12 00807 MOVLW 12
00053A 6508 00808 CPFSGT MONTHS
00053C 0010 00809 RETFIE ;RETURN
00053E 00810 YEAR
00053E 0E01 00811 MOVLW .1
000540 6F08 00812 MOVWF MONTHS
000542 2B09 00813 INCF YEARS
000544 0010 00814 RETFIE ;RETURN
000546 00815 NOT_FEB
000546 0E1E 00816 MOVLW .30
000548 6507 00817 CPFSGT DAYS
00054A 0010 00818 RETFIE
00054C 00819 MEHR_ALS_30_TAGE
00054C 0E04 00820 MOVLW .4 ;APRIL?
00054E 6308 00821 CPFSEQ MONTHS ;SKIP
000550 D??? 00822 BRA NOT_APRIL
000552 D??? 00823 BRA NEXT_MONTH ;APRIL->
000554 00824 NOT_APRIL
000554 0E06 00825 MOVLW .6 ;JUNI?
000556 6308 00826 CPFSEQ MONTHS
000558 D??? 00827 BRA NOT_JUNI
00055A D??? 00828 BRA NEXT_MONTH ;JUNI->
00055C 00829 NOT_JUNI
00055C 0E09 00830 MOVLW .9 ;SEPTEMBER?
00055E 6308 00831 CPFSEQ MONTHS
000560 D??? 00832 BRA NOT_SEP
000562 D??? 00833 BRA NEXT_MONTH ;SEPTEMBER->
000564 00834 NOT_SEP
000564 0E0B 00835 MOVLW .11 ;NOVEMBER?
000566 6308 00836 CPFSEQ MONTHS ;SKIP
000568 0010 00837 RETFIE ;SIND MONATE MIT 31 TAGEN->
00056A D??? 00838 BRA NEXT_MONTH ;SONST NOVEMBER->
00839 ;**********************************************************************************************"""""""""
""""
00840 ; ENDE MAIN
00841 ;**********************************************************************************************"""""""""
""""
00842 ;**********************************************************************************************"""""""""
""""
00843 ; EXTERN_SUBOUTINES FOGEN AB 0x1000 DIE SP<53>TER EINPROGRAMMIERT WERDEN
00844 ;**********************************************************************************************"""""""""
""""
00845 end
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 18
SYMBOL TABLE
LABEL VALUE
A 00000000
ABDEN 00000000
ABDOVF 00000007
ACCESS 00000000
ACKDT 00000005
ACKEN 00000004
ACKSTAT 00000006
ACQT0 00000003
ACQT1 00000004
ACQT2 00000005
ADCON0 00000FC2
ADCON1 00000FC1
ADCON2 00000FC0
ADCS0 00000000
ADCS1 00000001
ADCS2 00000002
ADDEN 00000003
ADEN 00000003
ADFM 00000007
ADIE 00000006
ADIF 00000006
ADIP 00000006
ADON 00000000
ADRES 00000FC3
ADRESH 00000FC4
ADRESL 00000FC3
AD_ISR 0000044C
AD_KANAL 00000045
AN0 00000000
AN1 00000001
AN10 00000001
AN11 00000004
AN12 00000000
AN2 00000002
AN3 00000003
AN4 00000005
AN5 00000000
AN6 00000001
AN7 00000002
AN8 00000002
AN9 00000003
BANKED 00000001
BAUDCON 00000FB8
BAUDCTL 00000FB8
BCLIE 00000003
BCLIF 00000003
BCLIP 00000003
BF 00000000
BGST 00000005
BOR 00000000
BRG16 00000003
BRGH 00000002
BSR 00000FE0
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 19
SYMBOL TABLE
LABEL VALUE
C 00000000
C1INV 00000004
C1OUT 00000006
C2INV 00000005
C2OUT 00000007
CCP1 00000002
CCP1CON 00000FBD
CCP1IE 00000002
CCP1IF 00000002
CCP1IP 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCP2CON 00000FBA
CCP2IE 00000000
CCP2IF 00000000
CCP2IP 00000000
CCP2M0 00000000
CCP2M1 00000001
CCP2M2 00000002
CCP2M3 00000003
CCP2X 00000005
CCP2Y 00000004
CCP2_PORTB 00000003
CCP2_PORTC 00000001
CCPR1 00000FBE
CCPR1H 00000FBF
CCPR1L 00000FBE
CCPR2 00000FBB
CCPR2H 00000FBC
CCPR2L 00000FBB
CFGS 00000006
CHS0 00000002
CHS1 00000003
CHS2 00000004
CHS3 00000005
CIS 00000003
CK 00000006
CKE 00000006
CKP 00000004
CLKI 00000007
CLKO 00000006
CLK_ACTIV 00000072
CLK_SLEEP 00000012
CM0 00000000
CM1 00000001
CM2 00000002
CMCON 00000FB4
CMIE 00000006
CMIF 00000006
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 20
SYMBOL TABLE
LABEL VALUE
CMIP 00000006
CREN 00000004
CS 00000002
CSRC 00000007
CVR0 00000000
CVR1 00000001
CVR2 00000002
CVR3 00000003
CVRCON 00000FB5
CVREF 00000002
CVREN 00000007
CVROE 00000006
CVRR 00000005
CVRSS 00000004
D 00000005
DAYS 00000007
DAY_OF_WEEK 00000006
DC 00000001
DC1B0 00000004
DC1B1 00000005
DC2B0 00000004
DC2B1 00000005
DDRA TRISA
DDRB TRISB
DDRC TRISC
DDRD TRISD
DDRE TRISE
DONE 00000001
D_A 00000005
EAPIR1 0000004E
EAPIR2 0000004F
ECCP1AS 00000FB6
ECCPAS0 00000004
ECCPAS1 00000005
ECCPAS2 00000006
ECCPASE 00000007
EEADR 00000FA9
EECON1 00000FA6
EECON2 00000FA7
EEDATA 00000FA8
EEIE 00000004
EEIF 00000004
EEIP 00000004
EEPGD 00000007
EXTERN_INTERRUPTS 00002002
EXTERN_INT_ADR 00002000
EXTERN_SUBROUTINES 00002012
EXTERN_SUB_ADR 00002010
EXT_CODE 000000FB
EXT_SUB_GO 00000004
EXT_SUB_STOP 00000005
FAST 00000001
FEB 00000526
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 21
SYMBOL TABLE
LABEL VALUE
FERR 00000002
FLTS 00000002
FREE 00000004
FSR0 00000000
FSR0H 00000FEA
FSR0L 00000FE9
FSR1 00000001
FSR1H 00000FE2
FSR1L 00000FE1
FSR2 00000002
FSR2H 00000FDA
FSR2L 00000FD9
GCEN 00000007
GIE 00000007
GIEH 00000007
GIEL 00000006
GO 00000001
GO_DONE 00000001
GO_INT 0000004D
GO_SUB 0000004C
HLVDCON 00000FD2
HLVDEN 00000004
HLVDIE 00000002
HLVDIF 00000002
HLVDIP 00000002
HLVDL0 00000000
HLVDL1 00000001
HLVDL2 00000002
HLVDL3 00000003
HLVD_ISR 00000424
HLVD_LE 0000043C
HOURS 00000004
HOURS_ALARM 00000005
IBF 00000007
IBOV 00000005
IDLEN 00000007
INDF0 00000FEF
INDF1 00000FE7
INDF2 00000FDF
INT0 00000000
INT0E 00000004
INT0F 00000001
INT0IE 00000004
INT0IF 00000001
INT1 00000001
INT1E 00000003
INT1F 00000000
INT1IE 00000003
INT1IF 00000000
INT1IP 00000006
INT1P 00000006
INT2 00000002
INT2E 00000004
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 22
SYMBOL TABLE
LABEL VALUE
INT2F 00000001
INT2IE 00000004
INT2IF 00000001
INT2IP 00000007
INT2P 00000007
INTCON 00000FF2
INTCON2 00000FF1
INTCON3 00000FF0
INTEDG0 00000006
INTEDG1 00000005
INTEDG2 00000004
INTSRC 00000007
INT_HANDLER 00000018
IOFS 00000002
IPEN 00000007
IPR1 00000F9F
IPR2 00000FA2
IRCF0 00000004
IRCF1 00000005
IRCF2 00000006
IRVST 00000005
IVRST 00000005
KALT_START 00000100
KBI0 00000004
KBI1 00000005
KBI2 00000006
KBI3 00000007
LADESTROM 000001D2
LATA 00000F89
LATA0 00000000
LATA1 00000001
LATA2 00000002
LATA3 00000003
LATA4 00000004
LATA5 00000005
LATA6 00000006
LATA7 00000007
LATB 00000F8A
LATB0 00000000
LATB1 00000001
LATB2 00000002
LATB3 00000003
LATB4 00000004
LATB5 00000005
LATB6 00000006
LATB7 00000007
LATC 00000F8B
LATC0 00000000
LATC1 00000001
LATC2 00000002
LATC3 00000003
LATC4 00000004
LATC5 00000005
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 23
SYMBOL TABLE
LABEL VALUE
LATC6 00000006
LATC7 00000007
LATD 00000F8C
LATD0 00000000
LATD1 00000001
LATD2 00000002
LATD3 00000003
LATD4 00000004
LATD5 00000005
LATD6 00000006
LATD7 00000007
LATE 00000F8D
LATE0 00000000
LATE1 00000001
LATE2 00000002
LS_OFF_POWER 000001DA
LS_ON_POWER 000001D6
LVDCON 00000FD2
LVDEN 00000004
LVDIE 00000002
LVDIF 00000002
LVDIN 00000005
LVDIP 00000002
LVDL0 00000000
LVDL1 00000001
LVDL2 00000002
LVDL3 00000003
LVV0 00000000
LVV1 00000001
LVV2 00000002
LVV3 00000003
MAIN 0000019E
MAIN2 000001AE
MCLR 00000003
MEHR_ALS_28_TAGE 00000520
MEHR_ALS_30_TAGE 0000054C
MINS 00000002
MINS_ALRAM 00000003
MINUTEN 000004FA
MONTHS 00000008
N 00000004
NEXT_MONTH 00000532
NON_SYNC 000003D2
NOT_A 00000005
NOT_ADDRESS 00000005
NOT_APRIL 00000554
NOT_BOR 00000000
NOT_CS 00000002
NOT_DONE 00000001
NOT_FEB 00000546
NOT_JUNI 0000055C
NOT_MCLR 00000003
NOT_PD 00000002
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 24
SYMBOL TABLE
LABEL VALUE
NOT_POR 00000001
NOT_RBPU 00000007
NOT_RD 00000000
NOT_RI 00000004
NOT_SEP 00000564
NOT_SS 00000005
NOT_T1SYNC 00000002
NOT_T3SYNC 00000002
NOT_TO 00000003
NOT_W 00000002
NOT_WR 00000001
NOT_WRITE 00000002
NO_PROG 000003AC
OBF 00000006
OERR 00000001
OFF_TIME 00000014
ON_TIME 00000002
OSC1 00000007
OSC2 00000006
OSCCON 00000FD3
OSCFIE 00000007
OSCFIF 00000007
OSCFIP 00000007
OSCTUNE 00000F9B
OSTS 00000003
OV 00000003
P 00000004
P1B 00000005
P1C 00000006
P1D 00000007
P1M0 00000006
P1M1 00000007
PC 00000FF9
PCFG0 00000000
PCFG1 00000001
PCFG2 00000002
PCFG3 00000003
PCL 00000FF9
PCLATH 00000FFA
PCLATU 00000FFB
PD 00000002
PDC0 00000000
PDC1 00000001
PDC2 00000002
PDC3 00000003
PDC4 00000004
PDC5 00000005
PDC6 00000006
PEIE 00000006
PEN 00000002
PGC 00000006
PGD 00000007
PGM 00000005
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 25
SYMBOL TABLE
LABEL VALUE
PIE1 00000F9D
PIE2 00000FA0
PINGS 00000486
PINGS2 000004AA
PINGW 00000498
PIR1 00000F9E
PIR2 00000FA1
PLLEN 00000006
PLUSW0 00000FEB
PLUSW1 00000FE3
PLUSW2 00000FDB
POR 00000001
PORTA 00000F80
PORTB 00000F81
PORTC 00000F82
PORTD 00000F83
PORTE 00000F84
POSTDEC0 00000FED
POSTDEC1 00000FE5
POSTDEC2 00000FDD
POSTINC0 00000FEE
POSTINC1 00000FE6
POSTINC2 00000FDE
POWER_AUS 000001C2
POWER_EIN 000001B4
POWER_OFF_I 0000046A
POWER_OFF_I2 00000478
POWER_ON_TIME 00000044
PR2 00000FCB
PREINC0 00000FEC
PREINC1 00000FE4
PREINC2 00000FDC
PRG_OK_PIC 00000022
PROD 00000FF3
PRODH 00000FF4
PRODL 00000FF3
PROGRAM_MEMORY 0000039A
PRSEN 00000007
PSA 00000003
PSP0 00000000
PSP1 00000001
PSP2 00000002
PSP3 00000003
PSP4 00000004
PSP5 00000005
PSP6 00000006
PSP7 00000007
PSPIE 00000007
PSPIF 00000007
PSPIP 00000007
PSPMODE 00000004
PSSAC0 00000002
PSSAC1 00000003
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 26
SYMBOL TABLE
LABEL VALUE
PSSBD0 00000000
PSSBD1 00000001
PWM1CON 00000FB7
R 00000002
RA0 00000000
RA1 00000001
RA2 00000002
RA3 00000003
RA4 00000004
RA5 00000005
RA6 00000006
RA7 00000007
RB0 00000000
RB1 00000001
RB2 00000002
RB3 00000003
RB4 00000004
RB5 00000005
RB6 00000006
RB7 00000007
RBIE 00000003
RBIF 00000000
RBIP 00000000
RBPU 00000007
RC0 00000000
RC1 00000001
RC2 00000002
RC3 00000003
RC4 00000004
RC5 00000005
RC6 00000006
RC7 00000007
RCEN 00000003
RCIDL 00000006
RCIE 00000005
RCIF 00000005
RCIP 00000005
RCMT 00000006
RCON 00000FD0
RCREG 00000FAE
RCSTA 00000FAB
RD 00000000
RD0 00000000
RD1 00000001
RD16 00000007
RD2 00000002
RD3 00000003
RD4 00000004
RD5 00000005
RD6 00000006
RD7 00000007
RE0 00000000
RE1 00000001
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 27
SYMBOL TABLE
LABEL VALUE
RE2 00000002
RE3 00000003
READ_BLOCK 000000A1
REGA 0000000A
REGB 0000000B
REGC 0000000C
REGD 0000000D
REQ_BLOCK 000000A0
REQ_RTCD_FROM_MCF 00000002
REQ_RTCD_FROM_PIC 00000001
RESETEN 00000256
RESET_OFF_TIME 00000004
RESET_ON_TIME 00000002
RI 00000004
RSEN 00000001
RTCD_FROM_MCF 00000082
RTCD_FROM_PIC 00000081
RTC_ISR 00000450
RTC_RAM 0000000E
RX 00000007
RX9 00000006
RX9D 00000000
RXDTP 00000005
RX_B 00000049
RX_BUFFER 00000100
RX_ISR 00000288
RX_ISR1 000002A4
RX_ISR2 000002B0
RX_ISR3 000002C8
RX_ISR4 000002F6
RX_ISR5 00000304
RX_ISR6 00000312
RX_ISR7 00000350
RX_ISR8 000003B0
RX_ISR9 000003BC
RX_RB3B2 00000334
RX_RB3BOK 00000322
RX_STATUS 0000004A
RX_SYNC2 000003D8
RX_SYNC3 000003EA
RX_SYNC4 000003FC
RX_SYNC_START 000003C0
RX_WAIT1 00000408
RX_WAIT2 00000410
RX_WAIT3 00000418
R_W 00000002
S 00000003
SBOREN 00000006
SCHALTJAHR 0000052C
SCK 00000003
SCKP 00000004
SCL 00000003
SCS0 00000000
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 28
SYMBOL TABLE
LABEL VALUE
SCS1 00000001
SDA 00000004
SDI 00000004
SDO 00000005
SECS 00000000
SECS_ALARM 00000001
SEKUNDEN 000004B0
SEK_2 000004CA
SEK_3 000004DC
SEK_4 000004F0
SEK_NPA 000004C4
SEN 00000000
SENDB 00000003
SEND_RTC_REG 00000232
SEND_RTC_TIME 00000002
SERIAL_OFF 000001DE
SERIAL_ON 000001EA
SMP 00000007
SP0 00000000
SP1 00000001
SP2 00000002
SP3 00000003
SP4 00000004
SPBRG 00000FAF
SPBRGH 00000FB0
SPEN 00000007
SREN 00000005
SS 00000005
SSPADD 00000FC8
SSPBUF 00000FC9
SSPCON1 00000FC6
SSPCON2 00000FC5
SSPEN 00000005
SSPIE 00000003
SSPIF 00000003
SSPIP 00000003
SSPM0 00000000
SSPM1 00000001
SSPM2 00000002
SSPM3 00000003
SSPOV 00000006
SSPSTAT 00000FC7
STATUS 00000FD8
STKFUL 00000007
STKOVF 00000007
STKPTR 00000FFC
STKUNF 00000006
STUNDEN 00000504
SWDTE 00000000
SWDTEN 00000000
SYNC 00000004
SYNC1 000000FF
SYNC1_DATA 00000041
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 29
SYMBOL TABLE
LABEL VALUE
SYNC2 000000FE
SYNC2_DATA 00000043
SYNC3 000000FD
SYNC3_DATA 00000050
SYNC4 000000FC
SYNC4_DATA 00000046
T08BIT 00000006
T0CKI 00000004
T0CON 00000FD5
T0CS 00000005
T0IE 00000005
T0IF 00000002
T0PS0 00000000
T0PS1 00000001
T0PS2 00000002
T0SE 00000004
T13CKI 00000000
T1CKI 00000000
T1CKPS0 00000004
T1CKPS1 00000005
T1CON 00000FCD
T1OSCEN 00000003
T1OSI 00000001
T1OSO 00000000
T1RUN 00000006
T1SYNC 00000002
T2CKPS0 00000000
T2CKPS1 00000001
T2CON 00000FCA
T2OUTPS0 00000003
T2OUTPS1 00000004
T2OUTPS2 00000005
T2OUTPS3 00000006
T3CCP1 00000003
T3CCP2 00000006
T3CKPS0 00000004
T3CKPS1 00000005
T3CON 00000FB1
T3SYNC 00000002
TABLAT 00000FF5
TAGE_UND_TAG_DER_WOCHE 0000050E
TASTE 00000208
TASTE_OFF_TIME 00000043
TASTE_ON_TIME 00000042
TBLPTR 00000FF6
TBLPTRH 00000FF7
TBLPTRL 00000FF6
TBLPTRU 00000FF8
TG_END 00000250
TG_JA 00000222
TG_OFF_POWER 00000248
TG_ON_POWER 0000022C
TG_ON_POWER2 00000238
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 30
SYMBOL TABLE
LABEL VALUE
TG_ON_POWER3 0000023E
TICKS 00000041
TIMER_HB 000000F0
TIME_MAX 000000A0
TMR0H 00000FD7
TMR0IE 00000005
TMR0IF 00000002
TMR0IP 00000002
TMR0L 00000FD6
TMR0ON 00000007
TMR1CS 00000001
TMR1H 00000FCF
TMR1IE 00000000
TMR1IF 00000000
TMR1IP 00000000
TMR1L 00000FCE
TMR1ON 00000000
TMR2 00000FCC
TMR2IE 00000001
TMR2IF 00000001
TMR2IP 00000001
TMR2ON 00000002
TMR3CS 00000001
TMR3H 00000FB3
TMR3IE 00000001
TMR3IF 00000001
TMR3IP 00000001
TMR3L 00000FB2
TMR3ON 00000000
TO 00000003
TOS 00000FFD
TOSH 00000FFE
TOSL 00000FFD
TOSU 00000FFF
TRISA 00000F92
TRISA0 00000000
TRISA1 00000001
TRISA2 00000002
TRISA3 00000003
TRISA4 00000004
TRISA5 00000005
TRISA6 00000006
TRISA7 00000007
TRISB 00000F93
TRISB0 00000000
TRISB1 00000001
TRISB2 00000002
TRISB3 00000003
TRISB4 00000004
TRISB5 00000005
TRISB6 00000006
TRISB7 00000007
TRISC 00000F94
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 31
SYMBOL TABLE
LABEL VALUE
TRISC0 00000000
TRISC1 00000001
TRISC2 00000002
TRISC3 00000003
TRISC4 00000004
TRISC5 00000005
TRISC6 00000006
TRISC7 00000007
TRISD 00000F95
TRISD0 00000000
TRISD1 00000001
TRISD2 00000002
TRISD3 00000003
TRISD4 00000004
TRISD5 00000005
TRISD6 00000006
TRISD7 00000007
TRISE 00000F96
TRISE0 00000000
TRISE1 00000001
TRISE2 00000002
TRMT 00000001
TUN0 00000000
TUN1 00000001
TUN2 00000002
TUN3 00000003
TUN4 00000004
TX 00000006
TX9 00000006
TX9D 00000000
TXCKP 00000004
TXEN 00000005
TXIE 00000004
TXIF 00000004
TXIP 00000004
TXREG 00000FAD
TXSTA 00000FAC
TX_BUFFER 00000180
TX_ISR 0000025E
TX_ISR1 00000276
TX_ISR2 00000286
TX_ISR_FERTIG 0000026E
TX_STATUS 0000004B
UA 00000001
U_ERR 00000046
U_ERR_PW_AUS 00000005
U_ERR_TIME 00000047
U_MIN_TO_MCF 00000003
U_POWER_IN 00000048
VCFG0 00000004
VCFG1 00000005
VDIRMAG 00000007
VPP 00000003
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 32
SYMBOL TABLE
LABEL VALUE
VREFN 00000002
VREFP 00000003
W 00000000
WAIT_LVDOK 00000434
WARTEN 000001A8
WCOL 00000007
WDTCON 00000FD1
WR 00000001
WREG 00000FE8
WREN 00000002
WRERR 00000003
WRITE_BLOCK 000000A2
WRITE_WORD_TO_HREGS 00000390
WUE 00000001
YEAR 0000053E
YEARS 00000009
Z 00000002
_BOREN_NOSLP_2L 000000FD
_BOREN_OFF_2L 000000F9
_BOREN_ON_2L 000000FB
_BOREN_SBORDIS_2L 000000FF
_BORV_0_2L 000000E7
_BORV_1_2L 000000EF
_BORV_2_2L 000000F7
_BORV_3_2L 000000FF
_CCP2MX_PORTBE_3H 000000FE
_CCP2MX_PORTC_3H 000000FF
_CONFIG1H 00300001
_CONFIG2H 00300003
_CONFIG2L 00300002
_CONFIG3H 00300005
_CONFIG4L 00300006
_CONFIG5H 00300009
_CONFIG5L 00300008
_CONFIG6H 0030000B
_CONFIG6L 0030000A
_CONFIG7H 0030000D
_CONFIG7L 0030000C
_CP0_OFF_5L 000000FF
_CP0_ON_5L 000000FE
_CP1_OFF_5L 000000FF
_CP1_ON_5L 000000FD
_CP2_OFF_5L 000000FF
_CP2_ON_5L 000000FB
_CP3_OFF_5L 000000FF
_CP3_ON_5L 000000F7
_CPB_OFF_5H 000000FF
_CPB_ON_5H 000000BF
_CPD_OFF_5H 000000FF
_CPD_ON_5H 0000007F
_DEBUG_OFF_4L 000000FF
_DEBUG_ON_4L 0000007F
_DEVID1 003FFFFE
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 33
SYMBOL TABLE
LABEL VALUE
_DEVID2 003FFFFF
_EBTR0_OFF_7L 000000FF
_EBTR0_ON_7L 000000FE
_EBTR1_OFF_7L 000000FF
_EBTR1_ON_7L 000000FD
_EBTR2_OFF_7L 000000FF
_EBTR2_ON_7L 000000FB
_EBTR3_OFF_7L 000000FF
_EBTR3_ON_7L 000000F7
_EBTRB_OFF_7H 000000FF
_EBTRB_ON_7H 000000BF
_FCMEN_OFF_1H 000000BF
_FCMEN_ON_1H 000000FF
_IDLOC0 00200000
_IDLOC1 00200001
_IDLOC2 00200002
_IDLOC3 00200003
_IDLOC4 00200004
_IDLOC5 00200005
_IDLOC6 00200006
_IDLOC7 00200007
_IESO_OFF_1H 0000007F
_IESO_ON_1H 000000FF
_LPT1OSC_OFF_3H 000000FB
_LPT1OSC_ON_3H 000000FF
_LVP_OFF_4L 000000FB
_LVP_ON_4L 000000FF
_MCLRE_OFF_3H 0000007F
_MCLRE_ON_3H 000000FF
_OSC_ECIO6_1H 000000F5
_OSC_EC_1H 000000F4
_OSC_HSPLL_1H 000000F6
_OSC_HS_1H 000000F2
_OSC_INTIO67_1H 000000F8
_OSC_INTIO7_1H 000000F9
_OSC_LP_1H 000000F0
_OSC_RCIO6_1H 000000F7
_OSC_RC_1H 000000F3
_OSC_XT_1H 000000F1
_PBADEN_OFF_3H 000000FD
_PBADEN_ON_3H 000000FF
_PWRT_OFF_2L 000000FF
_PWRT_ON_2L 000000FE
_STVREN_OFF_4L 000000FE
_STVREN_ON_4L 000000FF
_WDTPS_1024_2H 000000F5
_WDTPS_128_2H 000000EF
_WDTPS_16384_2H 000000FD
_WDTPS_16_2H 000000E9
_WDTPS_1_2H 000000E1
_WDTPS_2048_2H 000000F7
_WDTPS_256_2H 000000F1
_WDTPS_2_2H 000000E3
MPASM 5.35 FIREBEE1.ASM 10-1-2010 13:06:42 PAGE 34
SYMBOL TABLE
LABEL VALUE
_WDTPS_32768_2H 000000FF
_WDTPS_32_2H 000000EB
_WDTPS_4096_2H 000000F9
_WDTPS_4_2H 000000E5
_WDTPS_512_2H 000000F3
_WDTPS_64_2H 000000ED
_WDTPS_8192_2H 000000FB
_WDTPS_8_2H 000000E7
_WDT_OFF_2H 000000FE
_WDT_ON_2H 000000FF
_WRT0_OFF_6L 000000FF
_WRT0_ON_6L 000000FE
_WRT1_OFF_6L 000000FF
_WRT1_ON_6L 000000FD
_WRT2_OFF_6L 000000FF
_WRT2_ON_6L 000000FB
_WRT3_OFF_6L 000000FF
_WRT3_ON_6L 000000F7
_WRTB_OFF_6H 000000FF
_WRTB_ON_6H 000000BF
_WRTC_OFF_6H 000000FF
_WRTC_ON_6H 000000DF
_WRTD_OFF_6H 000000FF
_WRTD_ON_6H 0000007F
_XINST_OFF_4L 000000BF
_XINST_ON_4L 000000FF
__18F4520 00000001
free 00000040
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 0 reported, 0 suppressed