Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- .def tmp = r16
- .cseg
- rjmp reset
- reset:
- ldi tmp, high(RAMEND)
- out SPH, tmp
- ldi tmp, low(RAMEND)
- out SPL, tmp
- ldi tmp, (1 << PD5)
- out DDRD, tmp
- ldi tmp, (1 << COM1A0)
- out TCCR1A, tmp
- ;ldi tmp, (1 << WGM12)
- ;out TCCR1B, tmp
- ; f_clk = 7372800
- ; f_oc1a = 2Hz
- ;
- ; f_oc1a = fclk /( 2 * N * (1 + OCR1A))
- ; N * (1 + OCR1A) = f_clk / (2 * f_oc1a)
- ; N * (1 + OCR1A) = 7372800 / 4
- ; N * (1 + OCR1A) = 1843199
- ; 1 * (1 + OCR1A) = 1843199 => OCR1A = 1843199
- ; 8 * (1 + OCR1A) = 1843199 => OCR1A = 230399
- ; 64 * (1 + OCR1A) = 1843199 => OCR1A = 28799 (OK)
- ldi tmp, (1 << WGM12) | (1 << CS11) | (1 << CS10)
- out TCCR1B, tmp
- ldi tmp, high(28799)
- out OCR1AH, tmp
- ldi tmp, low(28799)
- out OCR1AL, tmp
- ; (28799 + 1 ) * 64 = 1843200
- ; 1 / ( 7372800 / 1843200 ) = 0.25
- ; t = 2 * 0.25
- ; f = 1 / t = 2 Hz
- main:
- nop
- rjmp main
- */
- .def tmp = r16
- .cseg
- rjmp reset
- reset:
- ldi tmp, high(RAMEND)
- out SPH, tmp
- ldi tmp, low(RAMEND)
- out SPL, tmp
- ;REDOSLJED JE BITAN, ZAPISUJEMO OD NAJVECEG A CITAMO OD NAJMANJEG (?)
- ldi tmp, (1 << PD5) //OC1A nasli smo di je u DS
- out DDRD, tmp
- ldi tmp, (1 << COM1A0)
- out TCCR1A, tmp
- ldi tmp, (1 << WGM12) | (1 << CS11) | (1 << CS10)
- out TCCR1B, tmp
- ; f_oc1a = fclk /( 2 * N * (1 + OCR1A))
- ; N * (1 + OCR1A) = f_clk / (2 * f_oc1a)
- ; N * (1 + OCR1A) = 7372800 / 4 f_oc1a je zadano u zadatku
- ; N * (1 + OCR1A) = 1843200
- ; 1 * (1 + OCR1A) = 1843200 => OCR1A = 1843199 1, 8, 64 su prescaleri i onda biramo onaj koji nam pase
- ; 8 * (1 + OCR1A) = 1843199 => OCR1A = 230399
- ; 64 * (1 + OCR1A) = 1843199 => OCR1A = 28799 (OK) ovo je ok jer je ispod 65k nesto sta nam je max za zapisat u registar
- //minimalno frekv za dobit u 8 bitnim registrima
- ;f_oc1a = 7372800 / (2 * 1024 * 256)
- ldi tmp, high(28799)
- out OCR1AH, tmp
- ldi tmp, low(28799)
- out OCR1AL, tmp // zadnje 4 linije, zapisali smo nasu vrijednost top-a
- main:
- rjmp main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement