Hallo Feiertagler,
irgendwie versteh ichs nicht !
AVRStudio
STK500
Simulation
Tiny13
.....
.def temp = r16
.def Bit_X = r18
.def Byte_X = r19
.def Ausg_X = r20
.include "tn13def.inc"
.equ CLOCK = 1000000 ; 1 Mhz (intern)
.equ BAUD = 1200
.equ UBRRVAL = CLOCK/(BAUD*16)-1
.ORG $000
RJMP reset ;Springe zum Initialisierungsteil
reti ;0x0001 rjmp EXT_INT0 ; IRQ0 Handler
reti ;0x0002 rjmp PCINT0 ; PCINT0 Handler
rjmp TIM0_OVF ; Timer0 Overflow Handler
reti ;0x0004 rjmp EE_RDY ; EEPROM Ready Handler
reti ;0x0005 rjmp ANA_COMP ; Analog Comparator Handler
reti ;0x0006 rjmp TIM0_COMPA ; Timer0 CompareA Handler
reti ;0x0007 rjmp TIM0_COMPB ; Timer0 CompareB Handler
reti ;0x0008 rjmp WATCHDOG ; Watchdog Interrupt Handler
reti ;0x0009 rjmp ADC ; ADC Conversion Handler
;
RESET:ldi temp, low(RAMEND) ; Main program start
out SPL, temp ; Set Stack Pointer to top of RAM
ldi temp, 0b11111111 ; 1 = Ausgang
out DDRb, temp ;Port b setzen
nop
ldi temp, 0b00001111 ; Portb-Grundzustand
out PORTB, temp
rcall initial ; Interrupt einrichten
.......
;---------------------------- Initialisierung
--------------------------------------
initial:
ldi temp, 0b00000010; Vorteiler
out TCCR0B, temp
>> ldi temp, 0b00000010
out TIMSK0, temp ; Timer Interrupt Maskenregister
;ldi temp, 0b11100111
ldi temp, 0b11110000
out TCNT0, temp ; Timer Zähler setzen
sei ; Enable interrupts
ret
===================================================
sobald der Simulatorzeiger auf _>> ldi temp, 0b00000010_
kommt werden bit 0+1 von Portb gelöscht.
auf dem STK500 scheint es richtig zu laufen (laut Oszi)
Wer weiss was falsch ist?
Gruss Kurt
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.