web viewlaporan praktikum . mikrokontroller. unit . iv ... hanya ada pada kemasan tqpf dan qfn/mlf,...

13
LAPORAN PRAKTIKUM MIKROKONTROLLER UNIT IV “Pemograman 3 input“ Nama : Fajar Ahmad Fauzi No Induk : 20133010032 Hari/Tanggal Praktikum : Selasa/ 19 Mei 2015 Dosen : Inda Rusdia Sofiani,S.T.,MS.c LABORATORIUM MIKROKONTROLLER JURUSAN TEKNIK ELEKTROMEDIK – VOKASI UNIVERSITAS MUHAMMADIYAH

Upload: lethien

Post on 02-Feb-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

LAPORAN PRAKTIKUM MIKROKONTROLLER

UNIT IV“Pemograman 3 input“

Nama : Fajar Ahmad FauziNo Induk : 20133010032Hari/Tanggal Praktikum : Selasa/ 19 Mei 2015Dosen : Inda Rusdia Sofiani,S.T.,MS.c

LABORATORIUM MIKROKONTROLLERJURUSAN TEKNIK ELEKTROMEDIK – VOKASI

UNIVERSITAS MUHAMMADIYAHYOGYAKARTA

2015

Page 2: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

I. Pendahuluan

I. Mikrokontroller

Mikrokontroler, jika diterjemahkan secara harfiah, berarti pengendali yang berukuran

mikro. Sekilas mikrokontroler hampir sama dengan mikroprosesor. Namun mikrokontroler

memiliki banyak komponen yang terintegrasi didalamnya, misalnya timer/counter.Sedangkan

pada mikroprosesor, komponen tersebut tidak terintegrasi. Mikroprosesor umumnya terdapat

pada komputer dimana tugas dari mikroprosesor adalah untuk memproses berbagai macam

data input maupun output dari berbagai sumber. Mikrokontroler lebih sesuai untuk tugas-

tugas yang lebih spesifik.

Gambar 1.1 Perbedaan mikrokontroler dengan mikroprosesor

II. Bahasa C

Bahasa pemrograman C adalah sebuah bahasa 'mid-level', namun memiliki fitur

'highlevel' (seperti support pada fungsi dan modul) dan juga memiliki fitur 'lowlevel' (seperti

mengakses hardware melalui pointer). Dengan menggunakan bahasa C, kita dapat dengan

mudah untuk pindah ke jenis mikrokontroler yang lain, lebih mudah dan cepat dalam menulis

kode program, dan lebih mudah dimengerti, dan lebih mudah dalam melakukan debugging.

Kelebihan bahasa C :

1. Bahasa yang mudah dipahami

2. Banyak progammer yang menggunakannya seperti Linux.

3. Tools open source CodeVison AVR berbasis bahasa C

4. Bahasa HLL(High Level Language) atau bahasa menengah lebih manusiawi

sehingga program yang dibuat mudah dibaca dan dibuat

5. Menghemat waktu dan tenaga dalam pembuatan program dibandingkan dengan

assembler (bahasa mesin).

III. Deskripsi Hardware Atmega 8

Page 3: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

Chip yang di jelaskan disini menggunakan kemasan PDIP, untuk kemasan

yang lain (TQPF,QFN/MLF) tidak jauh berbeda, untuk lebih lanjut silahkan merujuk

pada datasheet. Nama-nama pin dibawah usahakan lebih sering dikenal, hal ini

berguna untuk penggunaan pheripheral internal yang berhubungan dengan fungsi

alternatif pin, misalnya pin PD2 selain sebagai saluran I/O bisa juga digunakan oleh

pheripheral internal “interupsi eksternal o” sebagai (INTo) saluran triger interupsi

eksternal o.

VCC = Tegangan supply

GND = Ground

Port B (PB7...PB0):

Port I/O 8-Bit dengan resistor pull-up internal tiap pin. Buffer portB mempunyai kapasitas

