Jumat, 23 Desember 2011
Kamis, 22 Desember 2011
Transfer File HEX_AT89c51
“ Downloader AT89c51 “
* ) Cara Transfer Program Ke IC Mikro_AT89c51 :
1. Masukan IC Mikro Ke Socket ZIF ( Socket Warna Hijau ) Dengan Posisi Pin 1 Pada Handle.
2. Setelah IC Di Masukan Baru Handle Di Tekan Supaya IC Terkunci Pada Socket ZIF.
3. Masukan Konektor DB_9 ( Serial Port ) Pada CPU.
4. Masukan Juga Kabel Power Pada Stop Kontak Untuk Menghidupkan DownloaderNya.
5. Buka Aplikasi / Software Easy Downloader Pada Komputer.
Easy Downloader
Tampilan Easy Downloader
Tampilan Easy Downloader Setelah IC Mikro Terdeteksi
6. Setelah IC Mikro Terdeteksi, Tinggal Klik “ SEND “ Pilih Program Yg Akan Di Transfer Ke IC Mikro Dg File Yg Ber-Extensi ” HEX ”
7. Setelah Di Transfer Ke IC Mikro, Sebelum IC Di Lepas Dari Socket ZIF Jangan Lupa Matikan Dulu Catu Daya Pada Rangkaian DownloaderNya.
8. Tinggal IC Mikro Di Aplikasikan Pada Rangkaian / HardwareNya.
Menghidupkan LED
$mod51
org 00h
mulai: mov p1, #00011000b
acall delay
mov p1, #00111100b
acall delay
mov p1, #01111110b
acall delay
mov p1, #11111111b
acall delay
mov p1, #00000000b
acall delay
sjmp mulai
;
; subrutin delay
;
delay: mov r0, #1
delay1: mov r1, #0FFh
delay2: mov r2, #0
djnz r2, $
djnz r1, delay2
djnz r0, delay1
ret
end
Flip-Flop
$mod51
org 00h
mulai: mov p1, #00001111b
acall delay
mov p1, #11110000b
acall delay
sjmp mulai
;
; subrutin delay
;
delay: mov r0, #5
delay1: mov r1, #0FFh
delay2: mov r2, #0
djnz r2, $
djnz r1, delay2
djnz r0, delay1
ret
end
Display 7 Segmen
$mod51
org 00h
jmp mulai
org 0bh
jmp hitung
hitung: cjne r5, #00h, maju
mov r5, #250
cjne r4, #00, maju2
mov r4, #16
cjne r7, #100, maju3
mov r7, #00
jmp exit
maju3: inc r7
jmp exit
maju2: dec r4
jmp exit
maju: dec r5
jmp exit
exit: reti
mulai:
mov p0, #00
mov p1, #00
mov p2, #00
mov r7, #00
mov r5, #250
mov r4, #16
mov tmod, #82h
mov th0, #6
mov tcon, #00h
mov ie, #00h
setb ie.7
setb ie.1
setb tr0
ulang:
mov p1, r7
mov acc, r7
mov b, #10
div ab ; Hasil di a sisa di b
call tampil1
setb p2.1
call delay
clr p2.1
mov a, b
call tampil1
setb p2.0
call delay
clr p2.0
jmp ulang
tampil1:
cjne a, #0, satu
jmp nol
satu:
cjne a, #1, dua
jmp siji
dua:
cjne a, #2, tiga
jmp loro
tiga:
cjne a, #3, empat
jmp telu
empat:
cjne a, #4, lima
jmp papat
lima:
cjne a, #5, enam
jmp limo
enam:
cjne a, #6, tujuh
jmp enem
tujuh:
cjne a, #7, lapan
jmp pitu
lapan:
cjne a, #8, sanga
jmp wolu
nol: mov p0, #00111111b
ret
siji: mov p0, #00000110b
ret
loro: mov p0, #01011011b
ret
telu: mov p0, #01001111b
ret
papat: mov p0, #01100110b
ret
limo: mov p0, #01101101b
ret
enem: mov p0, #01111101b
ret
pitu: mov p0, #00000111b
ret
wolu: mov p0, #01111111b
ret
sanga: mov p0, #01101111b
ret
delay: ;mode pengurangan 5x255
mov r0, #10
loop1: mov r1, #255
loop: dec r1
cjne r1,#00, loop
dec r0
cjne r0, #00, loop1
ret
end
Motor Stepper
$mod51
org 00h
jmp mulai
mulai:
mov r0, #55 ( Mengatur Banyaknya Putaran #80 = 1,5 Putaran )
ulang1:
mov p0, #00001000b ( Perintah Putar Pertama Ke Kiri )
call tunda
mov p0, #00000100b
call tunda
mov p0, #00000010b
call tunda
mov p0, #00000001b
call tunda
djnz r0, ulang1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov r0, #55
ulang2:
mov p0, #00000001b ( Perintah Putar Ke Dua Ke Kanan )
call tunda
mov p0, #00000010b
call tunda
mov p0, #00000100b
call tunda
mov p0, #00001000b
call tunda
djnz r0, ulang2
jmp mulai
tunda: mov r4, #20 ( Mengatur Kecepatan Putar #50 = Lebih Lambat )
maning: mov r5, #255
kurang: dec r5
cjne r5, #00h, kurang
djnz r4, maning
ret
end
Running LED
$mod51
org 00h
jmp mulai
mulai:
;inisialisasi
mov p0, #00
mov p1, #00
mov p2, #00
mov p3, #00
;kedip mulai disini
ulang: mov a, #1 ( Menghidupkan LED Dg Mengisi Acumulator Dg Nilai 1 )
kiri: rl a ( Merotasikan Isi Acumulator Ke Kiri )
mov p1,a ( Kirimkan Isi Acumulator Ke Port 1 )
call delay ( Penundan Sesaat )
call delay
cjne a, #128,kiri
kanan: rr a ( Merotasikan Isi Acumulator Ke Kanan )
mov p1,a ( Kirimkan Isi Acumulator Ke Port 1 )
call delay ( Penundan Sesaat )
call delay
cjne a, #1,kanan ( Menjalankan Isi Acumulator Ke Kana 1 Per 1 )
jmp ulang
delay: ;mode pengurangan 5x255
mov r0, #255 ( Nilai Di Perkecil, Berkedipnya Lebih Cepat )
loop1: mov r1, #255
loop: dec r1
cjne r1,#00, loop ( Sebelum Isi Register Sampai Pada Alamat 00h Maka Lanjut Ke Loop )
dec r0
cjne r0, #00, loop1
ret
end
Display 7 Segmen_External
org 00h
jmp mulai
org 03h ;external0
jmp hitung
hitung:
cjne r7, #100, maju3
mov r7, #00
jmp exit
maju3: inc r7
jmp exit
exit: reti
mulai:
mov p0, #00
mov p1, #00
mov p2, #00
mov r7, #00
mov tcon, #00h
mov ie, #00h
setb ie.7
setb ie.0
setb it0
ulang:
mov p1, r7
mov acc, r7
mov b, #10
div ab ; Hasil di a sisa di b
call tampil1
setb p2.1
call delay
clr p2.1
mov a, b
call tampil1
setb p2.0
call delay
clr p2.0
jmp ulang
tampil1:
cjne a, #0, satu
jmp nol
satu:
cjne a, #1, dua
jmp siji
dua:
cjne a, #2, tiga
jmp loro
tiga:
cjne a, #3, empat
jmp telu
empat:
cjne a, #4, lima
jmp papat
lima:
cjne a, #5, enam
jmp limo
enam:
cjne a, #6, tujuh
jmp enem
tujuh:
cjne a, #7, lapan
jmp pitu
lapan:
cjne a, #8, sanga
jmp wolu
nol: mov p0, #00111111b
ret
siji: mov p0, #00000110b
ret
loro: mov p0, #01011011b
ret
telu: mov p0, #01001111b
ret
papat: mov p0, #01100110b
ret
limo: mov p0, #01101101b
ret
enem: mov p0, #01111101b
ret
pitu: mov p0, #00000111b
ret
wolu: mov p0, #01111111b
ret
sanga: mov p0, #01101111b
ret
delay: ;mode pengurangan 5x255
mov r0, #10
loop1: mov r1, #255
loop: dec r1
cjne r1,#00, loop
dec r0
cjne r0, #00, loop1
ret
end
Loud Speaker
$mod51
org 00h
jmp mulai
org 0bh
jmp hitung
hitung: cjne r5, #00h, maju
mov r5, #14
maju: dec r5
cjne r5, #00, exit
cjne r7, #50, maju2
mov r7, #00
maju2: inc r7
exit: reti
mulai: mov a, #00h
mov p0, #00h
mov p1, #00h
mov p3, #00h
mov r5, #20h
mov tmod, #81h
mov tcon, #00h
mov ie, #00h
setb ie.7
setb ie.1
setb tr0
loop: mov a, r7
jnb acc.0, nada1
acall beep2
nada1: acall beep
jmp loop
beep: mov r1, #150
ulang: dec r1 ;12 siklus
setb p0.0 ;12 siklus
cjne r1, #00h, ulang ;24 siklus
mov r2, #150
ulang2: dec r2
clr p0.0 ;12 siklus
cjne r2, #00h, ulang2
ret
beep2: mov r1, #200 ( Nilainya Semakin Kecil Frekuensinya Semakin Tinggi / Melengking )
ulang3: dec r1
setb p0.0
cjne r1, #00h, ulang3
mov r2, #200
ulang4: dec r2
clr p0.0
cjne r2, #00h, ulang4
ret
end
Sabtu, 10 Desember 2011
Jumat, 08 April 2011
Senin, 04 April 2011
Selasa, 29 Maret 2011
Kamis, 24 Maret 2011
Alat & Bahan
1. Komputer
2. Printer
3. Solder
4. Tang Potong
5. Bor PCB
6. Setrika Listrik
Bahan :
1. PCB ( Printed Circuit Board )
2. Kertas Transfer PCB
3. Socket IC / Tempat IC
4. IC TTL ( AND, OR, NOT )
5. Kabel Penghubung
6. Tinol
7. IC Regulator Tegangan LM 7805
8. Transformator
9. Dioda Bridge ( Sbg Penyearah Arus Bolak-Balik / AC )
10. Electrolite Condensator / Elco ( Sbg Perata Arus AC Menjadi Arus Searah / DC )
11. LED Indikator B / S
12. Saklar SPDT /Single Pole Double Throw ( Untuk P & Q Berlogika B - S )
13. Kabel Power
14. Ferri Clorida / FeCl3.
Langkah-Langkah Pembuatan PCB ( Printed Circuit Board ) :
1. Gambarlah Lay Out PCB Pada Komputer ( Software : Protel PCB / PCB Design )
2. Apabila Pembuatan Lay Out Sudah Sesuai, Maka Cetak / Print Hasil Tersebut Pada Kertas Transfer PCB.
3. Tempelkan Kertas Transfer PCB Pada PCB Yang Ada Tembaganya.
4. Gosoklah Menggunakan Setrika Listrik Dengan Suhu Panas Yang Sedang, Agar Lay Out PCB Dapat Di Transfer Ke PCB.
5. Rendam & Bersihkan PCB Dengan Air.
6. Cek Ulang Jalur PCB Tersebut.
7. Apabila Lay Out PCB Sudah Sesuai, Maka Larutkanlah PCB Tersebut Dengan Menggunakan Ferri Clorida ( Fe Cl3 )
8. Bersihkan Sisa-Sisa PCB Dari Proses Pelarutan / Etching.
9. Lobangilh Tempat - Tempat Komponen Dengan Menggunakan Bor PCB.
10. Masukan Komponen - Komponen Tersebut & Solder Satu Persatu Hingga Selesai Sesuai Dengan Gambar Rangkaiannya.
11. Apabila Dalam Penyolderan Sudah Selesai, Cek Ulang Rangkaian Tersebut Sebelum Kita Coba.
12. Apabila Sudah Sesuai Dengan Gambar Rangkaian Maka Tinggal Kita Uji Coba, Dengan Memberikan Logika B / S Sesuai Dengan Tabel Kebenaran_Nya.
Langkah-Langkah Penggunaan :
1. Masukan Kabel Power Pada Stop Kontak.
2. Operasikan Saklar Input P & Q Sesuai Dengan Tabel Kebenaran
3. Lihat Hasil Out Put LED Indikator B / S Yang Nyala
4. Apabila Hasil Out Put LED Indikator Tidak Sesuai Dengan Tabel Kebenaran, Kemungkinan Ada Kesalahan Dalam Pengoperasian Alat_Nya.
5. Apabila Percobaan Sudah Selesai, Jangan Lupa Cabut Kembali Kabel Power_Nya.