Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ******************************************************
- ; BASIC .ASM template file for AVR
- ; ******************************************************
- .include "D:\EEET22~1\TEACHI~1\Tools\VMLab\include\m32def.inc"
- .DEF TEMP = R16 ;GENERAL PURPOSE ACCUMULATOR
- .ORG $0000 ;STARTUP VECTOR
- .ORG $0006 ;COMPARE MATCH VECTOR
- .CSEG
- ;------ Reset and interrupt vectors ------------------------------
- ;
- .ORG 0x00
- START:
- rjmp RESET ; Reset vector
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- reti
- RESET:
- clr R0 ; use as zero value
- ldi TEMP, low(RAMEND) ; Init stack pointer
- out SPL, TEMP ; RAMEND defined in M32DEF.INC
- ldi TEMP, high(RAMEND)
- out SPH, TEMP
- ON_RESET:
- LDI TEMP, 0xFF
- OUT DDRB, TEMP
- LDI TEMP,0b01001011 ;PWM MODE 3
- OUT TCCR0, TEMP
- LDI TEMP,0b00000010 ;ENABLE COMPARE INTERUPT
- OUT TIMSK,TEMP
- LDI TEMP, 0xFF
- OUT OCR0,TEMP
- SEI ;ENABLE INTERUPTS GLOBALLY
- MAIN_LOOP:
- RJMP MAIN_LOOP;TEMP DO-NOTHING LOOP
- TIM0_COMPA:
- IN TEMP,OCR0
- DEC TEMP
- OUT OCR0,TEMP
- RETI
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement