Kamis, 16 Februari 2012

Simulasi Program Counter pada Mikrokontroler ATMEGA 8535

Salah satu aplikasi yang banyak digunakan baik di dunia industri ataupun robotika adalah aplikasi pencacah atau lebih akrab disebut counter. Dalam dunia industri biasanya digunakan dalam conveyor dan berbagai jenis alat otomasi lainnya, dalam dunia robotika biasanya digunakan dalam memprogram untuk menghitung persimpangan yang dilalui oleh robot.

Dalam artikel kali ini akan ditekankan aplikasi dalam bentuk simulasi program counter pada mikrokontroler dengan menggunakan program Bascom AVR.

Deskripsi Sistem

Sistem ini akan membaca sensor yang terhubung di salah satu pin di mikrokontroler, di PinA.0 dan PinA.1. Ketika PinA.0 bernilai 1 maka program akan menghitung maju, dan ketika PinA.1 bernilai 1 maka program akan menghitung nmundur, lalu port B dihubungkan ke LCD sebagai penampil jumlah perhiutngan serta keluaran dari sistem  ini dihubbungkan ke PortD, jika sensor talah menghitung sebanyak 5 kali atau lebih, maka lampu di PortD akan menyala.


Program

$regfile = "8535def.dat"
$crystal = 1000000
$sim

Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs=Portb.5
Config Lcd = 16 * 2

Dim Hitung As Byte

Config Porta = Input
Config Portd = Output

Sensor_a Alias Pina.0
Sensor_b Alias Pina.1
Led Alias Portd


Porta = 1
Hitung = 0
Led = 0

Do

Locate 1 , 1
Lcd "hitung = "

If Sensor_a = 0 Then
Hitung = Hitung + 1
Do
Loop Until Sensor_a = 1
End If

If Sensor_b = 0 Then
Hitung = Hitung - 1
Do
Loop Until Sensor_b = 1
End If

Locate 2 , 1
Lcd Hitung

If Hitung >= 5 Then
Portd = &HFF
Else
Portd = &H00
End If

Loop

Hasil Percobaan



Ketika jumlah perhitungan telah mencapai 5 atau selebihnya maka lampu pada Port.D akan hidup, sedikit tambahan pada layar simulasi port sebelah kanan (lampu hijau) merupakan input pada simulasi, sedangkan port pada layar sebelah kiri (lamu merah) merupakan output pada simulasi. Baca Simulasi Program Mikrokontroler dengan BASCOM AVR.


Semoga bermanfaat..

1 komentar: