0

Belajar Counter pada Mikrokontroler Atmega

Belajarlistrik.com dalam kesempatan kali ini akan membahas tentang belajar Counter pada Mikrokontroler Atmega. Salah satu fitur istimewa yang ditawarkan oleh Mikrokontroler Atmega adalah fasilitas timer dan counter, Timer0 dan Timer2 memiliki register sepanjang 8 bit dan Timer1 memiliki register sepanjang 16 bit. Secara teori timer adalah fasilitas yang dapat digunakan untuk menghitung panjang waktu, delay dan sebagainya dan aplikasinya bisa digunakan untuk menghitung delay yang akurat, untuk menghitung lebar pulsa, atau untuk keperluan pembacaan data pada sensor seperti sensor ping ultrasonic.

Counter pada mikrokontroler atmega 8535

Counter pada mikrokontroler atmega 8535

sumber:https://pccontrol.wordpress.com/2011/08/14/pengetahuan-dasar-penggunaan-timer-counter-microcontroller-avr/

Counter adalah fasilitas atau kemampuan untuk mencacah / menghitung masukan atau keluaran bisa dari logika 1 ke 0 atau sebaliknya dari logika 0 ke 1, pada aplikasinya sering digunakan untuk menghitung jumlah sinyal yang masuk atau untuk pembacaan sensor seperti sensor suhu dan kelembaban DHT11 dan SHT11.

Pada tulisan kali ini belajarlistrik.com akan membaca membahas mengenai salah satu fasilitas (feature) yang ada pada Mikrokontroler Atmega 8535 yaitu fasilitas counter dengan cara membuat project sederhana menggunakan aplikasi simulasi Proteus dan compiler mikrokontroler Bascom AVR.

Diproject ini kita akan mencoba untuk menghitung berapa banyak pulsa (pulse) yang masuk ke Mikrokontroler dengan memanfaatkan Timer/Counter1 yang memiliki regiter 16 bit artinya mempunyai panjang data 0 sampai 65535 data.

Belajar Counter pada Mikrokontroler Atmega

Pertama Kita buat rangkaian menggunakan Proteus dengan menambahkan komponen-komponen dibawah ini:

  • Mikrkontroler Atmega 8535
  • Generator Sinyal
Rangkaian simulasi mikrokontroler pada software proteus untuk belajar counter

Rangkaian simulasi mikrokontroler pada software proteus untuk belajar counter

Kita hubungkan pinB.1  Mikrokontroler Atmega 8535, pin ini memiliki fungsi khusus yaitu membaca counter dengan panjang register 16 bit kalau kita Cuma butuh counter dengan panjang data 8 bit, kita bisa menggunakan timer0 di pinB.0

Kita buat program menggunakan Bascom AVR:

$regfile = “m8535.dat”

$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0

Config Lcd = 16 * 2

Ddrb.1 = 0

Portb.1 = 1

Config Timer1 = Counter , Edge = Falling

Start Timer1

Cursor Off

Cls

Lcd “Jumlah Counter”

Do

Locate 2 , 1

Lcd Counter1

Loop

End

 Penjelasan Program

$regfile = “m8535.dat”

$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0

Config Lcd = 16 * 2

Program diatas merupakan deklarasi mikrokontroler apa yang digunakan, konfigurasi kristal osilator dan pin yang digunakan pada LCD

Ddrb.1 = 0

Portb.1 = 1

Config Timer1 = Counter , Edge = Falling

Start Timer1

Program diatas konfigurasi Timer1 berfugsi sebagai counter (note: Timer1 bisa difungsikan sebagai timer atau juga counter), Ddrb.0 mensetting konfigurasi PinB.1 sebagai input dan Portb.1=1 kondisi awal pin berlogika high (1) / pull up internal. Counter akan bekerja jika pin mikrokontroler mendeteksi logika low (edge = Falling)

Program diatas merupakan perintah utama, dimana secara berulang Mikrokontroler akan memerintahkan LCD untuk menampilkan nilai counter terakhir.

Compile program yang telah kita buat lalu, simulasi kan pada software proteus.

Simulasi pada proteus untuk melihat hasil program counter pada mikrokontroler

Simulasi pada proteus untuk melihat hasil program counter pada mikrokontroler atmega 8535

Demikianlah tulisan belajarlistrik.com mengenai aplikasi sederhana Counter pada Mikrokontroler Atmega, semoga bermanfaat.

admin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *