Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

oops

2007-08-09 by Thomas Keller

OOps I forgot to include the code *doh*:

----   cut here   ----
;------------------------------------------------------------------------------
;
;    begin file intialization

.include    "tn25def.inc"                ; include processor definition file
;------------------------------------------------------------------------------
;
;    define registers

.def    TEMP    = r16

;------------------------------------------------------------------------------
;
;    interrupt vector table

.org    0                                ; set address for interrupt 
vector table

RESET:            rjmp    START            ; reset/restart vector
INT0a:            reti                    ; external interrupt 0 vector
PCINT0a:        reti                    ; pin change interrupt 0 vector
TIMER1_COMPA:     reti                    ; timer1 comnpare match A vector
TIMER1_OVF:        rjmp    TIMER_HNDLR        ; timer0 overflow flag A 
vector
TIMER0_OVF:        reti                    ; timer1 overflow flag A vector
EE_RDY:            reti                    ; EEPROM ready flag vector
ANA_COMP:        reti                    ; analog comparator vector
ADCa:            reti                    ; analopg to digital conversion 
complete vector
TIMER1_COMPB:    reti                    ; timer1 compare output match B 
vector
TIMER0_COMPA:    reti                    ; timer0 compare output match A 
vector
TIMER0_COMPB:    reti                    ; timer0 compare output match B 
vector
WDT:            reti                    ; Wach Dog Timer vector
USI_START:        reti                    ; USI start vvector
USI_OVF:        reti                    ; USI overlfow vector



START:

;-------------------------------------------------------------------------------
;
;   set up timer/counter1



    ldi        TEMP,    0x01                ; set for clock / 1
    out        TCCR1,    TEMP                ; save in appropriate register

    ldi        TEMP,    0x01                ; set for clk/1024  TMP /1
    out        GTCCR,    TEMP                ; store in appropriate register

    ldi        TEMP,    0x02                ; set time to 5 periods
    out        OCR1A,    TEMP                ; save in appropriate register
;
    ldi        TEMP,    0x44                ; set interrupts enabled
    out        TIMSK,    TEMP                ; store in approproiate 
register
;------------------------------------------------------------------------------
;
;    set Stack Pointer to end of RAM

    ldi        TEMP,        0xdf            ; load end of RAM
    out        SPL,        TEMP            ; and save to stack pointer


    sei                                    ; enable global interrupts

LOOP:
    rjmp    LOOP                        ; go into infinite loop waiting 
for interrupts
    rjmp    LOOP                        ; go back to loop after 
interrupt handling cmmpletes

;------------------------------------------------------------------------------
;
;    timer handler

TIMER_HNDLR:

    inc        r20                            ; incremenrt count on 
number of interrupts
    reti                                ; return from interrupt

;------------------------------------------------------------------------------
;
;    end of code

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.