Remarks On Device 18F4520 ' Choose a PIC with self modifying features Declare Xtal 40 ' Choose a 10MHz crystal ' Declare PLL_Req = On ' Hserial_Baud = 19200 ' Set baud rate to 38400 Hserial_RCSTA = %10010000 ' Enable serial port and continuous receive Hserial_TXSTA = %00100100 ' Enable transmit and asynchronous mode Hserial_Clear = On Dim W_SAVE As Byte System Dim S_SAVE As Byte System Dim B_SAVE As Byte System Dim FSR0L_SAVE As Byte System Dim FSR0H_SAVE As Byte System Dim Minute As Byte Dim Stunde As Byte Dim Tag As Byte Dim Monat As Byte Dim Jahr As Byte Dim Sekunde As Byte Dim Datensatz As Word Symbol TIMER0 = TMR0L.Word ' Create a WORD variable from two hardware registers Symbol TIMER1 = TMR1L.Word ' Create a WORD variable from two hardware registers Symbol IPEN = RCON.7 Symbol TMR3IP = IPR2.1 ' Symbol RXB0IP = IPR3.0 Symbol TMR3IF = PIR2.1 Symbol TMR3IE = PIE2.1 Symbol RBIF = INTCON.0 ' RB Port Interrupt Flag Symbol INT0IF = INTCON.1 ' INT0 External Interrupt Flag Symbol TMR0IF = INTCON.2 ' TMR0 Overflow Interrupt Flag Symbol RBIE = INTCON.3 ' RB Port Change Interrupt Enable Symbol INT0IE = INTCON.4 ' INT0 External Interrupt Enable Symbol TMR0IE = INTCON.5 ' TMR0 Overflow Interrupt Enable Symbol PEIE = INTCON.6 ' Peripheral Interrupt Enable Symbol GIEL = INTCON.6 ' Peripheral Interrupt Enable Symbol GIE = INTCON.7 ' Global Interrupt Enable Symbol GIEH = INTCON.7 ' Global Interrupt Enable Symbol TMR3ON = T3CON.0 Symbol TMR0ON = T0CON.7 Symbol T08BIT = T0CON.6 Symbol T0CS = T0CON.5 Symbol T0SE = T0CON.4 Symbol PSA = T0CON.3 Symbol T0PS2 = T0CON.2 Symbol T0PS1 = T0CON.1 Symbol T0PS0 = T0CON.0 Symbol RD16 = T1CON.7 Symbol T1CKPS1 = T1CON.5 Symbol T1CKPS0 = T1CON.4 Symbol T1OSCEN = T1CON.3 Symbol T1SYNC = T1CON.2 Symbol TMR1CS = T1CON.1 Symbol TMR1ON = T1CON.0 Symbol TMR1IF = PIR1.0 Symbol TMR1IE = PIE1.0 Symbol TMR1IP = IPR1.0 ADCON1=%00001111 ' Set PORTA and PORTE to all digital LATA = 0 LATB = 0 LATC = 0 LATD = 0 LATE = 0 TRISA.0 = 0 ' SerOn = 1 'Start TRISA.1 = 0 ' Stoppen = 1 'Stop TRISA.3 = 1 TRISA.4 = 1 TRISE.0 = 0 ' WriteP = 1 TRISE.4 = 0 TRISC.2 = 0 '485 Dir PORTC.2 = 0 TRISD.0 = 0 TRISD.1 = 0 '***** Set up priority interrupts. IPEN = 1 ' Enable priority interrupts. TMR1IP = 0 ' Set Timer1 as a low priority interrupt source TMR1IF = 0 ' Clear the Timer1 interrupt flag '***** GIEH = 0 ' Set the global interrupt enable bits GIEL = 0 '***** TIMER0 setup T08BIT = 0 T0CS = 0 PSA = 1 T0PS2 = 1 T0PS1 = 0 T0PS0 = 0 TMR0IE = 1 ' Enable Timer1 interrupts TIMER0 = 15535 ' 65535 - 15535 = 50000 -> 5msec Intervall TMR0ON = 1 ' Turn on Timer0 '***** TIMER1 setup RD16 = 1 T1CKPS1 = 0 T1CKPS0 = 0 T1OSCEN = 0 T1SYNC = 0 TMR1CS = 0 TMR1ON = 0 TIMER1 = 15535 TMR1IE = 1 TMR1IP = 0 Datensatz = 10 DelayMS 2000 Stunde = 18 Minute = 35 Tag = 7 Monat = 4 Jahr = 10 Loop1: DelayMS 1000 HSerOut ["Test ",Dec2 Stunde,":",Dec2 Minute," ",Dec2 Tag,".",Dec2 Monat,".",Dec2 Jahr,"-",Dec Datensatz,13] GoTo Loop1 Stop '********************************************************* ' Sub's '********************************************************* End