Kamis, 08 Mei 2014

AVR “PB-Input + LED-Output”

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:
  1. Modul yang dibutuhkan DI-Smart AVR System. (Merangkai komponen-komponen sesuai dengan gambar skematik rangkaian).
  2. 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]).
  3. Atur jumper JP3 pada posisi “LED CONNECTED” pada DI-Smart AVR System
  4. Unduh skrip program berikut (menggunakan BASCOM):
$regfile = “m8535.dat” ‘Lokasi source code BASCOM untuk chip ATmega8535
$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