Mikro_komunikasi Serial Mikrokontroler Avr_kelompok B8.docx

  • Uploaded by: Saras
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Mikro_komunikasi Serial Mikrokontroler Avr_kelompok B8.docx as PDF for free.

More details

  • Words: 2,827
  • Pages: 19
LAPORAN PRAKTIKUM MIKROKONTROLER DAN PLC KOMUNIKASI SERIAL MIKROKONTROLER AVR

Disusun Oleh : 1. Fatima Ramadhanisa I 2. Pipit Dwi Rahayu

(021500432) (021500449)

ELEKTRONIKA INSTRUMENTASI Adi Abimanyu, M. Eng

SEKOLAH TINGGI TEKNOLOGI NUKLIR BADAN TENAGA NUKLIR NASIONAL YOGYAKARTA 2017

I.

TUJUAN PERCOBAAN 1. Mahasiswa dapat membuat simulasi komunikasi serial mikrokontroler AVR.

2. Mahasiswa dapat mengubah simulasi komunikasi serial mikrokontroler AVR 10 bit menjadi 8 bit. 3. Mahasiswa dapat menggunakan aplikasi Bascom AVR dengan simulasi penggunaan aplikasi Proteus. II.

DASAR TEORI Mikrokontroler Atmega 8535 Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik ditulis atau dihapus (Agus Bejo, 2007). Biasanya digunakan untuk pengontrolan otomatis dan manual pada perangkat elektronika. Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM internal, Timer/Counter, PWM, analog comparator, dll (M.Ary Heryanto, 2008). Sehingga

dengan

fasilitas

yang

lengkap

ini

memungkinkan

kita

belajar

mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan mikrokontroler ATmega8535. Komunikasi Serial Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu

tertentu. Pada dasarnya komunikasi serial adalah kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara simultan.Hal ini dapat disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128. Komunikasi serial ada dua macam, asynchronous serial dan synchronous serial. Synchronous serial adalah komunikasi dimana hanya ada satu pihak (pengirim atau penerima) yang menghasilkan clock dan mengirimkan clock tersebut bersamasama dengan data. Contoh pengunaan synchronous serial terdapat pada transmisi data keyboard. Asynchronous serial adalah komunikasi dimana kedua pihak (pengirim dan penerima)

masing-masing

menghasilkan

clock

namun

hanya

data

yang

ditransmisikan, tanpa clock. Agar data yang dikirim sama dengan data yang diterima, maka kedua frekuensi clock harus sama dan harus terdapat sinkronisasi. Setelah adanya sinkronisasi, pengirim akan mengirimkan datanya sesuai dengan frekuensi clock pengirim dan penerima akan membaca data sesuai dengan frekuensi clock penerima. Contoh penggunaan asynchronous serial adalah pada Universal Asynchronous Receiver Transmitter (UART) yang digunakan pada serial port (COM) komputer. Antarmuka Kanal serial lebih kompleks/sulit dibandingkan dengan antarmuka melalui kanal paralel, hal ini disebabkan karena: 1. Dari Segi perangkat keras: adanya proses konversi data pararel menjadi serial atau sebaliknya menggunakan piranti tambahan yang disebut UART (Universal Asynchronous Receiver/Transmitte) dan 2. Dari Segi perangkat lunak: lebih banyak register yang digunakan atau terlibat Namun di sisi lain antarmuka kanal serial menawarkan berapa kelebihan dibandingkan secara paralel, antara lain: 1. Kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan paralel; data-data dalam komunikasi serial dikirim-kan untuk logika ‘1’ sebagai tegangan -3 s/d -25 volt dan untuk logika ‘0’ sebagai tegangan +3 s/d +25 volt, dengan demikian tegangan dalam komunikasi serial memiliki ayunan tegangan maksimum 50 volt, sedangkan pada komunikasi paralel hanya 5 volt. Hal ini menyebabkan gangguan pada kabel-kabel panjang lebih mudah diatasi dibandingkan pada parallel.

2. Jumlah kabel serial lebih sedikit; Anda bisa menghubungkan dua perangkat komputer yang berjauhan dengan hanya 3 kabel untuk konfigurasi null modem, yaitu TXD (saluran kirim), RXD(saluran terima) dan Ground, bayangkan jika digunakan teknik paralel akan terdapat 20 – 25 kabel. Namun pada masing-masing komputer dengan komunikasi serial harus dibayar “biaya” antarmuka serial yang agak lebih mahal. 3. Banyaknya piranti saat ini (palmtop, organizer, hand-phone dan lainlain) menggunakan teknologi infra merah untuk komunikasi data, dalam hal ini pengiriman datanya dilakukan secara serial. IrDA-1 (spesifikasi infra merah pertama) mampu mengirimkan data dengan laju 115,2 kbps dan Konsep Komunikasi Serial 2 dibantu dengan piranti UART, hanya panjang pulsa berkurang menjadi 3/16 dari standar RS-232 untuk menghemat daya. 4. Untuk teknologi embedded system, banyak mikrokontroler yang dilengkapi dengan komunikasi serial (baik seri RISC maupun CISC) atau Serial Communication Interface (SCI); dengan adanya SCI yang terpadu pada 1C mikrokontroler akan mengurangi jumlah pin keluaran, sehingga hanya dibutuhkan 2 pin utama TxD dan RxD (di luar acuan ground). Bascom AVR Bahasa pemrograman basic terkenal didunia sebagai bahasa pemrograman yang handal. Sangat bertolak belakang dari namanya basic, bahasa ini sebenarnya bahasa yang memiliki kemampuan tingkat tinggi. Bahkan banyak para programer terkenal dunia memakai bahasa pemrograman ini sebagai senjata ampuhnya. Bahasa pemrograman basic banyak digunakan untuk aplikasi mikrokontroler karena kompatibel oleh mikrokontroler jenis AVR dan didukung dengan compiler pemrograman berupa software BASCOM AVR. Bahasa basic memiliki penulisan program yang mudah dimengerti walaupun untuk orang awam sekalipun, karena itu bahasa ini dinamakan bahasa basic. Jenis perintah programnya seperti do, loop, if, then, dan sebagainya masih banyak lagi. BASCOM AVR sendiri adalah salah satu tool untuk pengembangan / pembuatan program untuk kemudian ditanamkan dan dijalankan pada mikrokontroler terutama mikrokontroler keluarga AVR . BASCOM AVR juga bisa disebut sebagai IDE (Integrated Development Environment) yaitu lingkungan kerja yang terintegrasi,

karena disamping tugas utamanya meng-compile kode program menjadi file hex / bahasa mesin, BASCOM AVR juga memiliki kemampuan / fitur lain yang berguna sekali seperti monitoring komunikasi serial dan untuk menanamkan program yang sudah di compile ke mikrokontroler BASCOM AVR menyediakan pilihan yang dapat mensimulasikan program. Program simulasi ini bertujuan untuk menguji suatu aplikasi yang dibuat dengan pergerakan LED yang ada pada layar simulasi dan dapat juga langsung dilihat pada LCD, jika kita membuat aplikasi yang berhubungan dengan LCD. Intruksi yang dapat digunakan pada editor BASCOM AVR relatif cukup banyak dan tergantung dari tipe dan jenis AVR yang digunakan. Berikut ini adalah beberapa perintah intruksi-intruksi dasar yang digunakan pada BASCOM AVR. Tabel intruksi dasar bascom avr Intruksi DO....LOOP GOSUB IF....THEN FOR.....NEXT WAIT WAITMS WAITUS GOTO SELECT....CASE

Keterangan Perulangan Memaggil prosedur Percabangan Perulangan Waktu tanda detik Waktu tanda mili detik Waktu tanda micro detik Loncat ke alamat memori Percabangan

Kontruksi bahasa BASIC pada BASCOM AVR Setiap bahasa pemprograman mempunyai standar penulisan program. Konstruksi dari program bahasa BASIC harus mengikuti aturan sebagai berikut: $regfile = “header” ’inisialisasi ’deklarasi variabel ’deklarasi konstanta Do ’pernyataan-pernyataan Loop end Pengarah preprosesor

$regfile = “m16def.dat” merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini adalah file m16def.dat yang berisi deklarasi register dari mikrokonroller ATmega 16, pengarah preprosesor lainnya yang sering digunakan ialah sebagai berikut: $crystal = 12000000 ‘menggunakan crystal clock 12 MHz $baud = 9600

‘komunikasi serial dengan baudrate 9600

$eeprom

’menggunakan fasilitas eeprom

Tipe Data Tipe data merupakan bagian program yang paling penting karena sangat berpengaruh pada program. Pemilihan tipe data yang tepat maka operasi data menjadi lebih efisien dan efektif. Tabel Tipe Data pada BASCOM AVR No 1234

Tipe BitByteIntegerWord

Jangkauan 0 atau 10 –

5

Long

255-32,768

– Konstanta

6

Single

32,7670



7

Double

65535

merupakan

8

String

-2147483648 –

nilai

2147483647

data tertentu yang

1.5 x 10^–45 –

tidak dapat diubah-

3.4 x 10^38

ubah selama proses

5.0 x 10^–324

program

to 1.7 x 10^308

berlangsung.

>254 by

Konstanta

Konstanta dengan

suatu tipe

harus

didefinisikan terlebih dahulu diawal program. Contoh :

Kp = 35, Ki=15, Kd=40

Variabel Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program yang dapat diubah-ubah sesuai dengan kebutuhan. Nama dari variable terserah sesuai dengan yang diinginkan namun hal yang terpenting adalah setiap variabel diharuskan : Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf, max 32 karakter.

Tidak boleh mengandung spasi atau symbol-simbol khusus seperti : $, ?, %, #, !, &, *, (, ), -, +, = dan lain sebagainya kecuali underscore. Deklarasi Deklarasi sangat diperlukan bila akan menggunakan pengenal (identifier) dalam suatu program. Deklarasi Variabel Bentuk umum pendeklarasian suatu variable adalah Dim nama_variabel AS tipe_data Contoh : Dim x As Integer ‘deklarasi x bertipe integer Deklarasi Konstanta Dalam Bahasa Basic konstanta di deklarasikan langsung. Contohnya : S = “Hello world” ‘Assign string Deklarasi Fungsi Fungsi merupakan bagian yang terpisah dari program dan dapat dipanggil di manapun di dalam program. Fungsi dalam Bahasa Basic ada yang sudah disediakan sebagai fungsi pustaka seperti print, input data dan untuk menggunakannya tidak perlu dideklarasikan. Deklarasi buatan Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah : Sub Test ( byval variabel As type) Contohnya : Sub Pwm(byval Kiri As Integer , Byval Kanan As Integer) Operator Operator Penugasan Operator Penugasan (Assignment operator) dalam Bahasa Basic berupa “=”.

Operator Aritmatika *

: untuk perkalian

/

: untuk pembagian

+ : untuk pertambahan -

: untuk pengurangan

% : untuk sisa pembagian (modulus)

Operator Hubungan (Perbandingan) Operator hubungan digunakan untuk membandingkan hubungan dua buah operand atau sebuah nilai / variable, misalnya : =

’Equality X = Y

<

’Less than X < Y

>

’Greater than X > Y

<=

’Less than or equal to X <= Y

>=

’Greater than or equal to X >= Y

Operator Logika Operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan. Operator logika ada empat macam, yaitu : NOT ‘Logical complement AND ‘Conjunction OR

‘Disjunction

XOR ‘Exclusive or Operator Bitwise Operator bitwise digunakan untuk memanipulasi bit dari data yang ada di memori. Operator bitwise dalam Bahasa Basic : Shift A, Left, 2

: Pergeseran bit ke kiri

Shift A, Right, 2 : Pergeseran bit ke kanan Rotate A, Left, 2 : Putar bit ke kiri Rotate A, right, 2 : Putar bit ke kanan Pernyataan Kondisional (IF-THEN – END IF) Pernyataan ini digunakan untuk melakukan pengambilan keputusan terhadap dua buah bahkan lebih kemungkinan untuk melakukan suatu blok pernyataan atau tidak. Konstruksi penulisan pernyatan IF-THEN-ELSE-END IF pada bahasa BASIC ialah sebagai berikut: IF pernyataan kondisi 1 THEN ‘blok pernyataan 1 yang dikerjakan bila kondisi 1 terpenuhi IF pernyataan kondisi 2 THEN ‘blok pernyataan 2 yang dikerjakan bila kondisi 2 terpenuhi IF pernyataan kondisi 3 THEN

‘blok pernyataan 3 yang dikerjakan bila kondisi 3 terpenuhi Setiap penggunaan pernyataan IF-THEN harus diakhiri dengan perintah END IF sebagai akhir dari pernyatan kondisional.

Gambar 1 Diagram alir Pernyataan Kondisional (IF-THEN – END IF) Pernyataan Kondisional (SELECT-CASE-END SELECT) Pernyataan ini digunakan untuk melakukan pengambilan keputusan terhadap banyak kondisi. Konstruksi penulisan pernyatan SELECT-CASE-END SELECT pada bahasa BASIC ialah sebagai berikut: SELECT CASE var CASE ‘kondisi1 : ‘blok perintah1 CASE ‘kondisi2 : ‘blok perintah2 CASE ‘kondisi3 : ‘blok perintah3 CASE ‘kondisi4 : ‘blok perintah4 CASE ‘kondisi5 : ‘blok perintah5 CASE ‘kondisi’n’ : ‘blok perintah’n’ END SELECT ‘akhir dari pernyatan SELECT CASE III.

PERALATAN YANG DIGUNAKAN 1. Aplikasi Proteus Designer 8 2. Aplikasi Bascom

IV.

LANGKAH PERCOBAAN

1. Membuka aplikasi Bascom AVR dan akan muncul seperti gambar dibawah ini, pilih File -> New

2. Akan muncul gambar seperti dibawah ini, kemudian di save dengan nama yang diinginkan

3. Isikan kolom tersebut dengan menggunakan script 8 bit seperti dibawah ini

4. Compile program tersebut dengan menggunakan ikon seperti gambar dibawah ini

Atau bisa juga dengan cara klik Program pilih Compile

5. Setelah di compile akan terdapat informasi “No Errors Found” berada pada posisi bawah program tersebut seperti gambar dibawah ini Itu berarti tidak ditemukannya kesalahan pada program tersebut 6. Langkah berikutnya yaitu membuka aplikasi proteus designer 8 dengan judul “Serial Interupsi Baca ADC” yang telah disediakan seperti gambar dibawah ini

7. Setelah muncul seperti gambar diatas, maka selanjutnya klik 2 kali pada IC ATMEGA 8535 dan akan tertampil kotak dialog seperti dibawah ini

8. Mengisikan program file dengan data program yang ada di bascom avr yang telah di compile sebelumnya, cari file tersebut di browse dengan type Intel Hex File, pilih open dan kemudian klik OK

9. Program siap dijalankan atau dirunning dengan klik run seperti gambar dibawah ini

10. Kemudian akan muncul hasil seperti gambar dibawah ini

V.

HASIL DAN PEMBAHASAN Pada percobaan kali ini ialah mengenai komunikasi serial mikrokontroler AVR 8 bit, yang dimana pada percobaan kali ini menggunakan listing program sebagai berikut: Pada saat $regfile = “m8535.dat” ialah berarti Atmega 8535 sebagai IC yang dikonfigurasi; $crystal = 11059200 berfungsi sebagai pengatur frekuensi crystal atau F clock yang dimana memakai 12 MHZ (11,059200 Hz) ; $baud= 9600 untuk mengkofigurasi paritas dan kecepatan transmisi (baud rate) yaitu 9600 bps ; Enable Interrupts ialah mengaktifkan semua interupsi; Enable Urxc hanya mengaktifkan register Urxc; on Urxc baca_adc ialah dimana jika ada interupsi urxc akan aktif dengan variable “baca_adc” ; Config Adc = single atau hanya ada start atau stop, Prescaler = auto diatur secara otomatis, Reference = internal yaitu tegangan reference sesuai dengan referencenya sebesar 5 volt ; Config PortC = output yaitu menginisialisasi PORT C sebagai keluaran; led alias portc yaitu bermaksud led yang terpasang di port c sebagai hasil dari keluaran port c ; Dim Hv As Byte yang berarti inisialisai variable pada HV dengan tipe data byte (data 8 bit), K As Byte yaitu variable K dengan tipe data byte (data 8 bit), Msg As String * 1 yaitu variable MSG dengan tipe data string yaitu karakter atau kalimat ; Do nop loop ialah berarti tidak adanya operasi pada listing program looping (pengulangan) ; baca_adc : K = Waitkey (1) yaitu untuk menganalisa konstanta “baca_adc” dan variable K yaitu waitkey yang berarti program tidak akan jalan keselanjutnya jika data serial belum masuk atau variable K akan menunggu saat data masuk ; Msg = Msg + chr(k) yaitu agar

