Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Convert the following assembly langaa,e prysm to C pr., ram, . INCLUDE M32DEF. I

ID: 2292904 • Letter: C

Question

Convert the following assembly langaa,e prysm to C pr., ram, . INCLUDE M32DEF. INC" in C lan,.., e- ORG OX JMP MAIN Hinclude avrlioh Hincluse avr/interrupth" int main ) JMP T2 To. ISR OR G Ox1o0 MAIN LDI R20, HIGHIRAMEND) OUT SPH, R2 L DI R20, Low (RA MEND) OUT SPL, R2 L DI R20, 216 OUT TCNT2, R2 LDI R20, Ox ? OUT TCCR2, R2 OUT T?MSK, R20 LDI R 20, Oxoo OUT DD RC, R20 LDI R20, oxFF OUT DDRD, R 20 HERE IN R20, PINC OUT PORTD, R2o 3MP HE RE T2-To- ISR IN RI6, PORTB LDI RI ox 20 EoR R16, R 17 OUT PoRT B, R16 LDI R20, 216 OUT TCNT2, R20 RETI

Explanation / Answer

Answer :- Timer2 has been used here, as we can see TCCR2 and TCNT2 registers being used. These registers are related with timer2 in AVR microcontrollers.

The mode of timer is Normal Mode, as the value in TCCR2 register is equal to 0x01 i.e. 0000_0001. Also prescaling of timer clock has not been used as LSB 3 bits are 001 in 0x01.

The timer count value i.e. TCNT2 = 216. The clock frequency for timer is 8 MHz. Thus to count 216, time taken by the timer is = 216/8 us = 27 us.