Top Banner

of 42

Job sheet microcontroller

Jan 07, 2016

Download

Documents

job sheet yang digunakan untuk praktikum mikro kontroller pada jurusan elektro
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Format usulan Penelitian Dana DIPA 2007

KEMENTERIAN PENDIDIKAN NASIONAL

POLITEKNIK NEGERI PADANG

JURUSAN TEKNIK ELEKTRO

PENJAMINAN MUTUNo. DokumenFOR/BAK-AKD-TE/005.011

MODUL PRAKTIKUM MIKROPROSESOR & ANTARMUKAEdisi01

Revisi0

Berlaku Efektif27 Oktober 2008

Halaman41 dari 42 Halaman

MODUL 1Pengoperasian Modul DT Combo AVR-51 Starter Kit dan Basic Input/Output (Pertemuan ke-1, ke-2 dan ke-3)

I. KOMPETENSI UTAMASetelah menyelesaikan praktikum ini diharapkan :1. Mahasiswa mampu menggunakan modul DT COMBO AVR-51 Starter Kit 2. Mahasiswa mampu memahami fungsi pin I/O pada mikrokontroler AVR sebagai input dan output.3. Mahasiswa mampu mengkonfigurasi pin I/O AVR sebagai input dan output.4. Mahasiswa mampu membuat program yang menggunakan pin I/O AVR secara per bit dan per byte

II. KOMPETENSI PENUNJANGSetelah menyelesaikan praktikum ini diharapkan:1. Mahasiswa mampu membuat aplikasi sederhana menggunakan fungsi pin I/O.

III. TEORI PENUNJANG PRAKTIKUMDT Combo AVR-51 Starter Kit adalah merupakan modul pengembangan yang menunjang dua keluarga mikrokontroler yaitu keluarga MCS51 dan AVR. Beberapa fiturnya adalah:1. Dapat digunakan untuk mikrokontroler AVR 20 pin DIP dan 40 pin DIP dengan atau tanpa ADC internal.2. LCD karakter 8 kolom x 2 baris dengan LCD controller kompatibel HD44780 konektor LCD terdapat dua header 7x2 bertuliskan PORT LCD.3. Delapan buah LED SMD yang menyala bila diberi logika 0. LED ini dapat diakses melalui header 5 x 2 bertuliskan O/P LED dan juga SIP machine J26 pin3 pin10.4. Delapan buah saklar push-button yang akan menghasilkan logika 0 jika ditekan. Output dari saklar ini terdapat pada header 5 x 2 yang bertuliskan I/P Switch dan juga SIP machine J26 pin 13 pin 20.5. Dua jalur komunikasi serial RS232.6. Port A, PORT B, PORT C dan PORT D dari mikrokontroler AVR dapat diakses melalui header 5 x 2 bertuliskan P0/PA, P1/PB, P2/PC dan P3/PD, serta juga melalui SIP machine 20-pin J15 dan J18.7. Project Board dengan 390 titik sambungan.8. Header 5 x 2 bertuliskan AVR ISP Header digunakan untuk pemrograman mikrokontroler AVR dengan peralatan AVR In System Programmer seperti DT-HiQ AVR In System Programmer.9. Membutuhkan catu daya 9 12 Volt DC.10. Saklar untuk memutus atau menyambung catu daya rangkaian.

Modul ini seperti terlihat pada Gambar 1.1 dibawah ini.

Gambar 1.1 Modul mikrokontroler DT Combo AVR-51 Starter KitDT Combo AVR-51 Starter Kit ini juga dilengkapi dengan 4 macam kabel penghubung yaitu:1. Dua buah kabel flat ribbon 10 konduktor dengan amphenol 5 x 2 pada kedua ujungnya. Kabel ini digunakan untuk menghubungkan 2 buah Port I/O atau Port I/O ke saklar push button/LED melalui header 5 x 2.2. Satu buah kabel flat ribbon 10 konduktor dengan black housing 5 x 2 pada kedua ujungnya. Kabel ini dapat digunakan untuk menghubungkan Port I/O ke Port data LCD.3. Tiga buah kabel tunggal dengan black housing pada kedua ujungnya, Kabel ini dapat digunakan untuk menghubungkan pin Port I/O ke pin. Port control LCD.4. Satu buah kabel serial yang digunakan untuk jalur komunikasi serial dengan computerModul ini mendukung pemrograman secara ISP dengan menggunakan Dt-HiQ AVR in System Programmer atau ISP programmer lain denga konektor 10 pin yang kompatibel dengan standar Atmel. Untuk perangkat lunak dapat menggunakan CodeVision AVR C Compiler, dimana sudah dibuat sedemikian rupa sehingga memudahkan user membuat program dalam menyelesaikan setiap permasalahan yang ada.Pin I/O pada mikrokontroler AVR dapat dikonfigurasi sebagai input dan output. Untuk mengubah konfigurasi pin I/O sebagai input atau output bisa dilakukan dengan mengubah isi I/O register Data Direction Register Port yang bersangkutan. Misalnya Port B dikonfigurasi sebagai input, maka isi I/O register DDRB = 00H, sebaliknya jika dikonfigurasi sebagai output, maka isi I/O register DDRB=FFH.VOH (output high Voltage) adalah tegangan pada pin I/O mikrokontroler ketika mikrokontroler mengeluarkan logika 1 (high). Untuk mikrokontroler ATMEGA8535, besar VOH minimum 4,2 volt. (Vcc) 5 Volt. Arus yang disediakan pada saat pin I/O mikrokontroler berlogika 1 sebesar 20 mA (IOH). Sebaliknya tegangan pada pin I/O mikrokontroler ketika mengeluarkan logika 0disebut VOL (Output low voltage). Untuk mikrokontroler ATMEGA8535, besar VOL maksimum = 0.7 Volt dengan kondisi tegangan mikrokontroler (Vcc) 5 Volt. Kemampuan menerima arus pada saat pin I/O mikrokontroler berlogika 0 sebesar 20 mA. Setiap pin I/O mikrokontroler AVR mempunyai internal pull-up. Jika pin I/O mikrokontroler AVR di konfigurasi sebagai input, internal pull-up dapat dipilih untuk diaktifkan atau tidak diaktifkan. Jika dikonfigurasi sebagai output maka internal pull-up tidak dapat diaktifkan. Misalnya PORTB dikonfigurasi sebagai input dengan internal pull-up diaktifkan maka isi register DDRB = 00H dan PORTB=FFH, sebaliknya jika tidak ingin mengaktifkan internal pull-up, maka register DDRB = 00H dan PORTB = 00H.

IV. ALAT DAN BAHAN1. 1 Set PC2. 1 Set Modul Mikrokontroler DT-Combo AVR-513. 1 Set Modul DT HIQ AVR in System Programmer 4. Power Supply 12 V DC.

V. LANGKAH-LANGKAH PERCOBAAN1. Siapkanlah semua peralatan yang akan digunakan di atas meja praktek2. Jalankanlah Program Code Vision AVR 3. Hubungkanlah header PORT yang akan digunakan dengan dengan header LED. 4. Buatlah program pada editor Code Vision untuk menyalakan 8 buah LED menyala dan padam secara bergantian selama 0,5 detik pada Port B.5. Setelah proses compiler dilakukan , unduhkanlah file yang sudah di compile tersebut ke flash memori mikrokontroler AVR.6. Amatilah indikator output berupa led-led, apakah led-led tersebut sudah menyala sesuai yang diinginkan. Jika tidak, periksalah kembali program yang sudah dibuat tersebut apakah algoritmanya sudah betul.7. Hubungkanlah header Port A dengan header tactile switch.8. Buatlah program untuk membuat led berjalan dari kiri ke kanan sebanyak 7 kali geser, jika Switch yang terhubung ke PORTA.0 ditekan dan membuat led berjalan dari kanan ke kiri juga sebanyak 7 kali jika switch yang terhubung dengan PORTA.1 ditekan. 9. Ulangilah langkah ke-5 dan ke-6 untuk kasus yang kedua ini.

VI. HASIL PERCOBAANHasil percobaan dibuat dalam bentuk flowchart dan list program untuk permasalahan yang diberikan.

VII. PERTANYAAN1. Register apa yang perlu diatur ketika ingin mengkonfigurasi port-port pada mikrokontroler AVR sebagai input atau output ?2. Bagaimana cara mengaktifkan internal pull-up pada mikrokontroler AVR?

MODUL 2SCANNING 7 SEGMENT(Pertemuan ke-4, ke-5 dan ke-6)

I. KOMPETENSI UTAMASetelah menyelesaikan praktikum ini diharapkan mahasiswa:1. Mampu memahami teknik scanning untuk menghemat penggunaan pin I/O AVR.2. Mampu membuat program untuk menyalakan 7 segment dan dapat menampilkan suatu angka pada 7 segment menggunakan pin I/O AVR.

II. KOMPETENSI PENUNJANGSetelah menyelesaikan praktikum ini diharapkan:1. Mahasiswa mampu membuat aplikasi sederhana menggunakan 7 segment

III. TEORI PENUNJANG PRAKTIKUMTeknik scanning digunakan untuk menghemat penggunaan pin I/O mikrokontroler. Pada prinsipnya teknik scanning adalah teknik bergantian. Misalkan kita menggunakan teknik scanning untuk menampilkan angka 8 angka 7 segment, maka pada satu saat hanya ada satu 7 segment yang menyala sedangkan yang lain padam. Nyala 7 segment dibuat bergantian sehingga jalur data dapat digunakan secara bersamaan oleh kedelapan 7 segment tersebut. Proses pergantian ini dilakukan dengan sangat cepat sehingga mata manusia melihat seolah-olah kedelapan 7 segment tersebut menyala secara bersamaan. Secara program, teknik scanning ini dilakukan dengan cara polling ataupun secara pewaktu. Cara polling dilakukan dengan menjalankan suatu program scanning secara terus menerus dimana program scanning biasanya diletakkan di program utama. Jika pada program utama terdapat program lain yang membutuhkan waktu pengerjaan yang lama, maka program untuk scanning akan terganggu. Berbeda dengan cara polling, cara pewaktu lebih efektif dan efisien sebab mikrokontroler dapat mengerjakan program lain tanpa mengganggu proses scanning. Dengan menggunakan fitur interrupt, program scanning yang diletakkan dalam interrupt service rutin timer akan diproses saat timer mengalami overflow. Setelah program scanning selesai, mikrokontroler kembali ke program yang diinterupsi oleh timer. Timer mikrokontroler mengalami overflow pada saat register timer mencapai nilai maksimum dan kembali ke nilai awal ( biasanya ke nilai 00H).Seven segment merupakan LED yang disusun sedemikan rupa sehingga penyalaan LED tertentu pada seven segment dapat menampilkan angka 0 sampai 9 maupun huruf (terbatas , biasanya A sampai F). Tipe 7 segment ada dua macam yaitu common anoda dan common katoda. Gambar 2.1 dibawah menunjukkan sebuah seven segment common anoda dan common katoda. Untuk common katoda susunan LED terbalik (arah panah LED keatas).

Gambar 2.1 Seven segment commom anoda dan katoda yang tersusun dari beberapa buah LED

Untuk menyalakan segment (a, b, c, d, e, f, g atau dot) pada 7 segment dencan cara memberikan tegangan yang akan menyebabkan akan ada selisih tegangan yang positif antara kaki anoda dengan kaki katoda.

IV. ALAT DAN BAHAN1. 1 Set PC2. 1 Set Modul Mikrokontroler DT-Combo AVR-513. 1 Set Modul DT HIQ AVR in System Programmer4. 8 buah Resistor 330 ohm 5. 2 buah Resistor 1 kohm6. 2 buah Transistor jenis PNP 2N39067. 2 buah seven segment common anoda 8. Power Supply 12 V DC.

V. GAMBAR PERCOBAAN

Gambar Percobaan 2.2

Gambar Percobaan 2.3

V. LANGKAH-LANGKAH PERCOBAAN1. Siapkanlah semua peralatan yang akan digunakan di atas meja praktek2. Jalankanlah Program Code Vision AVR 3. Buatlah rangkaian seperti pada Gambar Percobaan 2.2 serta hubungkanlah Port-Port yang akan digunakan. 4. Buatlah program pada editor Code Vision untuk menampilkan angka 1 sampai 9 secara bergantian pada seven segment dengan waktu tunda 500 ms5. Setelah proses compiler dilakukan , unduhkanlah file yang sudah di compile tersebut ke flash memori mikrokontroler AVR.7. Buatlah rangkaian seperti pada Gambar Percobaan 2.3 serta hubungkanlah Port-Port yang akan digunakan. 8. Buatlah program pada editor Code Vision untuk menampilkan angka 01 sampai 99, dimana proses penampilan angka-angka tersebut dengan mengggunakan sistem scanning. 9. Ulangilah langkah seperti langkah ke-5 diatas

VI. HASIL PERCOBAANHasil percobaan dibuat dalam bentuk flowchart dan list program untuk permasalahan yang diberikan.

VII. PERTANYAAN1. Jika kita ingin menggunakan seven segment common anoda, pin common harus kita hubungkan kemana?2. Buatlah tabel mengenai data yang kita umpankan pada kaki a, b, c, d, e, f dan g, ketika kita akan menampilkan angka-angka pada seven segment common anoda!

MODUL 3SCANNING KEYPAD(Pertemuan ke-7 dan ke-8)

I. KOMPETENSI UTAMASetelah menyelesaikan praktikum ini diharapkan mahasiswa:1. Mampu memahami teknik scanning pada pembacaan data pada keypad2. Mampu membuat program untuk pembacaan data pada keypad dan menampilkan tombol keypad yang ditekan tersebut pada 7 segment.

II. KOMPETENSI PENUNJANGSetelah menyelesaikan praktikum ini diharapkan:1. Mahasiswa mampu membuat aplikasi sederhana menggunakan keypad dan menampilkan datanya pada 7 segment

III. TEORI PENUNJANG PRAKTIKUMKeypad adalah susunan saklar push-button menurut baris dan kolom. Bentuk susunan keypad bisa dilihat pada Gambar 3.1 dibawah ini.

Keterangan:B1 terhubung ke PD0K1 terhubung ke PD4B2 terhubung ke PD1K2 terhubung ke PD5B3 terhubung ke PD2K3 terhubung ke PD6B4 terhubung ke PD3K4 terhubung ke PD7

Gambar 3.1 Rangkaian Scanning Keypad

Berdasarkan Gambar 3.1 diatas kita akan memahami bagaimana mengetahui saklar mana yang ditekan pada keypad. Untuk itu kita harus menghubungkan masing-masing baris dan kolom pada Port-Port mikrokontroler seperti yang juga terlihat pada Gambar 3.1 diatas. Untuk mengetahui saklar mana yang ditekan adalah dengan memeriksa baris dan kolom. Misalkan tombol 8 maka baris 3 (PD2) terhubung singkat dengan kolom 2 (PD5). Agar mikrokontroler mengetahui baris dan kolom mana yang terhubung, maka sebagian Port digunakan sebagai output dan sebagian lain digunakan sebagai input. Sebagai contoh pada Gambar 3.1 diatas, PD4-PD7 difungsikan sebagai output dan PD0-PD3 difungsikan sebagi input. Internal pull-up diaktifkan untuk pada port yang difungsikan sebagai input, memastikan bila tidak ada tombol ditekan, mikrokontroler akan membaca logika 1.Scanning dilakukan pada Port sebagai output (dalam contoh ini scanning kolom) dengan langkah-langkah sebagai berikut:1. Scanning keypad yaitu mengirimkan logika 0 pada kolom 1 (PD4=0) dan pada kolom lainnya berlogika 1. Setelah itu mikrokontroler akan mebaca input, jika semua input (PD0 sampai PD3) berlogika 1, maka tidak ada tombol yang ditekan. 2. Mengirimkan logika 0 untuk kolom berikutnya (kolom 2 atau PD5=0) dan kolom lainnya berlogika 1. Setelah itu mikrokontroler akan membaca kembali input. Jika semua input berlogika 1, maka tidak ada tombol yang ditekan, tetapi jika ada salah satu yang berlogika 0 seperi contoh PD2=0, berarti tombol 8 yang ditekan. 3. Begitulah seterusnya untuk kolom 3 dan kolom 4, Jika tida ada tombol yang ditekan maka proses scanning kembali ke kolom 1. IV. ALAT DAN BAHAN1. 1 Set PC2. 1 Set Modul Mikrokontroler DT-Combo AVR-513. 1 Set Modul DT HIQ AVR in System Programmer4. 8 buah Resistor 330 ohm 5. 2 buah Resistor 1 kohm6. 2 buah Transistor jenis PNP 2N39067. 2 buah seven segment common anoda8. 1 buah keypad 4 x 4 9. Power Supply 12 V DC.

V. GAMBAR PERCOBAAN

Gambar Percobaan 3.2

Gambar Percobaan 3.3

V. LANGKAH-LANGKAH PERCOBAAN1. Siapkanlah semua peralatan yang akan digunakan di atas meja praktek2. Jalankanlah Program Code Vision AVR 3. Buatlah rangkaian seperti pada Gambar Percobaan 3.2 serta hubungkanlah Port-Port yang akan digunakan. 4. Buatlah program pada editor Code Vision untuk menampilkan data biner pada LED sesuai dengan penekanan tombol yang dilakukan5. Setelah proses compiler dilakukan , unduhkanlah file yang sudah di compile tersebut ke flash memori mikrokontroler AVR.7. Buatlah rangkaian seperti pada Gambar Percobaan 3.3 serta hubungkanlah Port-Port yang akan digunakan. 8. Buatlah program pada editor Code Vision untuk menampilkan angka dan huruf pada seven segment sesuai dengan penekanan tombol yang dilakukan. 9. Ulangilah langkah seperti langkah ke-5 diatas

VI. HASIL PERCOBAANHasil percobaan dibuat dalam bentuk flowchart dan list program untuk permasalahan yang diberikan.

VII. PERTANYAAN1. Jika kita ingin membaca data penekanan tombol pada keypad, maka Port-Port mikrontroler yang terhubung dengan baris dan kolom keypad harus difungsikan sebagai apa?2. Mengapa internal pull-up perlu diaktifkan ketika Port-Port yang digunakan berfungsi sebagai input?

MODUL 4MENAMPILKAN DATA PADA LCD(Pertemuan ke-10, ke-11 dan ke-12)

I. KOMPETENSI UTAMASetelah menyelesaikan praktikum ini diharapkan mahasiswa:1. Memahami cara menghubungkan LCD dengan modul I/O AVR2. Mampu membuat program untuk menampilkan suatu karakter pada LCD (Liquid Crystal Display) melalui pin I/O AVR

II. KOMPETENSI PENUNJANGSetelah menyelesaikan praktikum ini diharapkan:1. Mahasiswa mampu membuat aplikasi sederhana di mana penampilan datanya menggunakan LCD.

III. TEORI PENUNJANG PRAKTIKUMModul LCD mempunyai controller untuk menampilkan karakter (huruf, angka dan simbol) pada display. Modul LCD yang digunakan pada praktek berukuran 8 karakter x 2 baris dengan controller HDD44780. Modul LCD membutuhkan inisialisasi terlebih dahulu sebelum digunakan. Inisialisasi LCD digunakan untuk antarmuka 4 bit atau 8 bit, jumlah baris display (1 atau 2 baris), ukuran karakter 5 x 7 dits atau 5 x 10 dots, display on atau off, mode set dan seterusnya. Keterangan lebih lengkap dapat dilihat pada datasheet LCD. Karakter yang ditampilkan ke display disimpan di memori DDRAM (display Data RAM) . Tabel 4.1 merupakan alamat DDRRAM pada layar LCD.

Tabel 4.1 Lokasi karakter yang ditampilkan sesuai alamat DDRAMLokasi Karakter12345678

Alamat DDRAM0001020304050607Baris 1

Alamat DDRAM4041424344454647Baris 2

Misalnya alamat DDRAM 00H berisi data 49H maka display baris 1 kolom 1 akan tampil huruf 'I' ( data 49H adalah kode ASCII dari I). Proses menampilkannya iaitu controller LCD mengambil data pada DDRAM 00H (berisi 49H). Data 49H digunakan sebagai alamat untuk mengambil data display LCD pada memori CGROM (Character Generator ROM Pattern) atau CGRAM (character Generator RAM), kemudian data yang diambil tersebut ditampilkan ke display.Controller LCD mempunyai dua 8 bit register iaitu Instruction Register (IR) dan Data Register (DR). IR digunakan untuk menyimpan kode instruksi (seperti : display clear, display on/off, cursor shift dan sebagainya) dan informasi alamat untuk DDRAM atau CGRAM. Register ini hanya dapat ditulis oleh mikrokontroler. Data register digunakan untuk menulis data atau membaca data dari DDRAM dan CGRAM. Skematik untuk LCD dapat dilihat pada Gambar 4.1 . Pada DT Combo AVR-51 Starter Kit sudah terdapat konektor header LCD CONN 8 x 2 (pin 15 dan 16 tidak dipakai jika LCD tidak mempunyai backlight) untuk dihubungkan ke display LCD.

Gambar 4.1 Hubungan display LCD dengan Header LCD CONN

Pada Gambar 4.1 di atas, pin 7 sampai 14 pada LCD (DB0 sampai DB7) merupakan jalur untuk menerima data dari mikrokontroler atau mengirimkan data ke mikrokontroler. Untuk nmenerima data dari mikrokontroler , pin 5 pada LCD (R/W) harus diberi logika 0, sebaliknya untuk mengirimkan data ke mikrokontroler harus diberi logika 1. Setiap kali menerima atau mengirim data diperlukan sinyal dari mikrokontroler untuk mengaktifkan LCD yaitu pin 6 (E, chip enable signal). Sinyal yang dimaksud adalah perpindahan dari logika 1 ke logika 0. Pin 5 (RS, Register Selector) digunakan untuk memilih instruction register (IR) atau data register (DR). kondisi logika untuk RS dan R/W dilihat pada tabel 4.2 dibawah ini.

Tabel 4.2 Hubungan LCD dengan Pin Mikrokontroler AVRRSR/WOperasi

00Register IR melakukan operasi internal (display clear, display on/off dan sebagainya.

01Membaca busy flag (DB7) dan alamat DDRAM/CGRAM (DB6 sampai DB0)

10Menulis data DDRAM atau CGRAM (register DR ke DDRAM atau CGRAM)

11Membaca data dari DDRAM atau CGRAM (DDRAM atau CGRAM ke register DR

IV. ALAT DAN BAHAN1. 1 Set PC2. 1 Set Modul Mikrokontroler DT-Combo AVR-513. 1 Set Modul DT HIQ AVR in System Programmer4. 1 buah keypad 4 x 4 5. Power Supply 12 V DC.

V. GAMBAR PERCOBAAN

Gambar Percobaan 4.2

V. LANGKAH-LANGKAH PERCOBAAN1. Siapkanlah semua peralatan yang akan digunakan di atas meja praktek2. Jalankanlah Program Code Vision AVR 3. Hubungkanlah header LCD dengan header pada Port A mikrokontroler AVR -514. Buatlah program pada editor Code Vision untuk menampilkan data Selamat pada LCD .5. Setelah proses compiler dilakukan , unduhkanlah file yang sudah di compile tersebut ke flash memori mikrokontroler AVR. 6. Buatlah program pada editor Code Vision untuk menampilkan angka dan huruf pada LCD sesuai dengan penekanan tombol keypad. 7. Ulangilah langkah seperti langkah ke-5 diatas

VI. HASIL PERCOBAANHasil percobaan dibuat dalam bentuk flowchart dan list program untuk permasalahan yang diberikan.

VII. PERTANYAAN1. Mengapa proses inisialisasi LCD perlu kita lakukan terlebih dahulu sebelum menggunakan LCD?2. Bagaimana proses penampilan data pada LCD?

MODUL 5USART(Pertemuan ke-13, ke-14 dan ke-15)

I. KOMPETENSI UTAMASetelah menyelesaikan praktikum ini diharapkan :1. Mahasiswa mampu memahami cara melakukan inisialisasi pada komunikasi serial USART mikrokontroler AVR.2. Mahasiswa mampu membuat program untuk mengirimkan suatu karakter dari mikrokontroler AVR ke komputer.3. Mahasiswa mampu membuat program untuk mencrima suatu karakter dari komputer.

II. KOMPETENSI PENUNJANGSetelah menyelesaikan praktikum ini diharapkan: 1. Mahasiswa mampu membuat aplikasi sederhana dalam komunikasi serial.

III. TEORI PENUNJANG PRAKTIKUMMikrokontroler ATMEGA8535 mempunyai pin I/O (pin PDO dan PD] serta pin PBO) untuk komunikasi serial USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter). Komunikasi serial pada mikrokontroler ini mendukung komunikasi full duplex (komunikasi dua arah, pada waktu yang bcrsamaan dapat mengirim dan menerima karakter), operasi asynchronous dan synchronous, frame serial dengan 5, 6, 7, 8, atau 9 data bit dan I atau 2 stop hit, dan fitur-fitur yang lain. Keterangan lebih lengkap terdapat pada datasheet ATMEGA8535 pada bagian USART.Komunikasi serial USART mempunyai format frame dalam pengiriman atau penerimaan data. Format frame untuk pengiriman data komunikasi serial USART terdapat pada gambar 5.1.

Gambar 5.1 Format frame serial

