Anda di halaman 1dari 13

BAB I

TUJUAN

1. Mahasiswa dapat memahami tentang mikrokontroler ATMEGA 8535


2. Mahasiswa dapat memahami Program bahasa C
3. Mahasiswa dapat membuat gambar rangkaian pada sebuah software
Proteus dan EAGLE
4. Mahasiswa dapat membuat program dimana menginput dan
menghasilkan output

RAFI FILCANIA 1701024031


BAB II
TEORI DASAR

Pada topic sebelumnya sudah dikenalkan cara meng-akses port sebagai


keluaran, sehingga selanjutnya pada topic ini akan digabung dengan masukan atau
input. Masukan untuk microkontroler bias dari saklar, sinyal logika, atau rangkaian
lain yang memiliki keluaran. Sebagai dasar mempelajari masukan pada
mikrokontroler, pada topic ini akan digunakan saklar/button sebagai masukannya.
Pengaturan inisialisasi port pada mikrokontroler dapat dilakukan dengan 2
cara, secara menggunakan Code Wizard AVR, atau secara penulisan program.
Sedangkan sebagai kondisi port sebagai masukan terdapat 2 karakter yaitu ‘P’ dan
‘T’. ‘P’ merupakan kependekan dari Pull Up, sedangkan ‘T’ merupakan
kependakan dari Toggle. Berikut contoh pengaturan port mikro secara Code Wizard
AVR atau tertulis:

Secara penulisan program

Adalah sebagai berikut:

PORT A = 0xF0;
DDRA = 0x00;

Gb.1. pengaturan port sebagai masukan secara Code Wizard AVR

RAFI FILCANIA 1701024031


Seperti yang telah dijelaskan pada topic sebelumnya dalam pengaturan
secara tertulis inisialisasi port masukan memiliki fungsi sebagai berikut;
PORTA = 0x00; Kondisi 8 bit pada PORTA semuanya Toggle ( ‘T’ )
= 0Xff; Kondisi 8 bit pada PORTA semuanya Pull up (‘P’)
= 0xF0; Kondisi 4 bit LSB PORTA berfungsi sebagai Toggle
(‘T’), sedangkan 4 bit MSB PORTA berfungsi sebagai Pull up (‘P’)
DDRA = 0x00; semua 8 bit pada PORTA berfungsi sebagai masukan.
Fungsi pada kondisi Toggle masukan mikrokontroler akan membaca sinyal
setiap ada perubahan logika. Perubahan itu bisa dari logika tinggi (1) menuju rendah
(0) dikatakan sebagai kondisi falling edge, atau sebaliknya dari logika rendah (0)
ke tinggi (1) dikatakan sebagai kondisi rising edge. Prinsip tersebut mengakibatkan
dalam pembacaan satu gelombang sinyal terdapat dua kali sinyal masukan ke
mikrokontroler. Berikut secara ilustrasi pembacaanya:

Gb.2. pembacaan sinyal masukan pada fungsi Toggle.


Kondisi pengaturan port masukan pada Pull up (‘P’) mendeteksi atau
membaca masukan hanya satu kali dalam satu gelombang masukan. Pembacaan
tersebut pada saat gelombang pada kondisi dari logika tinggi (1.) ke logika rendah
(0) dikatakan sebagai kondisi falling edge. Selain itu bahwa pada pengaturan
kondisi Pull up mereset pin msukan didalam mikro terhubung dengan VCC (5 V)
melalui resistor. Resistor yang memiliki prinsip seperti tersebut dinamakan sebagai
resistor Pull up. Resistor ini menjaga agar pada pin masukan yang telah diatur
berlogika tinggi, dan menunggu sinyal masukan dengan logika rendah untuk meng-
aktif-kannya, berikut secara ilustrasi prinsip kerja masukan pada kondisi Pull up;

RAFI FILCANIA 1701024031


Gb.3a. kondisi didalam mikrokontroler pada posisi Pull up

Gb.3b. pembacaan sinyal pada kondisi Pull up

