Code:
begin:
rjmp main ; RESET External Reset, Power-on Reset and Watchdog Reset
reti; INT0 External Interrupt 0
reti; PCINT0 External Interrupt Request 0
reti; TIM0_OVF Timer/Counter0 Overflow
reti; EE_RDY EEPROM Ready
reti; ANA_COMP Analog Comparator
reti; TIM0_COMPA Timer/Counter Compare Match A
reti; TIM0_COMPB Timer/Counter Compare Match B
reti; WDT Watchdog Time-out
reti; ADC ADC Conversion Complete
;------------------------------------------------------------------------------
main:
ldir16, lo8(RAMEND) ; Main program start
outSPL, r16; Set Stack Pointer to top of RAM
cbiDDRB, 3 ; PORTB.3 als Eingang gesetzt
cbiDDRB, 4 ; PORTB.4 als Eingang gesetzt
sbiDDRB, 1 ; PortB.1 als Ausgang gesetzt
sbiDDRB, 2 ; PortB.2 Als Ausgang gesetzt
;... ; Hier Init-Code eintragen.
;------------------------------------------------------------------------------
mainloop:
ldir18, 0b00000000
ldir17, 0b00000000
ldir16, 0b00000001
ldir19, 0b00000110
outPORTB, r19
incr17
brne mainloop
incr18
brne mainloop
rolr16
sbrsr16, 7
rjmp mainloop
ldir19, 0b00000000
outPORTB, r19
Start:
inr16, PINB; alle Eingänge in R16 einlessen
sbrcr16, 3
sbrR21, 0b00000001 ; setze BIT 0 in R19 auf high
cbrr21, 0b00000001
sbrcr16, 4
sbrR22, 0b00000001 ; setze BIT 0 in R19 auf high
cbrr22, 0b00000001
Flanke:
comr17; alle Werte im Register 17 negieren
movr18, r16; kopiere das Register 16 in das Register 17
andr18, r17; Und verknüfen der beiden Register- Ergebniss der UND-Verknüpfung in r18
movr17, r16; kopieren den Inhalte des R16 in R17
sbrcr18, 3 ; überprüfe die Und-Verknüpfung des ersten Port, true = nicht fals = springe
sbrR19, 0b00000001 ; setze BIT 2 in R19 auf high
cbrr19, 0b00000001
sbrcr18, 4 ; überprüfe die Und-Verknüpfung des ersten Port, true = nicht fals = springe
sbrR20, 0b00000001 ; setze BIT 2 in R19 auf high
cbrr20, 0b00000001
Und1:
andR22, R19
movr23, R22
Und2:
andR21, R20
movr24, R21
negieren:
movr25, r23
movr26, r24
incr25
incr26
und3:
andr23, r26
sbrcr23, 0
sbiPORTB, 2
cbiPORTB, 2
und4:
andr24, r25
sbrcr24, 0
sbiPORTB, 1
cbiPORTB, 1
rjmp Start ; Springe zum Mainloop Punkt
Lesezeichen