SlideShare a Scribd company logo
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 45 
 
BAB V
I/O ATMega16
ATMega16 dikemas dengan beberapa tipe, namun yang banyak digunakan dan mudah
ditemui adalah tipe PDIP. Kemasan PDIP (Dual Inline Package) ini memiliki 40 kaki.
Dimana terdiri dari 32 pin untuk input/output. Gambar susunan kaki ATMega16 bisa
dilihat berikut :
Port untuk Input dan Output dibagi menjadi 4 bagian yaitu PORT A, PORT B, PORT C
dan PORT D. Keempat port tersebut merupakan jalur bi-directional yang dapat di
program sebagai input maupun output melalui register. Berikut adalah register yang
terkait dengan operasi I/O :
• DDRx – Data Direction Register
• PORTx – Pin Output Register
• PINx – Pin Input Register
dimana x = nama port (A, B, C atau D)
REGISTER
Sebelum membahas lebih jauh, kita perlu mengenal apa yang disebut dengan register.
Register adalah suatu memori di dalam CPU yang bisa diakses secara sering dan cepat.
Register berkaitan dengan berbagai operasi dalam mikrokontroler. Sebuah register
berukuran 1 byte dimana sama dengan 8 bit data.
Bit No. 7 6 5 4 3 2 1 0
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 46 
 
upper nibble lower nibble 
Register DDRx
Seperti yang telah dijelaskan sebelumnya, port dalam mikrokontroler adalah bidirectional
dimana bisa diatur baik sebagai input maupun output. Untuk mengaturnya kita
menggunakan bantuan register DDRx (Data Direction Register).
Register DDRx 
Bit No.  7  6  5  4  3  2  1  0 
Nama  DDRx7  DDRx6  DDRx5  DDRx4  DDRx3  DDRx2  DDRx1  DDRx0 
Nilai  0  0  0  0  0  0  0  0 
‘x’ pada tabel diatas bisa diganti dengan nama port (A, B , C atau D).
Sebagai contoh :
DDRC = (1<<DDC0)|(1<<DDC4)|(1<<DDC5)|(1<<DDC7);
Penulisan di atas sama saja dengan
DDRC = 0b10110001;
atau
DDRC = 0xB1;
atau juga
DDRC = (1<<0)|(1<<4)|(1<<5)|(1<<7);
Bagaimana jika ingin mengakses port B? Ganti x dengan B :
DDRB = (1<<DDB0)|(1<<DDB4)|(1<<DDB5)|(1<<DDB7);
atau dengan: DDRB = 0xB1; atau DDRB = 0b10110001;
Sekarang coba kita lihat di port mikrokontrolernya, nilai 1
menjadikan port sebagai output dan 0 sebagai input.
Pada gambar di samping, berarti pin PC7, PC5, PC4 dan
PC0 telah diset sebagai Output. Sedangkan pin PC6, PC3,
PC2 dan PC1 sebagai input.
Pin input nantinya akan dapat membaca masukan logika
baik itu high (1) atau low (0). Begitu juga untuk pin output
akan dapat mengeluarkan logika 1 (tegangan = VCC/5v)
dan 0 (tegangan = 0/Gnd).
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 47 
 
PORTx Register
PORTx berfungsi untuk memberikan nilai keluaran pin Output, apakah berlogika 1 atau 0.
Setelah pin di set menjadi output, kita bisa memberikan nilai logika baik 1 atau 0. Ilutrasi
register PORTx :
Bit No.  7  6  5  4  3  2  1  0 
Nama  PORTx7  PORTx6  PORTx5  PORTx4  PORTx3  PORTx2  PORTx1  PORTx0 
Nilai  0  0  0  0  0  0  0  0 
Register ini sama dengan register DDRx, yang membedakan hanya namanya yaitu PORTx.
Untuk penulisannya pun juga sama, mari kita lihat contoh di bawah ini :
PORTD = (1 << PD0)|(1 << PD3)|(1 << PD6);
PORTD = (1 << 0)|(1 << 3)|(1 << 6);
PORTD = 0b01001001;
PORTD = 0x49;
Kita lihat contoh program :
DDRC = 0b10110001;
PORTC = 0b10010001;
OUTPUT = 0b10010001;
Port C diinisialisasi menggunakan DDRx register. Bit yang berwarna oranye menandakan
sebagai pin output. Sekarang, mari berkonsentrasi pada bit berwarna oranye saja. Karena
mereka adalah pin output, ketika diberi nilai '1' di PORT, pin akan berlogika HIGH (1), dan
akan memberikan tegangan output VCC di pin itu.
Sekarang lihat contoh lain :
DDRC = 0b10110001;
PORTC = 0b10010101;
OUTPUT = 0b10010001;
Sekali lagi, bit berwarna oranye berarti adalah pin output. Jadi, apapun nilai (0 atau 1) yang
diberikan pada bit oranye tersebut, hasilnya akan sama pada output. Sekarang, lihat bit
berwarna merah. Meskipun kita memberi logika HIGH (1) di register PORTx, output yang
keluar tetap bernilai LOW (0). Hal ini karena pin diinisialisasi sebagai pin input oleh
DDRx. Oleh karena itu, PORTx tidak dapat mengubah nilai dari pin itu. Oleh karena itu,
secara umum, PORTx tidak dapat memodifikasi properti dari pin yang diinisialisasi
sebagai input oleh DDRx.
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 48 
 
PINx Register
Register PINx memperoleh nilai dari membaca masukan/inputan pin mikrokontroler.
Registernya adalah berikut :
Bit No.  7  6  5  4  3  2  1  0 
Nama  PINx7  PINx6  PINx5  PINx4  PINx3  PINx2  PINx1  PINx0 
Nilai  0  0  0  0  0  0  0  0 
Prosedur penulisan register PINx masih sama.
DDRC = 0b10110001;
PINC = 0b01001011;
INPUT = 0b01001011;
Di sini, bit berwarna sesuai dengan pin yang diinisialisasi sebagai input oleh DDRx. Pada
baris kedua, PINx register didefinisikan. Nah, contoh ini hanya untuk menjelaskan konsep,
dalam praktiknya kita selalu menggunakan PINx sebagai kondisi (seperti di IF atau
WHILE loop). Sesuai pernyataan kedua, perintah PINx membaca nilai hanya pada pin
input.
DDRC = 0b10110001;
PINC = 0b01011010;
INPUT = 0b01001010;
Di sini, Anda dapat membandingkannya dengan contoh yang saya miliki untuk PORTx.
Karena bit berwarna merah adalah pin output, PINx tidak bisa mengubah nilainya. Oleh
karena itu, secara umum, PINx tidak dapat memodifikasi properti dari pin yang
diinisialisasi sebagai output oleh DDRx dan sebaliknya.
Contoh Program
DDRC = 0x0F;
PORTC = 0x0C;
// asumsi tegangan 4v dialirkan ke PORTC.6 dan Vcc = 5V
if (PINC == 0b01000000)
PORTC = 0x0B;
else
PORTC = 0x00;
Penjelasan :
o DDRC = 0x0f; setara dengan DDRC = 0b00001111; Ini berarti bahwa pin
PC0 - PC3 adalah pin output (dapat dimanipulasi menggunakan PORTC)
dan pin PC4 ... PC7 yang pin input (yang kadarnya menentukan nilai pinc).
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 49 
 
o PORTC = 0x0C; setara dengan PORTC = 0b00001100; Ini berarti bahwa pin PC2
dan PC3 memiliki tegangan HIGH (Vcc = 5V) dan pin PC0 dan PC1 memiliki
tegangan LOW (0V). Pin lainnya memiliki tegangan rendah secara default.
o if (pinc = 0b01000000) memeriksa tegangan input pada pin PC6. Karena itu
disebutkan dalam komentar yang 4V sebuah dipasok ke PORTC.6 (sama seperti
pin PC6), kondisi ini benar (seperti 4> 2,5, di mana 2.5V adalah ambang batas, 5/2
= 2,5).
o Karena kondisi if : benar, PORTC = 0x0B; dijalankan.
o Jika kondisi if tidak terpenuhi, PORTC = 0x00; akan dieksekusi.
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 50 
 
Program menyalakan led
Sebelum memrogram led, kita harus melihat skematik rangkaian untuk bisa menentukan apakah
led akan menyala atau mati ketika diberikan logika 1/0. Ada beberapa tipe kerja rangkaian untuk
mengaksesnya, yaitu Aktif LOW dan Aktif High. Aktif LOW merupakan kerja rangkaian yang
dapat dioperasikan/di –ON –kan dengan diberi logika rendah (“0”/0). Sedangkan Aktif HIGH
merupakan kerja rangkaian yang dapat dioperasikan/di-ON-kan dengan diberi logika tinggi
(“1”/+5V). Berdasarkan skematik dari kerja rangkaian diatas dapat digambarkan sebagai berikut:
Penulisan skrip bisa dilakukan secara hexa maupun biner, dengan keterangan penjelasan bisa dilihat di
tabel :
Contoh penulisan skrip di atas, untuk hexa 0x0F sama saja penulisannya dengan biner 0b00001111,
yang berarti bahwa bit0 – bit3 mendapatkan logika high (tegangan vcc / 5 volt) dan bit4 – bit7
mendapat logika low, yaitu tegagan 0 volt / ground.
Gambar rangkaian untuk praktikum di bawah :
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 51 
 
1. Menyalakan semua led bersama
#include <avr/io.h>
int main(void){
DDRA=0xFF; //Port A0-7 sebagai output, penulisanya sama saja dengan : 0b11111111
while(1){
PORTA=0b00000000; //bisa ditulis 0x0F
//berarti port A mengeluarkan tegangan 0 / GND
//sehingga led akan menyala
}
}
2. Led 1 On, Led 2 Off, Led 3 On, Led 4 Off, Led 5 On, Led 6 Off, Led 7 On, Led 8 Off
#include <avr/io.h>
int main(void){
DDRA=0xFF; //Port A0-7 sebagai output, penulisanya sama saja dengan : 0b11111111
while(1){
PORTA=0b01010101;
}
}
3. Program Led Kedip
#include <avr/io.h>
#include <util/delay.h> //memasukan library delay
int main(void){
DDRA=0xFF; //Port A jadi Output, bisa ditulis -> 0b11111111
while(1){
PORTA=0b11111111; // LED MATI
_delay_ms(120); // jeda 0.12 detik
PORTA=0b00000000; // led HIDUP
_delay_ms(150); // jeda 0.15 detik dan akan balik ke atas
}
}
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 52 
 
4. Program Menyalakan Geser Kanan
#include <avr/io.h>
#include <util/delay.h> //memasukan library delay
int main(void){
DDRA=0xFF; //Port A jadi Output, bisa ditulis -> 0b11111111
while(1){
PORTA=0b11111110;
_delay_ms(120);
PORTA=0b11111101;
_delay_ms(150);
PORTA=0b11111011;
_delay_ms(120);
PORTA=0b11110111;
_delay_ms(150);
PORTA=0b11101111;
_delay_ms(120);
PORTA=0b11011111;
_delay_ms(150);
PORTA=0b10111111;
_delay_ms(120);
PORTA=0b01111111;
_delay_ms(150);
}
}
5. Latihan
1. Buatlah program untuk menyalakan LED geser bergantian kekiri!
2. Buatlah program untuk menyalakan LED geser bergantian kekanan -kekiri!
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 53 
 
Progam Input dengan Push Button
Pada topik sebelumnya sudah dikenalkan cara meng-akses port sebagai keluaran, sehingga
selanjutnya pada topik ini akan digabung dengan masukan atau input. Masukan untuk
mikrokontroler bisa dari saklar, sinyal logika, atau rangkaian lain yang memiliki keluaran.
Sebagai dasar mempelajari masukan pada mikrokontroler, pada topik ini akan digunakan
saklar/button sebagai masukannya.
Mendefinisikan Port Sebagai Input
Cara mendefinisikan PORT sebagai inputan digunakan skrip berikut :
DDRB =0b00000000; //Semua 8 bit pada PORTB berfungsi sebagai masukan
//Bisa ditulis --> DDRB =0x00;
Kita juga bisa mengeset beberapa pin saja yang menjadi masukan contoh :
DDRB =0b11110000; //PinB0-3 sebagai masukan, PinB4-7 sebagai keluaran
//Bisa ditulis --> DDRB =0xF0;
Pengambilan Data Input / Masukan
Rangkaian masukan ke mikrokontroler kebanyakan mengambil prinsip falling edge sebagai sinyal
tanda aktif, atau bisa dikatakan memiliki logika aktif jika sinyal masukannya rendah (low).
Apabila terhubung dengan sebuah masukan dari saklar/button, maka saklar saat tertutup
terhubung dengan ground (Gnd). Sebaliknya, apabila saklar 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 di pull up, akan tetapi untuk mengamankan kondisi datanya , maka akan dipasang resistor
pull up lagi di luar pada system minimum. Berikut ilustrasi skematiknya;
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 54 
 
Instruksi yang digunakan untuk mengambil data masukan adalah dengan menggunakan register
PINx (seperti telah dijelaskan pada materi sebelumnya), Berikut penjabaran penulisan program
untuk membaca sinyal data dari luar :
PINA == 0b11111101;
Penjelasan :
pada PORTA bit 1 berlogika rendah (terdapat sinyal masukan), bit 0 dan
bit 2-7 berlogika 1 (tidak terdapat sinyal masukan)
Instruksi program masukan PIN biasanya digunakan bersamaan dengan dengan intruksi syarat
pada bahasa C. Salah satunya yaitu penggunaanya bersama instruksi “IF”, berikut contohnya;
if(PINA==0b11111101)
{
…….. (aksi yang dilakukan)
};
Atau pada perulangan “while”;
while(PINA==0b11111101)
{
…….. (aksi yang dilakukan berulang-ulang)
};
Penggunaan symbol “==” (sama dengan dua kali), mempunyai fungsi sebagai pertanyaan 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).
Contoh rangkaian :
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 55 
 
Penjelasan rangkaian : pada rangkaian di atas, tombol berada di PORTB yaitu di PB0-PB3 maka untuk
pendefinisian port B sebagai input adalah :
DDRB=0b11110000; atau DDRB=0xF0;
Kemudian berikan kondisi awal / default port dengan nilai 1 pada PB0-PB3 :
PORTB=0b11111111; atau PORTB=0xFF;
Contoh program :
1. Tombol untuk menyalakan 1 lampu
Skrip berikut ini akan menghasilkan program : Ketika tombol ditekan, lampu C0 akan menyala,
sementara ketika dilepaskan, lampu akan mati.
#include <avr/io.h>
#include <util/delay.h>
int main(void){
DDRB=0xF0; //PORTB0-3 jadi Input, PORTB4-7 jadi output
DDRC=0xFF; //PORTC sebagai Output
PORTB=0xFF; //Tombol default mendapat nilai 1
PORTC=0xFF; //LED Default Mati
while(1){
if(PINB==0b11111110) //Jika SW1 ditekan
{
PORTC=0b11111110; // PORT C0 lampu menyala
}
else //kondisi jika tombol tidak ditekan / dilepas
{
PORTC=0b11111111; //PORT C lampu mati (bisa ditulis 0xFF)
}
}
}
2. Dua Tombol, tombol 1 untuk menghidupkan dan tombol 2 untuk mematikan
Saklar Sw1 untuk menghidupkan LED, Saklar Sw2 untuk mematikan LED
...
...
if(PINB==0b11111110) //Jika SW1 ditekan
{
PORTC=0b11111110; // PORT C0 lampu menyala
}
if(PINB==0b11111101) //Jika SW2 ditekan
{
PORTC=0b11111111; //PORT C lampu mati (bisa ditulis 0xFF)
}
..
Modul Dasar Mikrokontroler | Beny Abdurrahman    | 56 
 
3. Tombol untuk menghidupkan led bergeser
if(PINB==0b11111110) //Jika SW1 ditekan
{
PORTC=0b11111110; // PORT C0 lampu menyala
_delay_ms(500);
PORTC=0b11111101; // PORT C1 lampu menyala
_delay_ms(500);
PORTC=0b11111011; // PORT C2 lampu menyala
_delay_ms(500);
......seterusnya
}
4. Tombol untuk mengakses beberapa port
#include <avr/io.h>
#include <util/delay.h>
int main(void){
DDRA=0xFF; //PORTA sebagai Output
DDRB=0xF0; //PORTB0-3 jadi Input, PORTB4-7 jadi output
DDRC=0xFF; //PORTC sebagai Output
DDRD=0xFF; //PORTD sebagai Output
PORTA=0xFF;
PORTB=0xFF; //Tombol default mendapat nilai 1
PORTC=0xFF; //LED Default Mati
PORTD=0xFF;
while(1){
if(PINB==0b11111110) //Jika SW1 ditekan
{
PORTA=0b11111110; // PORT A0 lampu menyala
}
if(PINB==0b11111101) //Jika SW2 ditekan
{
PORTC=0b11111110; // PORT C0 lampu menyala
}
if(PINB==0b11111011) //Jika SW3 ditekan
{
PORTD=0b11111110; // PORT D0 lampu menyala
}
if(PINB==0b11110111) //Jika SW4 ditekan (Led A dan C geser)
{
PORTA=0b11111110; // PORT A0 lampu menyala
PORTC=0b11111110; // PORT C0 lampu menyala
_delay_ms(500);
PORTA=0b11111100; // PORT A0,A1 lampu menyala
PORTC=0b11111100; // PORT C0,C1 lampu menyala
_delay_ms(500);
.....seterusnya
}
}
}

More Related Content

What's hot

Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
Buhori Muslim
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
Zifalaniasta
 
01 merancang fet mosfet
01 merancang fet mosfet01 merancang fet mosfet
01 merancang fet mosfet
agus saefudin
 
Data Logging Tegangan melalui Komunikasi Serial
Data Logging Tegangan melalui Komunikasi SerialData Logging Tegangan melalui Komunikasi Serial
Data Logging Tegangan melalui Komunikasi Serial
Nur Kholifah Hidayah
 
Register geser
Register geserRegister geser
Register geser
University of Lampung
 
Transformasi Fourier Waktu Kontinyu
Transformasi Fourier Waktu KontinyuTransformasi Fourier Waktu Kontinyu
Transformasi Fourier Waktu Kontinyu
yusufbf
 
Pengertian, Kurva, dan Karakteristik TRIAC
Pengertian, Kurva, dan Karakteristik TRIACPengertian, Kurva, dan Karakteristik TRIAC
Pengertian, Kurva, dan Karakteristik TRIAC
Toro Jr.
 
bahasa pemrograman perangkat keras VHDL
bahasa pemrograman perangkat keras VHDLbahasa pemrograman perangkat keras VHDL
bahasa pemrograman perangkat keras VHDL
Rakhmi Khalida, M.M.S.I
 
Bab 5 counter
Bab 5 counterBab 5 counter
Bab 5 counter
personal
 
Praktikum iii lcd, servo motor, dan keypad dengan proteus
Praktikum iii lcd, servo motor, dan keypad dengan proteusPraktikum iii lcd, servo motor, dan keypad dengan proteus
Praktikum iii lcd, servo motor, dan keypad dengan proteus
Farichah Riha
 
Laporan praktikum mikrokontroler
Laporan praktikum mikrokontrolerLaporan praktikum mikrokontroler
Laporan praktikum mikrokontroler
anis_mh
 
Rangkaian penyearah gelombang penuh dengan kapasitor sebagai filter
Rangkaian penyearah gelombang penuh dengan kapasitor sebagai filterRangkaian penyearah gelombang penuh dengan kapasitor sebagai filter
Rangkaian penyearah gelombang penuh dengan kapasitor sebagai filter
Ahmad Mukholik
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
laurensius08
 
Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2
lely charo
 
Modul teknik digital dan logika
Modul teknik digital dan logikaModul teknik digital dan logika
Modul teknik digital dan logikaBambang Apriyanto
 
Penyearah Satu Fasa Tidak terkontrol
Penyearah Satu Fasa Tidak terkontrolPenyearah Satu Fasa Tidak terkontrol
Penyearah Satu Fasa Tidak terkontrolUniv of Jember
 
8 kuantisasi
8 kuantisasi8 kuantisasi
8 kuantisasi
Simon Patabang
 
PCM (Pulse Code Modulation)
PCM (Pulse Code Modulation)PCM (Pulse Code Modulation)
PCM (Pulse Code Modulation)
Syauqina Idzni Adzhani
 
Laporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logikaLaporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logika
FebriTiaAldila
 
pemodelan state space
pemodelan state spacepemodelan state space
pemodelan state spaceRumah Belajar
 

What's hot (20)

Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
01 merancang fet mosfet
01 merancang fet mosfet01 merancang fet mosfet
01 merancang fet mosfet
 
Data Logging Tegangan melalui Komunikasi Serial
Data Logging Tegangan melalui Komunikasi SerialData Logging Tegangan melalui Komunikasi Serial
Data Logging Tegangan melalui Komunikasi Serial
 
Register geser
Register geserRegister geser
Register geser
 
Transformasi Fourier Waktu Kontinyu
Transformasi Fourier Waktu KontinyuTransformasi Fourier Waktu Kontinyu
Transformasi Fourier Waktu Kontinyu
 
Pengertian, Kurva, dan Karakteristik TRIAC
Pengertian, Kurva, dan Karakteristik TRIACPengertian, Kurva, dan Karakteristik TRIAC
Pengertian, Kurva, dan Karakteristik TRIAC
 
bahasa pemrograman perangkat keras VHDL
bahasa pemrograman perangkat keras VHDLbahasa pemrograman perangkat keras VHDL
bahasa pemrograman perangkat keras VHDL
 
Bab 5 counter
Bab 5 counterBab 5 counter
Bab 5 counter
 
Praktikum iii lcd, servo motor, dan keypad dengan proteus
Praktikum iii lcd, servo motor, dan keypad dengan proteusPraktikum iii lcd, servo motor, dan keypad dengan proteus
Praktikum iii lcd, servo motor, dan keypad dengan proteus
 
Laporan praktikum mikrokontroler
Laporan praktikum mikrokontrolerLaporan praktikum mikrokontroler
Laporan praktikum mikrokontroler
 
Rangkaian penyearah gelombang penuh dengan kapasitor sebagai filter
Rangkaian penyearah gelombang penuh dengan kapasitor sebagai filterRangkaian penyearah gelombang penuh dengan kapasitor sebagai filter
Rangkaian penyearah gelombang penuh dengan kapasitor sebagai filter
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2
 
Modul teknik digital dan logika
Modul teknik digital dan logikaModul teknik digital dan logika
Modul teknik digital dan logika
 
Penyearah Satu Fasa Tidak terkontrol
Penyearah Satu Fasa Tidak terkontrolPenyearah Satu Fasa Tidak terkontrol
Penyearah Satu Fasa Tidak terkontrol
 
8 kuantisasi
8 kuantisasi8 kuantisasi
8 kuantisasi
 
PCM (Pulse Code Modulation)
PCM (Pulse Code Modulation)PCM (Pulse Code Modulation)
PCM (Pulse Code Modulation)
 
Laporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logikaLaporan Praktikum Gerbang logika
Laporan Praktikum Gerbang logika
 
pemodelan state space
pemodelan state spacepemodelan state space
pemodelan state space
 

Viewers also liked

Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software  AVR Studio 4, Simulasi dan DownloaderBab 4. Penggunaan Software  AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Beny Abd
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol Elektronika
Beny Abd
 
Dioda
DiodaDioda
Dioda
Beny Abd
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformator
Beny Abd
 
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerModul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Beny Abd
 
Kerja Praktek
Kerja PraktekKerja Praktek
Kerja Praktek
Rohmat Rohmatullah
 
Bjt
BjtBjt
Bjt
mansen3
 
Aplikasi dioda
Aplikasi diodaAplikasi dioda
Aplikasi diodamansen3
 
243176098 3-superelevasi
243176098 3-superelevasi243176098 3-superelevasi
243176098 3-superelevasi
WSKT
 
07.pelatihan pengawas lapangan instalasi lift & eskalator
07.pelatihan pengawas lapangan instalasi lift & eskalator07.pelatihan pengawas lapangan instalasi lift & eskalator
07.pelatihan pengawas lapangan instalasi lift & eskalator
Firmansyah Kusasi
 
Evakuasi korban terjebak lift
Evakuasi korban terjebak  liftEvakuasi korban terjebak  lift
Evakuasi korban terjebak liftsafetyicm
 
Lift by martin muljana
Lift by martin muljanaLift by martin muljana
Lift by martin muljanaMartin Muljana
 
04.pengantar eskalator
04.pengantar eskalator04.pengantar eskalator
04.pengantar eskalator
Firmansyah Kusasi
 
Aplikasi motor listrik pada elevator
Aplikasi motor listrik pada elevatorAplikasi motor listrik pada elevator
Aplikasi motor listrik pada elevatorsuparman unkhair
 
06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung
06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung
06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung
Firmansyah Kusasi
 
01.perancangan sistem transportasi vertikal dalam gedung
01.perancangan sistem transportasi vertikal dalam gedung01.perancangan sistem transportasi vertikal dalam gedung
01.perancangan sistem transportasi vertikal dalam gedung
Firmansyah Kusasi
 
Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...
Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...
Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...
Instansi
 
Direktori SNI Wajib 2015
Direktori SNI Wajib 2015Direktori SNI Wajib 2015
Direktori SNI Wajib 2015
Muhammad Bahrudin
 
Dasar semikonduktor
Dasar semikonduktorDasar semikonduktor
Dasar semikonduktor
mansen3
 
Struktur Kurikulum SMK edisi 2016
Struktur Kurikulum SMK edisi 2016Struktur Kurikulum SMK edisi 2016
Struktur Kurikulum SMK edisi 2016
The World Bank
 

Viewers also liked (20)

Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software  AVR Studio 4, Simulasi dan DownloaderBab 4. Penggunaan Software  AVR Studio 4, Simulasi dan Downloader
Bab 4. Penggunaan Software AVR Studio 4, Simulasi dan Downloader
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol Elektronika
 
Dioda
DiodaDioda
Dioda
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformator
 
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerModul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
 
Kerja Praktek
Kerja PraktekKerja Praktek
Kerja Praktek
 
Bjt
BjtBjt
Bjt
 
Aplikasi dioda
Aplikasi diodaAplikasi dioda
Aplikasi dioda
 
243176098 3-superelevasi
243176098 3-superelevasi243176098 3-superelevasi
243176098 3-superelevasi
 
07.pelatihan pengawas lapangan instalasi lift & eskalator
07.pelatihan pengawas lapangan instalasi lift & eskalator07.pelatihan pengawas lapangan instalasi lift & eskalator
07.pelatihan pengawas lapangan instalasi lift & eskalator
 
Evakuasi korban terjebak lift
Evakuasi korban terjebak  liftEvakuasi korban terjebak  lift
Evakuasi korban terjebak lift
 
Lift by martin muljana
Lift by martin muljanaLift by martin muljana
Lift by martin muljana
 
04.pengantar eskalator
04.pengantar eskalator04.pengantar eskalator
04.pengantar eskalator
 
Aplikasi motor listrik pada elevator
Aplikasi motor listrik pada elevatorAplikasi motor listrik pada elevator
Aplikasi motor listrik pada elevator
 
06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung
06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung
06.teknik perawatan sarana transportasi vertikal dalam bangunan gedung
 
01.perancangan sistem transportasi vertikal dalam gedung
01.perancangan sistem transportasi vertikal dalam gedung01.perancangan sistem transportasi vertikal dalam gedung
01.perancangan sistem transportasi vertikal dalam gedung
 
Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...
Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...
Materi deputi ips_bsn_erniningsih_peran_standardisasi_dan_penilaian_kesesuaia...
 
Direktori SNI Wajib 2015
Direktori SNI Wajib 2015Direktori SNI Wajib 2015
Direktori SNI Wajib 2015
 
Dasar semikonduktor
Dasar semikonduktorDasar semikonduktor
Dasar semikonduktor
 
Struktur Kurikulum SMK edisi 2016
Struktur Kurikulum SMK edisi 2016Struktur Kurikulum SMK edisi 2016
Struktur Kurikulum SMK edisi 2016
 

Similar to Bab 5 Pengolahan Input Output

Mikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledMikrokontroler io tombol dan led
Mikrokontroler io tombol dan led
Jodit Sulistyo
 
2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535
Agung Gumelar
 
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Mabekni Yulianto
 
Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535
LAZY MAGICIAN
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i ii
sutono stn
 
1 mikrokontroler-avr1
1  mikrokontroler-avr11  mikrokontroler-avr1
1 mikrokontroler-avr1
Herdi Fadillah
 
Dasar dasar mikrokontroler
Dasar dasar mikrokontrolerDasar dasar mikrokontroler
Dasar dasar mikrokontroler
TantriIrawan
 
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Muhammad Kennedy Ginting
 
Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16
Sidiksetiyono17
 
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535al farisi
 
Mikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerMikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontroler
Azizah Amel
 
Mikrokontroler ATMega16
Mikrokontroler ATMega16Mikrokontroler ATMega16
Mikrokontroler ATMega16
S N M P Simamora
 
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Sidiksetiyono17
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iii
sutono stn
 
3 tak-ppi
3 tak-ppi3 tak-ppi
3 tak-ppiReden89
 
Draft decoder kelompok 1
Draft decoder kelompok 1Draft decoder kelompok 1
Draft decoder kelompok 1
Asistenpelatih
 
Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2  Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2
Muhammad Taufik
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
Wesnu Prajati
 
Mikroprosesor sttc
Mikroprosesor sttcMikroprosesor sttc
Mikroprosesor sttcBeni Putra
 

Similar to Bab 5 Pengolahan Input Output (20)

Mikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledMikrokontroler io tombol dan led
Mikrokontroler io tombol dan led
 
2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535
 
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3
 
Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i ii
 
1 mikrokontroler-avr1
1  mikrokontroler-avr11  mikrokontroler-avr1
1 mikrokontroler-avr1
 
Dasar dasar mikrokontroler
Dasar dasar mikrokontrolerDasar dasar mikrokontroler
Dasar dasar mikrokontroler
 
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
 
Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16Laporan Praktikum konveyor maju mundur menggunakan atmega16
Laporan Praktikum konveyor maju mundur menggunakan atmega16
 
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
Perancangan keypad mesin fotocopy sederhana menggunakan ATmega8535
 
Mikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerMikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontroler
 
Mikrokontroler ATMega16
Mikrokontroler ATMega16Mikrokontroler ATMega16
Mikrokontroler ATMega16
 
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
Laporan Praktikum Robot Maju Mundur menggunakan ATMega16
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iii
 
3 tak-ppi
3 tak-ppi3 tak-ppi
3 tak-ppi
 
Draft decoder kelompok 1
Draft decoder kelompok 1Draft decoder kelompok 1
Draft decoder kelompok 1
 
Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2  Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 
Mikroprosesor sttc
Mikroprosesor sttcMikroprosesor sttc
Mikroprosesor sttc
 
Program delphi
Program delphiProgram delphi
Program delphi
 

More from Beny Abd

Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Beny Abd
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Beny Abd
 
Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknik
Beny Abd
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home Theater
Beny Abd
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Beny Abd
 
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukMenempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Beny Abd
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home Theater
Beny Abd
 
Merawat Home Theater
Merawat Home Theater Merawat Home Theater
Merawat Home Theater
Beny Abd
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Beny Abd
 
Kebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterKebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home Theater
Beny Abd
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktor
Beny Abd
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - Kapasitor
Beny Abd
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - Resistor
Beny Abd
 

More from Beny Abd (13)

Modul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compilerModul 2 teknik pemrograman mengenal bahasa c dan compiler
Modul 2 teknik pemrograman mengenal bahasa c dan compiler
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesor
 
Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknik
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home Theater
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1 dan 6.1
 
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat dudukMenempatkan monitor gambar sesuai dengan jarak tempat duduk
Menempatkan monitor gambar sesuai dengan jarak tempat duduk
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home Theater
 
Merawat Home Theater
Merawat Home Theater Merawat Home Theater
Merawat Home Theater
 
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
Menempatkan peralatan audio menghasikan suara surround dengan sistem 4.1, 5.1...
 
Kebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home TheaterKebutuhan Peralatan Install Home Theater
Kebutuhan Peralatan Install Home Theater
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktor
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - Kapasitor
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - Resistor
 

Recently uploaded

Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
UditGheozi2
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
johan199969
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
muhammadyudiyanto55
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
haryonospdsd011
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
mattaja008
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
PURWANTOSDNWATES2
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
TarkaTarka
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
gloriosaesy
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
ferrydmn1999
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
MuhammadBagusAprilia1
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
Kurnia Fajar
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 

Recently uploaded (20)

Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERILAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
LAPORAN EKSTRAKURIKULER SEKOLAH DASAR NEGERI
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 