menerima pesan dari ASC II yang dikonfersi karakter (string) ; if Msg = A yaitu ketika ada masukan data dengan megetik A, Maka akan memulai konversi ADC dengan input pada port A (ADC0), sehingga akan muncul keluaran pada PORT C berupa 8 LED yang menyala, serta akan tertampil teks “HV= 255” pada terminal yang menandakan masukan data sebesar 8 bit ; Setelah tombol “A” dilepas maka mikrokontroler tidak memiliki data masukan dan akan kembali ke inisialisasi konstanta baca_adc. Sehingga dari program diatas dapat dibuat flowchart program sebagai berikut: START

ISR (Interrupt Servic Rontine)

If Msg “A” then Ya

Tidak Return

Start ADC HV = Getadc (0) Led = Hv

Flowchart ADC serial 8 bit Pada percobaan praktikan memasukan program seperti yang dijelaskan pada listing program diatas, pada aplikasi Boscom seperti tampilan berikut:

Setelah diprogram pada aplikasi Boscom lalu dicompile sampai tidak ada error pada program, lalu program di save. Selanjutnya dibuka aplikasi proteus untuk tampilan simulator pada gambar dibawah ini, berfungsi sebagai menjalankan program sebelumnya pada boscom dengan cara mengklik IC pada simulator dan memasukan file program yang sudah disave.

Selanjutnya program akan dirun/ dijalankan, dapat dianalisa dari keluaran pada simulator proteus bahwa ketika potensio diatur 0% maka LED akan mati, dikarenakan tidak adanya masukan tegangan seperti yang tertampil pada simulator DC Voltmeter yaitu 0 volt. Dan HV yang tertampil ialah 0. Dapat dilihat pada gambar berikut:

Sedangkan LED akan menyala ketika potensio diberi masukan, Pada saat itu potensio diberikan masukan sebesar 100% dan DC voltmeter sebesar 5 volt. Seperti halnya yang sudah diatur pada program boscom yaitu Dim Hv As Byte yang berarti inisialisai variable pada HV dengan tipe data byte (data 8 bit) sehingga keluaran HV yang tertampil ialah 8 bit atau HV= 255.

Nilai HV yang tertampil hanya dapat maximal 255 dikarenakan pada program diatur Dim Hv As Byte seperti yang dijelaskan diatas. Ketika praktikkan mencoba memasukan nilai potensio sebesar 51% HV yang terbaca ialah 252 seperti gambar berikut

Tetapi ketika praktikan menaikan potensio menjadi 52% sampai 100% nilai HV yang terbaca ialah hanya sampai 255, seperti pada gambar berikut:

Hal tersebut karena disebabkan pada program praktikan mengatur reference = internal yang digunakan untuk menentukan tegangan referensi dari ADC. Yang dimana REFS1 1 dan REFS0 1 berarti tegangan referensi internal 2,56 volt dengan pin AREF diberi kapasitor. Sehingga ketika potensio dinaikan menjadi 52% nilai pada tegangan DC Voltmeter menjadi 2,60 volt maka sudah melebihi dari tegangan referensi internal, yang menyebabkan nilai DC voltmeter ketika bertambah sampai 5 volt hanya akan menampilkan HV= 255. VI.

KESIMPULAN Dari percobaan yang telah dilakukan dapat dibuat kesimpulan sebagai berikut : 1. Mahasiswa berhasil membuat simulasi komunikasi serial mikrokontroler AVR dan mengubah 10 bit menjadi 8 bit menggunakan aplikasi Bascom AVR dan Proteus. 2. Pengaturan besarnya prosentase pada potensiometer berpengaruh pada besarnya nilai HV yang tertampil. 3. Pada nilai potensiometer menunjukkan 0%-50% menunjukkan kenaikan HV linear, ketika 52% nilai HV stabil yaitu 255.

VII.

DAFTAR PUSTAKA Bejo, Agus. 2008. C&AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler ATMega8535. Yogyakarta : GRAHA ILMU http://dheni-yulistianto.blogspot.co.id/2013/07/pengertian-bascom-avr.html

diakses

pada tanggal 10 November 2017 http://arifzakariya.blog.ugm.ac.id/2012/01/09/komunikasi-serial-mikrokontroler/ diakses pada tanggal 10 November 2017

Related Documents

Mikrokontroler
December 2019 61
Mikrokontroler
May 2020 27
Serial
November 2019 36
Serial
November 2019 41
Serial
June 2020 16

More Documents from ""