Kebanyakan rangkaian masukan ke mikrokontroler mengambil prinsip falling


sebagai sinyal tanda aktif atau bisa dikatakan memiliki logika aktif jika sinyal
masukannnya rendah (low). Apabila terhubung dengan sebuah masukan dari saklar
/ button maka saklar saat tertutup tehubung dengan ground (GND). Sebaliknya,
apabila sklar dalam kondisi terbuka akan mempertahankan logika tinggi (high) pada
masukan , dikarenakan terdapat resistor pull up yang menjaga jalur data masukan
dalam kondisi tinggi. Walaupun dalam pengaturan kondisi masukan sudah dipull
up, akan tetapi untuk mengamankan kondisi datanya, maka akan dipasang resistor
pull up lagi diluar pada sistem minimum. Berikut ilustrasi skematiknya :

Gb.4 Pemasangan Resistor Pull Up External

Pengambilan data atau mendeteksi sinyal masukan dari luar dilakukan


mikroprosesor instruksi program yang telah ditentukan. Instruksi pemprograman

RAFI FILCANIA 1701024031


dalam bahasa C pada Code Vision AVR yaitu “PINx”. Berikut penjabaran
penulisan program untuk membaca sinyal data dari luar;

PINA == 0b11111101;→pada PORTA bit 1 berlogika rendah (terdapat sinyal


masukan), bit 0 dan bit 2-7 berlogika 1 (tidak terdapat sinyal masukan)

Atau, PINA.1==0;→Pada PORTA bit 0 berlogika rendah yang menunjukkan


terdapat sinyal masukan (saklar tertutup)

Instruksi program masukan PIN biasanya digunakan bersamaan dengan instruksi


syarat pada bahasa C. Salah satunya yaitu penggunaanya bersama instruksi “F”,
berikut contohnya;

If(PINA.1==0)
{
…..(aksi yang dilakukan)
};
Atau pada perulangan “while”;
While(PINA.1==0)
{
…..(aksi yang dilakukanberulang-ulang)
};
Pengguanaan symbol “==” (sama dengan dua kali), mempunyai fungsi sebagai
penyataan kondisi pada PIN yang dituju. Apakah kondisi PIN masukan dalam
kondisi rendah atau pada kondisi tinggi. Sedangkan untuk mengetahui hasil dari
pembacaan masukan program masukan (INPUT) digabung dengan program
keluaran (OUTPUT).

RAFI FILCANIA 1701024031


BAB III
ALAT BAHAN

Nama Komponen Simulasi rangkaian Proteus

Mikrokontroler ATMEGA8535 ATMEGA8534

Resistor MINRES1K

LED LED-YELLOW

Push Button BUTTON

RAFI FILCANIA 1701024031


BAB IV
GAMBAR RANGKAIAN

Gambar rangkaian pada simulasi menggunakan Software Proteus 8.0

RAFI FILCANIA 1701024031


BAB V
LANGKAH KERJA

C.1. Jika saklar SWo ditekan (tertutup) LEDo akan menyala, dan sebaliknya.

While(1)

If(PINA.0==0)

PORTD.0=0; //LED BIT 0 ON

else

PORTD.0=1; //LED BIT 0 OFF

};

};

C.2. Saklar SWO untuk menghidupkan LED, saklar SW1 untuk mematkan LED

While(1)

If(PINA.0==0)

PORTD.0=0; //LED BIT 0 ON

If(PINA.1==0)

PORTD.0=1; //LED BIT 0 OFF

};

RAFI FILCANIA 1701024031


BAB VI

ANALISA

Pada pratikum mikrokontroler dilab. Kita diberikan sebuah modul


pembelajaran dimana pada modul pembelajaran itu mengajarkan tentang input-
output jadi kita diajarkan memprogram sekaligus menjalankan simulasi pada
prouteus, pada modul pembelajaran terdapat contoh dan latihan, kalau contoh itu
kita dibisa lihat pada langkah kerja, maksud dari program contoh itu adalah
dimana kita dilatih sebelum mengerjakan latihan agar paham.

Contoh pertama, pada contoh pertama itu kita mengerjakan program


dimana program itu mengajarkan kita saat kita menekan pushbutton1 maka akan
hidup LED1, jadi untuk membuktikan program itu sudah berhasil atau tanpa eror

maka kita akan memcompile setelah itu kita menyiapkan rangkaian untuk
kita check kebenaran dari program yang kita buat, bisa dengan modul project yang
telah disediakan dilab, atau bisa disimulasikan dengan menggunakan software
Proteus, misalkan kita menggunakan simulasi pada software proteus maka ada
langkah-langkah dahulu sebelum mensimulasikan program yang telah kita buat,

senelum itu kita harus membuild program disoftware kita kerjakan misalkan
software program CVAVR , maka dengan membuild itu akan bertambah folder
seperti pada gambar dibawah ini.

C.1 Ketika saklar ditekan LED menyala namun ketika dilepaskan LED padam

Pada C.1 dilakukan percobaan dengan menggunakan pengaturan bot


sebagai berikut :

Pada pengaturan seperti halnya diatas adalah nilai outputnya berada pada
PORT B untuk nilai bit 0 – 7.

RAFI FILCANIA 1701024031


Dengan pembuatan program pada code vision (AVR) berupa berikut :
While(1)
{
If(PINA.0==0)
{
PORTD.0=0; //LED BIT 0 ON
}
else
{
PORTD.0=1; //LED BIT 0 OFF
};
};
Setelah selesainya membuat pemograman pada code vision, maka program
perlu decompile untuk melihat adanya error atau warning pada pemograman.
Setelah tidak ditemukannya error atau warning pada pemograman maka dibuka
proteus 8 profesional untuk simulasi dari pemograman yang akan dilakukan
dengan gambar rangkaian seperti BAB IV.
Berikut tampilan pada proteus 8 profesional :

Pada gambar diatas, ketika saklar ditekan (SW1) maka LED 1 akan
menyala dikarenakan tegangan mengalir melalui PORTA.1 melalui PORTB.1

RAFI FILCANIA 1701024031


selama saklar switch ditekan dengan PORTB sebagai output dan PORT A sebagai
saklar (SW1).

Pada gambar diatas merupakan tmpilan ketika saklar (switch 1) dilepas,


maka terlihat LED 1 padam dikarenakan tegangan tidak mengalir melewati switch
dan tidak sampai ke LED

C.2 Mematikan dan menghidupkan LED dari saklar yang berbeda

Dengan pengaturan pada PORT ketika membuat project baru pada code
vision CVAR maka terlihat bahwa menggunakan Port B sebagai outpunya :

Berikut adalah bentuk pendeklarasian pada program yaitu menggunakan


#include <mega8535> sebagai library

RAFI FILCANIA 1701024031


Dan berikut adalah bentuk program yang dibentuk pada code vision
CVAR untuk menghidupkan lampu dan mematikan dengan saklar yang berbeda

Percobaan C2 adalah percobaan menghidupkan dan mematikan


LED dengan dua buah saklar. #include<mega8535.h> digunakan untuk
memberitahu kepada compiler bahwa program yang kita buat menggunakan
Atmega 8535. Pernyataan While untuk perulangan sebuah sebuah pernyataan atau
blok pernyataan secara terus menerus selama kondisi masih terpenuhi Selanjutnya
kita menggunakan “if” dan “else” artinya digunakan untuk melakukan operasi
percabangan bersyarat .“if(PINB.0==0)”, artinya jika pin B 0 dalam keadaan
rendah, maka ouput port A 0 akan hidup. “if(PORT.1==0)” berarti dengan satu
buah saklar lagi digunakan untuk mematikan led . Penggunaan symbol “==”
mempunyai fungsi sebagai pertanyaan kondisi pada pin yang dituju. Apakah
kondisi masukan PIN dalam kondisi tinggi atau rendah.

* Saklar 1 ditekan

RAFI FILCANIA 1701024031


* saklar 2 ditekan

RAFI FILCANIA 1701024031

Anda mungkin juga menyukai