Keterangan: St: Start bit. Sinyal start hit (selalu berlogika `0') digunakan untuk memulai komunikasi serial USART. [n]: data bits (0 sampai 8). Setelah sinyal start, dikirimkan data secara hitper-bit mulai dari LSB (Least Significant Bit) data bit sampai MSB (Most Significant Bit) data bit. P: Parity bit (dapat parity ganjil atau genap). Parity hit dapat digunakan untuk mengetahui bahwa data yang dikirimkan henar/salah. Sp: Stop bit (selalu berlogika `1'). IDLE: Tidak ada pengiriman data pada saluran komunikasi (TXD atau RXD). Logika untuk IDLE harus `1'.Frame dimulai dengan mengirimkan start bit diikuti dengan data bit pertama (LSB) sampai data bit terakhir (MSB). Jika parity bit diaktifkan (enable), parity hit akan dikirimkan setelah data bit terakhir sebagai penutup komunikasi. Pada gambar 5.2 ditunjukkan contoh pengiriman data 41H (0100 0001B) melalui USART dengan format frame: satu start bit, 8 data bit, parity dan satu stop bit.

Gambar 5.2. Frame pengiriman data 41H melalui USART

Komunikasi serial asynchronous menggunakan baud rate untuk frekuensi sampling bit data yang d i terima atau dikirim. Besamya baud rate pada masingmasing modul harus sarna (dalam hal ini mikrokontroler dan komputer). Jika baud rate yang digunakan tidak sarna dapat mengakibatkan masing-masing modul akan salah dalam menerima data. Format frame yang sering digunakan dalam komunikasi serial USART adalah start bit, 8 data bit (0 sampai 7) dan satu stop bit. Format frame ini sering dituliskan dengan 8-N-1, yang artinya 8 data bit, tidak ada parity bit dan sate stop bit. Untuk mengubah format frame pada mikrokontroler ATMEGA8535 yaitu dengan memberi nilai pada bit UCSZ2:0, UPM 1:0, dan USBS pada I/O register UCSRB dan UCSRC. USART Character SiZe (UCSZ2:0) bit digunakan untuk memilih jumlah data bit dalam frame. USART Parity Mode (UPMI:0) bit digunakan untuk menghktif/non-aktifkan dan memilih ripe parity bit. USART Stop Bit Select (USBS) digunakan untuk memilih satu atau dua stop hit. Untuk format frame 8-N-1 maka 1/0 register UCSRB = 1 8H (receiver enable, transmitter enable, dan UCSZ2 bernilai '0') dan 1/0 register UCSRC = 86H (mode asynchronous, UPM 1:0 bernilai '0' yang berarti tidak ada parity, USBS bernilai '0' yang berarti satu stop bit, dan UCSZl:0 bernilai '1' yang berarti jumlah data bit sebanyak8) Pengaturanyang lebih lengkap terdapat pada datasheet ATMEGA8535 padabagianUSART (USART Register Descript ion).Untuk mengirimkan karakter atau membaca karakter yang diterima pada komunikasi USART yaitu melalui 1/0 register UDR (USART 1/0 Data Register). Baud rate yang sering digunakan dalam komunikasi serial dengan komputer sehesar 9600 bps (bit per second). "tuk kristal mikrokontroler sebesar 4MHz 1/O register UBRRH = OOH dan UBRRL = 19H. Keterangan penggunaan baud rate yang lain dan care penghitungan baud rate terdapat pada datasheet ATMEGA8535 pada bagian USART (Internal Clock Generation - The Baud Rate Generator atau Examples of Baud Rate Setting).

IV. ALAT DAN BAHAN1. 1 buah Modul DT-COMBO AVR-51 STARTER KIT2. 1 set komputer3. 1 unit power supply4. 1 buah kabel serial DB95. 1 buah programmer AVR

V. LANGKAH PERCOBAAN1. Hubungkan konektor DB9 modul DT-COMBO AVR-51 STARTER KIT ke konektor DB9 komputer melalui kabel serial DB9.2. Hubungkan pin header LCD ke port yang diinginkan sesuai listing program.3. Hubungkan DT-COMBO AVR-51 STARTER KIT dengan power supply.4. Hubungkan programmer AVR ke komputer dan ke DT-COMBO AVR-51 STARTER KIT.5. Ketik listing program di bawah pada editor Codevision kemudian compile hingga tidak ada error.6. Upload file hex. ke ic melalui programmer.7. Jalankan aplikasi hyper terminal di komputer dan sesuaikan parameter komunikasi-nya (baudrate, stop bit dll.) dengan mikrokontroler.

Program 1. Program untuk mengirimkan sebuah karakter ke komputer. #include#includevoid main(void) { //Inisialisasi USART //Format frame:8Data,1Stop, No Parity// USART Receiver: On(enable)// USART Transmitter: On(enable)//USART Mode: Asynchronous UCSRA=0x00; UCSRB=0x18; UCSRC=0x86;

UBRRH=0x00;//USART Baud rate:9600bpsUBRRL=0x19;//Untuk kristal4MHzputchar('A');//Kirim karakter 'A' ke USARTUDR='B';}

Program 2. Program untuk mengirimkan beberapa kata ke komputer.#include#include#include flash unsigned char stringl[]={"Komunikasi serial USART "}; flash unsigned char string2[]={"Menggunakan Mikrokontroler "}; flash unsigned char string3[]={"AVR ATMEGA8535"};

void main (void){unsigned char i;// Inisialisasi USARTUCSRA=0x00;UCSRB=0x18;UCSRC=0x86;UBRRH=OxOO;// USART Baud rate:9600bps(4MHz)UBRRL=Oxl9;//Mulai i=0sampai panjang(stringl)-1lakukan //pengiriman stringl ke USARTfor(i=0; i