✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.
[AVR INT CPMK-19]
Dirancang agar ada interrupt dari signal external dengan memakai INT0. ISR (Interrupt Service Routine) dari interrupt external akan menghitung jumlah interrupt dan menampilkannya secara biner di port A. Interrupt dari external bila ada transisi signal dari tinggi ke rendah (falling edge).
Lengkapilah program AVR berikut:
.include "m8515def.inc"
.def temp = r16
.def count1 = r17
.equ ENABLE_INT0 = 0b01000000 ; bit 6 untuk enable INT0
.equ FALLING_EDGE_INT0= 0b000000 ;(tuliskan 2 bit) untuk seting falling edge
.org $00
rjmp Start
.org $01
rjmp
:
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,high(RAMEND)
out SPH,temp
;SET_INT0
ldi temp, ENABLE_INT0
out , temp
ldi temp, FALLING_EDGE_INT0
out , temp
;Set PORT A sebagai output
ser temp
out , temp
CLR count1
sei
LOOP:
rjmp LOOP
ISR_EXT_IN:
inc count1
out , count1 ;Tampilkan dalam biner jumlah EXT Int di port A
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!