menyerap (Sink) dan mencatu (source). Khusus PB6 dapat digunakan sebagai input kristal (Inverting

oscillator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan Fuse Bit (ada

dalam software programmer/downloader yang digunakan untuk memilih sumber clock. Khusus PB7

dapat digunakan output kristal (output inverting oscillator amplifier) bergantung pada pengaturan Fuse

Bit /yang digunakan untuk memilih sumber clock. Jika sumber clock yang dipilih dari oscillator

internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunkan Asyncronous

Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input counter.

Port C (PC5...PC0)

Port I/O 7-Bit (PC6,PC5,...PCO) dengan resistor pull up internal tiap pin. Buffer fuse port C

mempunyai kapasitas menyerap (sink) dan mencatu (Source).

Reset/PC6

Jika fuse bit RSTDISBL di “Programed”, PC6 digunakan sebagai pin I/O. Jika fuse bit

RSTDISBL di “unprogramed”,PC6 digunakan sebagai pin reset (aktif low).

Port D (PD7...PD0):

Port I/O 8-Bit dengan resistor pull up internal tiap pin. Buffer portC mempunyai kapasitas

menyerap (Sink) dan mencatu (Source).

Page 4: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

Avcc

Avcc adalah pin tegangan catu untuk A/D converter, PC3....PC0, dan ADC (7...6). Avcc harus

dihubungkan Vcc, walaupun ADC tidak digunakan. Jika ADC digunakan, maka Avcc harus

dihubungkan ke VCC melalui “low pass filter”.

Catatan: PC5,PC4 digunakan catu tegangan Vcc digital

AREF:

Untuk pin tegangan referensi analog ADC.

ADC7...6 (TQPF,QFN/MLF)

Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk pin input ADC.

III. Program Bahasa C

A. IF...ELSE

Pernyataan if...else hampir sama dengan pernyataan if diatas yaitu digunakan untuk

melakukan pengambilan keputusan terhadap dua buah kemungkinan, hanya yang berbeda adalah

bahwa kedua kemungkinan tersebut berupa mengerjakan mengerjakan suatu blok pernyataan if..else

adalah sebagai berikut:

If (kondisi)

{ pernyataan-1}

Else {pernyataan-2}

B. Struktur

Struktur adalah kumpulan dari variabel-variabel data baik dengan tipe yang sama ataupun

berbeda yang dikemas dalam satu wadah kemudian diberi sebuah nama. Untuk mendefinisikan sebuah

struktur dilakukan dengan cara sebagai berikut:

Struct (nama_struktur)

{ deklarasi variabel};

Contoh :

Struct strukturku

{

Unsigned char suhu;

Unsigned int kecepatan;

Unsigned char level;

}:

Page 5: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

II. Alat dan Bahan yang digunakan untuk Praktikum

ALAT :

1. PC/ Notebook 1 buah BAHAN :

1. Aplikasi CodeVision AVR Ver.3.15

Page 6: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

III. Analisa Gambar Rangkaian

Permasalahan:

Sebuah pesawat jet menggunakan sistem unit pemantauan nilai RPM(Rate Per Menit), tekanan (pressure), temperatur (Temp). Mesin jet dengan menggunakan sensor yang operasinya sebagai berikut:

1. Kombinasi I: Jika output sensor temperatur >=200°F, output sensor tekanan >=200 psi A output putaran mesin diabaikan, maka lampu led peringatan menyala (on).

2. Komninasi II: Jika output sensor temperatur >200°F, output sensor kecepatan <480 RPM, output sensor tekanan diabaikan, maka led peringtan menyala (on) .

3. Kombinasi III: selain keadaan diatas , led mati (off).

Mengatasi Permasalahan :Kombinasi

Temperatur Tekanan Kecepatan mesin

Indikator led

I x>=200 °Fnilai 1

x>=200 Psinilai 1

___ Hidup

II x>=200 °Fnilai 1

___ < 480 rpmnilai 1

Hidup

III Nilai 0 Nilai 0 PadamKeterangan x=nilai pembanding

Permasalahan diatas di konvert ke dalam bahasa C, maka dihasilkan pogram sebagai berikut:Pogram 1:#include <mega16.h>struct kar_sensor {unsigned char temp_sensor; unsigned char pressure_sensor; unsigned int fast_sensor;};char temp_sensor,pressure_sensor;int fast_sensor;void main(void) {struct kar_sensor sen_indikator; DDRA=0xFF; DDRB=0xFF; DDRB=0xFF; if(temp_sensor>=200){sen_indikator.temp_sensor=0x01;}else{sen_indikator.temp_sensor=0x00;} if(pressure_sensor>=200){sen_indikator.pressure_sensor=0x01;}else{sen_indikator.pressure_sensor=0x00;} if(fast_sensor<480){sen_indikator.fast_sensor=0x01;}else{sen_indikator.fast_sensor=0x00;} PORTA=sen_indikator.temp_sensor; PORTB=sen_indikator.pressure_sensor; PORTC=sen_indikator.fast_sensor; }

Page 7: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

Pogram 2:#include <mega16.h>struct kar_sensor { unsigned char temp_pressure_sensor; unsigned char temp_fast_sensor;}; //unsigned int fast_sensor;}; char temp_sensor,pressure_sensor; int fast_sensor;void main(void) { struct kar_sensor sen_indikator; DDRA=0xFF; DDRB=0xFF; pressure_sensor=PINC.0; temp_sensor=PINC.1; fast_sensor=PINC.2; //DDRC=0xFF; if(temp_sensor>=200&&pressure_sensor>=200) {sen_indikator.temp_pressure_sensor=0x01;} else {sen_indikator.temp_pressure_sensor=0x00;} if(temp_sensor>=200&&fast_sensor<480) {sen_indikator.temp_fast_sensor=0x02;} else {sen_indikator.temp_fast_sensor=0x00;} // if(fast_sensor<480){sen_indikator.fast_sensor=0x01;}else{sen_indikator.fast_sensor=0x00;} while(1); { PORTA=sen_indikator.temp_pressure_sensor; PORTB=sen_indikator.temp_fast_sensor; PORTC=PINC.0; PORTC=PINC.1; PORTC=PINC.2; }} //PORTC=sen_indikator.fast_sensor;

Langkah kerja :

1. Membaca soal dengan teliti kemudian dianalisis dan di analogikan kedalam logika sederhana.

2. Buat pogram sederhana menggunakan Codevision AVR, dari logika sederhana tersebut.3. Compile dan debug4. Jika no error , pogram secara teknis sudah benar.

Page 8: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

IV. Hasil Pengujian

Dari permasalahn diatas, maka dapat disimpulkan bahwa pogram berhasil jalan/ no error. Namun untuk dapat mengetahui lebih lanjut, pogram tersebut berjalan efektif sesuai logika sederhana dari soal itu, maka harus dibutuhkan sebuah simulasi sederhana. Dibutuhkan rangkaian berupa sensor tekanan,suhu, dan kecepatan untuk mengetes hasil pogram tersebut. Kendalanya adalah pogram yang dibuat diatas hanyalah pogram sederhana yang hanya membutuhkan logika untuk menjawab permasalahan diatas.

Jalannya pogram tersebut sebagai berikut:1. Jika temperatur suhu dibawah sama dengan 200°F , dan tekanan dibawah 200 Psi maka led akan hidup dengan catatan mesin (kecepatan putaran motor mesin jet) diabaikan.2.Jika temperatur suhu dibawah sama dengan 200°F, dan mesin (kecepatan putaran motor mesin jet) di atas 480 rpm , dengan catatan tekanan diabaikan maka led indikator akan menyala.3. Led akan mati jika kondisi tidak pada kenyataan 1, dan 2.

V. Kesimpulan

1. Mikrokontroller adalah pengendali yang berukuran mikro.2. Bahasa C adalah sebuah bahasa 'mid-level', namun memiliki fitur 'highlevel' (seperti support pada fungsi dan modul) dan juga memiliki fitur 'lowlevel' (seperti mengakses hardware melalui pointer)3. Port A,B,C adalah bagian dari register Ic atmega untuk I/O 8-bit bi-directional yang masing-masing pin dapat difigurasikan secara individual.

Page 9: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

VI. Lampiran

Pogram pada Code Vision AVR.

Page 10: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk

LEMBAR PENGESAHAN

Dengan ini saya menyatakan bahwa

Nama : Fajar Ahmad FauziNo Induk : 20133010032Hari/Tanggal Praktikum : Selasa, 19 Mei 2015 Dosen : Inda Rusdia Sofiani,S.T.,MS.c

Telah menyelesaikan laporan praktikum MikrokontrollerUNIT IV

PENGENALAN KOMPONEN MIKROKONTROLLER“Pemograman 3 input“

Dengan Point:

TertandaInstruktur Laboratorium

Inda Rusdia Sofiani, ST,MSc

Assisten Instruktur

Abdul Latif

Page 11: Web viewLAPORAN PRAKTIKUM . MIKROKONTROLLER. UNIT . IV ... Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk