Anda di halaman 1dari 17

LAPORAN PRAKTIKUM SISTEM MIKROKONTROLLER

USART MASTER-SLAVE
Disusun Untuk Memenuhi Tugas
Mata Kuliah Pratikum Sistem Mikrokontroller
Semester 3

PEMBIMBING : Nur Sulaiman, ST.,MT

Penyusun:

JTD 2A

NO NAMA NIM
13 iska Ulfa Nur K 1641160046

JARINGAN TELEKOMUNIKASI DIGITAL


TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2017
TUGAS BESAR PRATIKUM MIKROKONTROLLER

1. Tujuan
• Mahasiswa dapat menngunakan aplikasi proteus dan Code Vision AVR
sebagai simulasi mikrokontroller ATmega16
• Mahasiswa dapat merancang simulasi pembuatan remote sensing
• Mahasiswa dapat memahami penggunaan ADC dan USART Master-Slave

2. Alat dan Bahan


a) Capacitor
b) ATMega16
c) DC Voltmeter
d) LCD LM016L
e) LM35
f) Potentiometer-HG
g) LDR
h) Button

3. Teori Dasar
USART memiliki mode komunikasi multi-prosesor yang memungkinkan
beberapa Microcontroller Unit (slave MCU) menerima data dari sebuah master MCU.
Jika alamat dari sebuah slave MCU sesuai dengan informasi alamat yang dikirim
master MCU maka frame data yang mengikuti frame alamat akan diterima.
Sedangkan slave MCU yang lain akan mengabaikan frame data.
Pada sisi terima (slave MCU) pemanfaatan mode komunikasi multi-prosesor
dilakukan melalui bit Multi-processor Communication Mode (MPCM) pada UCSRA.
Bit ini digunakan sebagai filter dari frame yang diterima. Kode biner yang digunakan
adalah: logik 1 untuk tanda informasi alamat dan logik 0 untuk informasi data. Bit ini
tidak mempengaruhi pengirim.
Pada sisi kirim (master MCU), jika panjang frame data adalah 5, 6, 7, atau 8 bit
maka bit stop yang pertama digunakan sebagai tanda apakah frame berisi informasi
data atau alamat. Jika panjang frame adalah 9 bit maka bit ke-9 yang digunakan
sebagai penanda apakah frame berisi informasi data atau alamat. Nilai bit penanda
alamat adalah logik 1 sedangkan penanda data adalah logik 0.
Prosedur komunikasi yang akan disajikan berikut ini memanfaatkan panjang
frame 9 bit (UCSZ = 7). Pengaturan panjang frame pada master MCU dan slave MCU
harus sama. Pada master MCU, bit ke-9 (TXB8) harus diset jika sebuah frame alamat
dikirim (TXB8 = 1) atau diclear jika frame data dikirim (TXB8 = 0).
1. Semua slave MCU disiapkan pada mode komunikasi multi-prosesor (MPCM
pada UCSRA diset).
2. Master MCU mengirim frame alamat, sedangkan semua slave menerima dan
membaca frame ini. Pada semua slave MCU, bit flag RXC pada UCSRA akan diset.
3. Masing-masing slave MCU membaca register UDR dan menentukan apakah
ia dipilih. Jika dipilih, slave MCU menolkan bit MPCM pada USCRA. Jika tidak
terpilih slave MCU akan menunggu frame alamat berikutnya dan bit MPCMnya tetap
logik 1.
4. Slave MCU yang terpilih akan menerima semua frame data sedangkan Slave
MCU lainnya akan mengabaikan frame data itu.
5. Jika frame data terakhir telah diterima slave MCU yang terpilih maka slave
MCU itu menset kembali bit MPCM dan menunggu frame alamat yang baru. Proses
akan berulang mulai langkah ke dua.
Untuk menset atau menclear MPCM jangan menggunakan perintah-perintah
read-modify-write (SBI atau CBI). Karena bit yang memiliki lokasi I/O yang sama
seperti bit flag TXC akan diclear ketika menggunakan perintah SBI atau CBI.

4. Rancangan rangkaian
1. Rancang rangkaian seperti pada gambar di bawah ini
Rangkaian pada slide Satu

2. Buat lah 4 program code vision, 1 untuk Mastre MCU dan 3 untuk slave MCU
3. Gunakan Code Wizard untuk mendapatkan inisialisasi USART dengan parameter:
Master MCU dan Slave MCU
Unit pengirim aktif tanpa interupsi, unit penerima aktif dengan interupsi, baud rate 1200,
panjang data 9 bit, 1 bit stop, tanpa bit paritas, dan mode pengiriman asinkron.

4. Pada master MCU, gunakan kontrol program if() untuk mendeteksi penekanan
tombol. Jika sebuah tombol ditekan maka dilakukan pengiriman frame alamat
kemudian frame permintaan layanan.
5. Atur juga Analog to Digital Converter
6. Jangan lupa aktifkan port LCD

7. Dan juga rubah tipe data pada (s)Printf feauture menjadi float
8. Tulisakan source code pada CodeVison
a. Sorce code pada Master MCU
b. Source code pada Slave1 MCU
c. Source code pada Slave 2,3 dan 4 sama saja hanya saja yang membedakan adalah
kebutuhan ADC untuk pengukuran dan fungsi penampilan PORT C pada masing-masing
slave.
d. Contoh source code untuk slave 2,3 dan 4
1. contoh source code pada slave 2

2. contoh source code pada slave 3


5. Hasil percobaan
1. Ketika d run hasil pengukuran tampil pada LCD di masing-masing slave

2. Ketika SW 1 ditekan pada master maka akan tampil nilai tegangan pada LCD

3. Ketika SW 2 ditekan pada master maka port C pada salve 1 akan bertambah
4. Ketika SW 3 ditekan pada master maka akan menampilkan nilai suhu pada LCD

5. Ketika SW 4 ditekan pada master maka port C pada salve 2 akan berkurang
6. Ketika SW 5 ditekan pada master maka akan menampilkan nilai Intensitas pada LCD

7. Ketika SW 6 ditekan pada master maka port C pada salve 3 akan tampil toggle
8. Analisa Percobaan
1. Dengan mengunakan Master-Slave kita dapat menggunkan 4 ATmega sekaligus dalam satu
project
2.
Pada masing-masing slave terdapat alamat yang di deklarasikan seperti gambar di atas

3.
Slave mengirimkan data kepada master, source code di atas merupakan source untuk
mengirimkan data kepada slave

4.
Master mengidentifikasi setiap permintaannya, contohnya script di atas merupakan contoh
dekrasi untuk masing-masing permintaan master.
Service1 = untuk meminta data pengukuran masing-masing slave
Service 2, 3, 4 = untuk perubahan port C pada masing-masing slave

5.
Perintah master untuk meminta data pada slave alamat tujuan dengan service yang di
butuhkan.
9. Kesimpulan
1. Usart master slave merupakan suatu cara yang bisa kita gunakan untuk membuat suatu
project yang memerlukan ATMega leboh dari satu.
2. Master merupakan inti, atau pokok dari project menggunkan master-slave karena
berhubungan dengan interface
3. Kesalahan pada slave maupun master baik pada rangkaian atau source pada salah satu slave
mempengaruhi jalan atau tidaknya project tersebut
4. Master dan slave merupakan satu kesatuan dimana salah satu ATmega saja tanpa source
slave maka akan terjadi error.

Anda mungkin juga menyukai