Mikrokontroler AT89S52 memiliki 4 buah port paralel, yaitu PO, P1, P2, dan P3. Kita menggunakan 8 buah LED yang dihubungkan secara paralel.
Untuk lebih jelasnya lihat gambar di bawah!
Programnya sebagai berikut:
$regfile = "8052.dat" $crystal = 12000000 Dim n As Byte, x as byte ‘$sim For n = 1 to 4 Pl = &h01 Waitms 10 Pl = &h02 Waitms 10 Pl = &h04 Waitms 10 Pl = &h08 Waitms 10 Pl = &h10 Waitms 10 Pl = &h20 Waitms 10 Pl = &h40 Waitms 10 Pl = &h80 Waitms 10 Next For x=l to 4 Pl=1 Waitms 10 For n =1 to 8 SHIFT Pl, LEFT,1 Waitms 10 NEXT Next
Penjelasan program di atas sebagai berikut:
- $regfile = “8052.dat”
- $crystal = 12000000
Pernyataan di atas disebut compiler directive (pengarah kompiler), yang berarti memberitahu ke kompiler bahwa mikrokontroler yang digunakan adalah AT89S52. Anda dapat menggantinya sesuai dengan yang Anda gunakan Frekuensi crystal yang Anda gunakan adalah 12MHz.
- Dim n As Byte , x As Byte
Pernyataan ini merupakan pendeklarasian variabel n dan
- Pl = &h01 Waitms 10 Pl =&h02 Waitms 10
Pernyataan yang digunakan untuk mengeluarkan data Port 1, kemudian ditunda selama 10 ms dan mengeluarkan data selanjutnya, sehingga kita akan mendapatkan efek LED yang bergeser dari kiri ke kanan.
- For n =1 to 8
SHIFT Pl, LEFT,1 Waitms 10
NEXT
Untuk menggeser LED ke kiri atau ke kanan selain menggunakan perintah secara langsung, kita bisa pula menggunakan rutin yang telah disediakan oleh BASCOM yaitu SHIFT Pl, Left, 1.
Perintah berarti menggeser data F ke arah kiri (dari LSB ke MSB) satu kali. Dalam prograrr agar LED terlihat bergeser, maka perintah diulasebanyak 8 kali menggunakan perintah For…Next. Untul-menggeser data ke arah kanan, kita cukup mengganti Left: menjadi Right.
Tidak ada komentar:
Posting Komentar