Merancang Keypad Fotocopy dengan AVR
Ini tugas Sistem Mikroprosessorku di JTE UGM Semester 2 lalu, aku dapat nilai D dari mata kuliah ini *sedih sekali rasanya.
Ok, cekidot.
Program keypad fotocopy berikut ini
diaplikasikan pada ATMEGA16, dengan kriteria sebagai berikut:
- Pin C bit 4 untuk memberikan input 10 lembar fotocopy.
- Pin C bit 5 untuk memberikan input 20 lembar fotocopy.
- Pin C bit 6 untuk memberikan input 40 lembar fotocopy (jumlah maksimum).
- Pin D bit 2 merupakan interupsi eksternal 0, yang apabila ditekan ,proses pengcopyan dihentikan
- Pind D bit 7 digunakan untuk melanjutkan proses fotocopy setelah mesin diinterupsi.
- Port A bit 7 untuk menyalakan LED 1 saat jumlah fotocopy mencapai 10 lembar.
- Port A bit 6 untuk menyalakan LED 2 saat jumlah fotocopy mencapai 20 lembar.
- Port A bit 5 untuk menyalakan LED 3saat jumlah fotocopy mencapai 30 lembar.
- Port A bit 4 untuk menyalakan LED 4 saat jumlah fotocopy mencapai 40 lembar.
- Port B untuk menyalakan layar BCD yang menunjukkan jumlah yang sudah tercopy.
PENGGALAN 1
.include "m16def.inc"
.org 0x00
rjmp main
.org 0x01
rjmp pause
rjmp lanjut
Keterangan 1
PENGGALAN 2
main:
ldi r16, low(ramend)
out spl, r16
ldi r16, high(ramend)
out sph, r16
Keterangan 2
PENGGALAN 3
ldi r20,0b01000000
out GICR,r20
sei
Keterangan 3
PENGGALAN 4
awal1:
ldi r16,255
out ddra,r16; porta output
ldi r17,0
out ddrc,r17;portc input
out ddrd,r17
out ddrb,r16
out pinc,r17
out portd,r16
Keterangan 4
PENGGALAN 5
awal:
clr r16
out porta,r16
sbic pinc,4
rjmp kopi10
sbic pinc,5
rjmp kopi20
sbic pinc,6
rjmp kopi40
rjmp awal
Keterangan 5
PENGGALAN 6
kopi10:
inc r16
out portb,r16
rcall waktu
cpi r16,10
breq led1
rjmp kopi10
Keterangan 6
PENGGALAN 7
kopi20:
inc r16
out portb,r16
cpi r16,10
breq led2
rjmp kopi20
Keterangan 7
PENGGALAN 8
kopi20b:
inc r16
out portb,r16
cpi r16,20
breq led2b
rjmp kopi20b
Keterangan 8
PENGGALAN 9
kopi40:
inc r16
out portb,r16
cpi r16,10
breq led3
rjmp kopi40
Keterangan 9
PENGGALAN 10
kopi40b:
inc r16
out portb,r16
cpi r16,20
breq led3b
rjmp kopi40b
Keterangan 10
PENGGALAN 11
kopi40c:
inc r16
out portb,r16
cpi r16,30
breq led3c
rjmp kopi40c
Keterangan 11
PENGGALAN 12
kopi40d:
inc r16
out portb,r16
cpi r16,40
breq led4
rjmp kopi40d
Keterangan 12
Comments