Materi
kali ini adalah pengendalian 8 buah LED yang dirangkaikan pada PORTC
berdasarkan logika input dengan antarmuka berupa “Push-Button” yang
dirangkaikan pada pin PORTD.2 dan pin PORTD.3 dari ATmega8535(L) (bisa
pula untuk IC ATmega16(L), ATmega32(L), ATmega163(L), ATmega323(L)) seperti yang terlihat pada gambar berikut.
Untuk memudahkan pembelajaran, sebaiknya menggunakan modul kami DI-Smart AVR System sebagai media praktik. Adapun langkah-langkah dalam pembuatan sistemnya adalah sebagai berikut:
- Modul yang dibutuhkan DI-Smart AVR System. (Merangkai komponen-komponen sesuai dengan gambar skematik rangkaian).
- Hubungkan adaptor DC pada JACK-DC. Tetapkan tegangan adaptor pada kisaran 9 s/d 12 VDC. Pastikan kutub positif berada pada bagian dalam. (Jika anda menyusun dari awal, maka pastikan sistem mendapatkan tegangan 5V [VCC = 5V]).
- Atur jumper JP3 pada posisi “LED CONNECTED” pada DI-Smart AVR System
- Unduh skrip program berikut (menggunakan BASCOM):
$crystal = 4000000 ‘Sesuai dengan xtal0 = crystal yang digunakan pada rangkaian = 4MHz
‘Jika anda menggunakan DI-Smart AVR System, maka crystal = 8000000 = 8MHz
Config Portd.2 = Input ‘Deklarasi Pind.2 sebagai input
Config Portd.3 = Input ‘Deklarasi Pind.3 sebagai input
Portd.2 = 1 ‘Aktifkan internal pull-up
Portd.3 = 1
Config Portc = Output ‘Portc sebagai output keluaran LED
Portc = &B1111_1110 ‘Nilai awal (bit = 0, LED = menyala)
Dim Fkanan As Bit ‘Memesan variable Fkanan bertipe bit
‘Variable Fkanan akan menahan logika tombol yang ditekan
Fkanan = 1 ‘Kondisi pertama led bergerak ke kanan
Do
If Pind.2 = 0 Then
Fkanan = 1 ‘Fkanan = 1 saat Pind.2 ditekan
Elseif Pind.3 = 0 Then
Fkanan = 0 ‘Fkanan = 0 saat Pind.3 ditekan
End If
‘Jika Fkanan = 1, maka Portc akan digeser ke kanan 1 bit
‘Jika Fkanan = 0, maka Portc akan digeser ke kiri 1 bit
If Fkanan = 1 Then
Rotate Portc , Right , 1
Else
Rotate Portc , Left , 1
End If
Waitms 500 ‘Tunda selama 500ms
Loop
End
*Modul Depok Instruments yang Memudahkan Pembelajaran:
0 komentar:
Posting Komentar