Bab 5 Pengolahan Input Output

  • 1. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 45    BAB V I/O ATMega16 ATMega16 dikemas dengan beberapa tipe, namun yang banyak digunakan dan mudah ditemui adalah tipe PDIP. Kemasan PDIP (Dual Inline Package) ini memiliki 40 kaki. Dimana terdiri dari 32 pin untuk input/output. Gambar susunan kaki ATMega16 bisa dilihat berikut : Port untuk Input dan Output dibagi menjadi 4 bagian yaitu PORT A, PORT B, PORT C dan PORT D. Keempat port tersebut merupakan jalur bi-directional yang dapat di program sebagai input maupun output melalui register. Berikut adalah register yang terkait dengan operasi I/O : • DDRx – Data Direction Register • PORTx – Pin Output Register • PINx – Pin Input Register dimana x = nama port (A, B, C atau D) REGISTER Sebelum membahas lebih jauh, kita perlu mengenal apa yang disebut dengan register. Register adalah suatu memori di dalam CPU yang bisa diakses secara sering dan cepat. Register berkaitan dengan berbagai operasi dalam mikrokontroler. Sebuah register berukuran 1 byte dimana sama dengan 8 bit data. Bit No. 7 6 5 4 3 2 1 0
  • 2. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 46    upper nibble lower nibble  Register DDRx Seperti yang telah dijelaskan sebelumnya, port dalam mikrokontroler adalah bidirectional dimana bisa diatur baik sebagai input maupun output. Untuk mengaturnya kita menggunakan bantuan register DDRx (Data Direction Register). Register DDRx  Bit No.  7  6  5  4  3  2  1  0  Nama  DDRx7  DDRx6  DDRx5  DDRx4  DDRx3  DDRx2  DDRx1  DDRx0  Nilai  0  0  0  0  0  0  0  0  ‘x’ pada tabel diatas bisa diganti dengan nama port (A, B , C atau D). Sebagai contoh : DDRC = (1<<DDC0)|(1<<DDC4)|(1<<DDC5)|(1<<DDC7); Penulisan di atas sama saja dengan DDRC = 0b10110001; atau DDRC = 0xB1; atau juga DDRC = (1<<0)|(1<<4)|(1<<5)|(1<<7); Bagaimana jika ingin mengakses port B? Ganti x dengan B : DDRB = (1<<DDB0)|(1<<DDB4)|(1<<DDB5)|(1<<DDB7); atau dengan: DDRB = 0xB1; atau DDRB = 0b10110001; Sekarang coba kita lihat di port mikrokontrolernya, nilai 1 menjadikan port sebagai output dan 0 sebagai input. Pada gambar di samping, berarti pin PC7, PC5, PC4 dan PC0 telah diset sebagai Output. Sedangkan pin PC6, PC3, PC2 dan PC1 sebagai input. Pin input nantinya akan dapat membaca masukan logika baik itu high (1) atau low (0). Begitu juga untuk pin output akan dapat mengeluarkan logika 1 (tegangan = VCC/5v) dan 0 (tegangan = 0/Gnd).
  • 3. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 47    PORTx Register PORTx berfungsi untuk memberikan nilai keluaran pin Output, apakah berlogika 1 atau 0. Setelah pin di set menjadi output, kita bisa memberikan nilai logika baik 1 atau 0. Ilutrasi register PORTx : Bit No.  7  6  5  4  3  2  1  0  Nama  PORTx7  PORTx6  PORTx5  PORTx4  PORTx3  PORTx2  PORTx1  PORTx0  Nilai  0  0  0  0  0  0  0  0  Register ini sama dengan register DDRx, yang membedakan hanya namanya yaitu PORTx. Untuk penulisannya pun juga sama, mari kita lihat contoh di bawah ini : PORTD = (1 << PD0)|(1 << PD3)|(1 << PD6); PORTD = (1 << 0)|(1 << 3)|(1 << 6); PORTD = 0b01001001; PORTD = 0x49; Kita lihat contoh program : DDRC = 0b10110001; PORTC = 0b10010001; OUTPUT = 0b10010001; Port C diinisialisasi menggunakan DDRx register. Bit yang berwarna oranye menandakan sebagai pin output. Sekarang, mari berkonsentrasi pada bit berwarna oranye saja. Karena mereka adalah pin output, ketika diberi nilai '1' di PORT, pin akan berlogika HIGH (1), dan akan memberikan tegangan output VCC di pin itu. Sekarang lihat contoh lain : DDRC = 0b10110001; PORTC = 0b10010101; OUTPUT = 0b10010001; Sekali lagi, bit berwarna oranye berarti adalah pin output. Jadi, apapun nilai (0 atau 1) yang diberikan pada bit oranye tersebut, hasilnya akan sama pada output. Sekarang, lihat bit berwarna merah. Meskipun kita memberi logika HIGH (1) di register PORTx, output yang keluar tetap bernilai LOW (0). Hal ini karena pin diinisialisasi sebagai pin input oleh DDRx. Oleh karena itu, PORTx tidak dapat mengubah nilai dari pin itu. Oleh karena itu, secara umum, PORTx tidak dapat memodifikasi properti dari pin yang diinisialisasi sebagai input oleh DDRx.
  • 4. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 48    PINx Register Register PINx memperoleh nilai dari membaca masukan/inputan pin mikrokontroler. Registernya adalah berikut : Bit No.  7  6  5  4  3  2  1  0  Nama  PINx7  PINx6  PINx5  PINx4  PINx3  PINx2  PINx1  PINx0  Nilai  0  0  0  0  0  0  0  0  Prosedur penulisan register PINx masih sama. DDRC = 0b10110001; PINC = 0b01001011; INPUT = 0b01001011; Di sini, bit berwarna sesuai dengan pin yang diinisialisasi sebagai input oleh DDRx. Pada baris kedua, PINx register didefinisikan. Nah, contoh ini hanya untuk menjelaskan konsep, dalam praktiknya kita selalu menggunakan PINx sebagai kondisi (seperti di IF atau WHILE loop). Sesuai pernyataan kedua, perintah PINx membaca nilai hanya pada pin input. DDRC = 0b10110001; PINC = 0b01011010; INPUT = 0b01001010; Di sini, Anda dapat membandingkannya dengan contoh yang saya miliki untuk PORTx. Karena bit berwarna merah adalah pin output, PINx tidak bisa mengubah nilainya. Oleh karena itu, secara umum, PINx tidak dapat memodifikasi properti dari pin yang diinisialisasi sebagai output oleh DDRx dan sebaliknya. Contoh Program DDRC = 0x0F; PORTC = 0x0C; // asumsi tegangan 4v dialirkan ke PORTC.6 dan Vcc = 5V if (PINC == 0b01000000) PORTC = 0x0B; else PORTC = 0x00; Penjelasan : o DDRC = 0x0f; setara dengan DDRC = 0b00001111; Ini berarti bahwa pin PC0 - PC3 adalah pin output (dapat dimanipulasi menggunakan PORTC) dan pin PC4 ... PC7 yang pin input (yang kadarnya menentukan nilai pinc).
  • 5. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 49    o PORTC = 0x0C; setara dengan PORTC = 0b00001100; Ini berarti bahwa pin PC2 dan PC3 memiliki tegangan HIGH (Vcc = 5V) dan pin PC0 dan PC1 memiliki tegangan LOW (0V). Pin lainnya memiliki tegangan rendah secara default. o if (pinc = 0b01000000) memeriksa tegangan input pada pin PC6. Karena itu disebutkan dalam komentar yang 4V sebuah dipasok ke PORTC.6 (sama seperti pin PC6), kondisi ini benar (seperti 4> 2,5, di mana 2.5V adalah ambang batas, 5/2 = 2,5). o Karena kondisi if : benar, PORTC = 0x0B; dijalankan. o Jika kondisi if tidak terpenuhi, PORTC = 0x00; akan dieksekusi.
  • 6. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 50    Program menyalakan led Sebelum memrogram led, kita harus melihat skematik rangkaian untuk bisa menentukan apakah led akan menyala atau mati ketika diberikan logika 1/0. Ada beberapa tipe kerja rangkaian untuk mengaksesnya, yaitu Aktif LOW dan Aktif High. Aktif LOW merupakan kerja rangkaian yang dapat dioperasikan/di –ON –kan dengan diberi logika rendah (“0”/0). Sedangkan Aktif HIGH merupakan kerja rangkaian yang dapat dioperasikan/di-ON-kan dengan diberi logika tinggi (“1”/+5V). Berdasarkan skematik dari kerja rangkaian diatas dapat digambarkan sebagai berikut: Penulisan skrip bisa dilakukan secara hexa maupun biner, dengan keterangan penjelasan bisa dilihat di tabel : Contoh penulisan skrip di atas, untuk hexa 0x0F sama saja penulisannya dengan biner 0b00001111, yang berarti bahwa bit0 – bit3 mendapatkan logika high (tegangan vcc / 5 volt) dan bit4 – bit7 mendapat logika low, yaitu tegagan 0 volt / ground. Gambar rangkaian untuk praktikum di bawah :
  • 7. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 51    1. Menyalakan semua led bersama #include <avr/io.h> int main(void){ DDRA=0xFF; //Port A0-7 sebagai output, penulisanya sama saja dengan : 0b11111111 while(1){ PORTA=0b00000000; //bisa ditulis 0x0F //berarti port A mengeluarkan tegangan 0 / GND //sehingga led akan menyala } } 2. Led 1 On, Led 2 Off, Led 3 On, Led 4 Off, Led 5 On, Led 6 Off, Led 7 On, Led 8 Off #include <avr/io.h> int main(void){ DDRA=0xFF; //Port A0-7 sebagai output, penulisanya sama saja dengan : 0b11111111 while(1){ PORTA=0b01010101; } } 3. Program Led Kedip #include <avr/io.h> #include <util/delay.h> //memasukan library delay int main(void){ DDRA=0xFF; //Port A jadi Output, bisa ditulis -> 0b11111111 while(1){ PORTA=0b11111111; // LED MATI _delay_ms(120); // jeda 0.12 detik PORTA=0b00000000; // led HIDUP _delay_ms(150); // jeda 0.15 detik dan akan balik ke atas } }
  • 8. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 52    4. Program Menyalakan Geser Kanan #include <avr/io.h> #include <util/delay.h> //memasukan library delay int main(void){ DDRA=0xFF; //Port A jadi Output, bisa ditulis -> 0b11111111 while(1){ PORTA=0b11111110; _delay_ms(120); PORTA=0b11111101; _delay_ms(150); PORTA=0b11111011; _delay_ms(120); PORTA=0b11110111; _delay_ms(150); PORTA=0b11101111; _delay_ms(120); PORTA=0b11011111; _delay_ms(150); PORTA=0b10111111; _delay_ms(120); PORTA=0b01111111; _delay_ms(150); } } 5. Latihan 1. Buatlah program untuk menyalakan LED geser bergantian kekiri! 2. Buatlah program untuk menyalakan LED geser bergantian kekanan -kekiri!
  • 9. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 53    Progam Input dengan Push Button Pada topik sebelumnya sudah dikenalkan cara meng-akses port sebagai keluaran, sehingga selanjutnya pada topik ini akan digabung dengan masukan atau input. Masukan untuk mikrokontroler bisa dari saklar, sinyal logika, atau rangkaian lain yang memiliki keluaran. Sebagai dasar mempelajari masukan pada mikrokontroler, pada topik ini akan digunakan saklar/button sebagai masukannya. Mendefinisikan Port Sebagai Input Cara mendefinisikan PORT sebagai inputan digunakan skrip berikut : DDRB =0b00000000; //Semua 8 bit pada PORTB berfungsi sebagai masukan //Bisa ditulis --> DDRB =0x00; Kita juga bisa mengeset beberapa pin saja yang menjadi masukan contoh : DDRB =0b11110000; //PinB0-3 sebagai masukan, PinB4-7 sebagai keluaran //Bisa ditulis --> DDRB =0xF0; Pengambilan Data Input / Masukan Rangkaian masukan ke mikrokontroler kebanyakan mengambil prinsip falling edge sebagai sinyal tanda aktif, atau bisa dikatakan memiliki logika aktif jika sinyal masukannya rendah (low). Apabila terhubung dengan sebuah masukan dari saklar/button, maka saklar saat tertutup terhubung dengan ground (Gnd). Sebaliknya, apabila saklar 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 di pull up, akan tetapi untuk mengamankan kondisi datanya , maka akan dipasang resistor pull up lagi di luar pada system minimum. Berikut ilustrasi skematiknya;
  • 10. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 54    Instruksi yang digunakan untuk mengambil data masukan adalah dengan menggunakan register PINx (seperti telah dijelaskan pada materi sebelumnya), Berikut penjabaran penulisan program untuk membaca sinyal data dari luar : PINA == 0b11111101; Penjelasan : pada PORTA bit 1 berlogika rendah (terdapat sinyal masukan), bit 0 dan bit 2-7 berlogika 1 (tidak terdapat sinyal masukan) Instruksi program masukan PIN biasanya digunakan bersamaan dengan dengan intruksi syarat pada bahasa C. Salah satunya yaitu penggunaanya bersama instruksi “IF”, berikut contohnya; if(PINA==0b11111101) { …….. (aksi yang dilakukan) }; Atau pada perulangan “while”; while(PINA==0b11111101) { …….. (aksi yang dilakukan berulang-ulang) }; Penggunaan symbol “==” (sama dengan dua kali), mempunyai fungsi sebagai pertanyaan 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). Contoh rangkaian :
  • 11. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 55    Penjelasan rangkaian : pada rangkaian di atas, tombol berada di PORTB yaitu di PB0-PB3 maka untuk pendefinisian port B sebagai input adalah : DDRB=0b11110000; atau DDRB=0xF0; Kemudian berikan kondisi awal / default port dengan nilai 1 pada PB0-PB3 : PORTB=0b11111111; atau PORTB=0xFF; Contoh program : 1. Tombol untuk menyalakan 1 lampu Skrip berikut ini akan menghasilkan program : Ketika tombol ditekan, lampu C0 akan menyala, sementara ketika dilepaskan, lampu akan mati. #include <avr/io.h> #include <util/delay.h> int main(void){ DDRB=0xF0; //PORTB0-3 jadi Input, PORTB4-7 jadi output DDRC=0xFF; //PORTC sebagai Output PORTB=0xFF; //Tombol default mendapat nilai 1 PORTC=0xFF; //LED Default Mati while(1){ if(PINB==0b11111110) //Jika SW1 ditekan { PORTC=0b11111110; // PORT C0 lampu menyala } else //kondisi jika tombol tidak ditekan / dilepas { PORTC=0b11111111; //PORT C lampu mati (bisa ditulis 0xFF) } } } 2. Dua Tombol, tombol 1 untuk menghidupkan dan tombol 2 untuk mematikan Saklar Sw1 untuk menghidupkan LED, Saklar Sw2 untuk mematikan LED ... ... if(PINB==0b11111110) //Jika SW1 ditekan { PORTC=0b11111110; // PORT C0 lampu menyala } if(PINB==0b11111101) //Jika SW2 ditekan { PORTC=0b11111111; //PORT C lampu mati (bisa ditulis 0xFF) } ..
  • 12. Modul Dasar Mikrokontroler | Beny Abdurrahman    | 56    3. Tombol untuk menghidupkan led bergeser if(PINB==0b11111110) //Jika SW1 ditekan { PORTC=0b11111110; // PORT C0 lampu menyala _delay_ms(500); PORTC=0b11111101; // PORT C1 lampu menyala _delay_ms(500); PORTC=0b11111011; // PORT C2 lampu menyala _delay_ms(500); ......seterusnya } 4. Tombol untuk mengakses beberapa port #include <avr/io.h> #include <util/delay.h> int main(void){ DDRA=0xFF; //PORTA sebagai Output DDRB=0xF0; //PORTB0-3 jadi Input, PORTB4-7 jadi output DDRC=0xFF; //PORTC sebagai Output DDRD=0xFF; //PORTD sebagai Output PORTA=0xFF; PORTB=0xFF; //Tombol default mendapat nilai 1 PORTC=0xFF; //LED Default Mati PORTD=0xFF; while(1){ if(PINB==0b11111110) //Jika SW1 ditekan { PORTA=0b11111110; // PORT A0 lampu menyala } if(PINB==0b11111101) //Jika SW2 ditekan { PORTC=0b11111110; // PORT C0 lampu menyala } if(PINB==0b11111011) //Jika SW3 ditekan { PORTD=0b11111110; // PORT D0 lampu menyala } if(PINB==0b11110111) //Jika SW4 ditekan (Led A dan C geser) { PORTA=0b11111110; // PORT A0 lampu menyala PORTC=0b11111110; // PORT C0 lampu menyala _delay_ms(500); PORTA=0b11111100; // PORT A0,A1 lampu menyala PORTC=0b11111100; // PORT C0,C1 lampu menyala _delay_ms(500); .....seterusnya } } }