;**************************************** ;***** Testprogramm für Programmer ;**************************************** .device AT90S8535 ; Festlegung Microcontroller ;***** Definitionen .EQU RAMEND = 0x25f .EQU PROGSTART = 0x000 .EQU STACKP = 0x200 .EQU VARIABLES = 0x201 .EQU SPH = 0x3e ; Stackpointer adress High Byte .EQU SPL = 0x3d ; Stackpointer adress Low Byte .EQU DDRD = 0x11 ; Data Direction Register Port D .EQU PORTD = 0x10 ; Data Register Port D .EQU PINA = 0x19 ; Pins Port A .EQU DDRA = 0x1a ; Data Direction Register Port A .EQU PORTA = 0x1b ; Data Register Port A ;***** Variablen .DSEG .ORG VARIABLES VAR1: .BYTE 1 .CSEG ;***** Interrupt-Sprungtabelle .ORG PROGSTART rjmp RESET ; Reset Handler rjmp EXT_INT0 ; IRQ0 Handler rjmp EXT_INT1 ; IRQ1 Handler rjmp TIM2_COMP ; Timer 2 Compare Handler rjmp TIM2_OVF ; Timer 2 Overflow Handler rjmp TIM1_CAPT ; Timer 1 Capture Handler rjmp TIM1_COMPA ; Timer 1 Compare A Handler rjmp TIM1_COMPB ; Timer 1 Compare B Handler rjmp TIM1_OVF ; Timer 1 Overflow Handler rjmp TIM0_OVF ; Timer 0 Overflow Handler rjmp SPI_STC ; SPI Transfer Complete Handler rjmp UART_RXC ; UART RX Complete Handler rjmp UART_DRE ; UDR Empty Handler rjmp UART_TXC ; UART TX Complete Handler rjmp CADC ; AD Conversiob Complete Handler rjmp EE_RDY ; EEPROM Ready Handler rjmp ANA_COMP ; Analog Comparator Handler ;**************************************** ; ;***** Hauptprogramm ; ;**************************************** MAIN: ldi r16, high(STACKP) ; Set Stack Pointer out SPH, r16 ldi r16, low(STACKP) out SPL, r16 ldi r16, $f0 ; Bit 0-3 v. Port A = Input (Für Taster) out DDRA, r16 LEDOUT: out DDRD, r16 ; Ausgabe der Port-A-Daten auf Port D (LEDs) in r16,PINA ; Einlesen Taster rjmp LEDOUT ; Sprung zur Ausgabe ;**************************************** STOP: rjmp STOP ; Programmende - Betonstop ;**************************************** ; ;***** Interrupts ; ;**************************************** ;***** Reset Handler RESET: rjmp MAIN ;***** IRQ0 Handler EXT_INT0: reti ;***** IRQ1 Handler EXT_INT1: reti ;***** Timer 2 Compare Handler TIM2_COMP: reti ;***** Timer 2 Overflow Handler TIM2_OVF: reti ;***** Timer 1 Capture Handler TIM1_CAPT: reti ;***** Timer 1 Compare A Handler TIM1_COMPA: reti ;***** Timer 1 Compare B Handler TIM1_COMPB: reti ;***** Timer 1 Overflow Handler TIM1_OVF: reti ;***** Timer 0 Overflow Handler TIM0_OVF: reti ;***** SPI Transfer Complete Handler SPI_STC: reti ;***** UART RX Complete Handler UART_RXC: reti ;***** UDR Empty Handler UART_DRE: reti ;***** UART TX Complete Handler UART_TXC: reti ;***** AD Conversiob Complete Handler CADC: reti ;***** EEPROM Ready Handler EE_RDY: reti ;***** Analog Comparator Handler ANA_COMP: reti