Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .nolist
- #ifndef _TN13DEF_INC_
- .include "tn13def.inc"
- #endif
- ;ticks
- .equ T0MAXTICK = 100
- ;work
- .def t0tick = R22
- .def state = R21
- .cseg
- .org 0x00
- rjmp reset
- .org 0x03
- rjmp TIM0_OVF
- .macro outi
- ldi r16, @1
- out @0, r16
- .endm
- ;==============================================================
- .macro show
- ;tst state
- ;breq PC+3
- ;OUTI PortB, 1
- ;rjmp m1
- ;OUTI PortB, 0
- ;m1:
- out portb, state
- .endm
- ;==============================================================
- ;ISR
- TIM0_OVF:
- dec t0tick
- breq PC+2
- reti
- ldi R17, 1
- eor state, R17
- ldi t0tick, T0MAXTICK
- reti
- ;==============================================================
- .list
- reset:
- ;RAM stack
- ldi R17, low(RAMEND)
- OUT SPL, R17
- ;PORTS
- OUTI DDRB, 0xFF
- OUTI PORTB, 1
- ;timers
- outi TIMSK0, 0x02
- outi TCCR0A, 0x00
- outi TCCR0B, 0x03
- ;init
- ldi state, 1
- ldi t0tick, T0MAXTICK
- sei
- ;==============================================================
- main:
- show
- rjmp main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement