SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
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
}
}
}

Más contenido relacionado

La actualidad más candente

Signal conditioning
Signal conditioningSignal conditioning
Signal conditioningFani Hakim
 
Proteksi sistem-tenaga-listrik
Proteksi sistem-tenaga-listrikProteksi sistem-tenaga-listrik
Proteksi sistem-tenaga-listrikJohari Zhou Hao Li
 
Materi s-parameter
Materi s-parameterMateri s-parameter
Materi s-parameterampas03
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusKukuh Adhi Rumekso
 
Multivibrator Bestable
Multivibrator BestableMultivibrator Bestable
Multivibrator BestableAlfi Diantoro
 
Dasar Telekomunikasi - Slide week 10 - pensinyalan
Dasar Telekomunikasi - Slide week 10 - pensinyalanDasar Telekomunikasi - Slide week 10 - pensinyalan
Dasar Telekomunikasi - Slide week 10 - pensinyalanBeny Nugraha
 
4 metoda analisis rangkaian elektronika
4 metoda analisis rangkaian elektronika4 metoda analisis rangkaian elektronika
4 metoda analisis rangkaian elektronikaSimon Patabang
 
Menggunakan cx programmer
Menggunakan  cx programmerMenggunakan  cx programmer
Menggunakan cx programmerBonanza Pratama
 
4.panel hubung bagi rumah
4.panel hubung bagi rumah4.panel hubung bagi rumah
4.panel hubung bagi rumahBambang Haryono
 
Sistem input output
Sistem input outputSistem input output
Sistem input outputAngling_seto
 
7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeter7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeterSimon Patabang
 
Transmisi Daya Listrik
Transmisi Daya ListrikTransmisi Daya Listrik
Transmisi Daya ListrikMulia Damanik
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR KEN KEN
 
Transformasi sumber (tegangan dan arus)
Transformasi sumber (tegangan dan arus)Transformasi sumber (tegangan dan arus)
Transformasi sumber (tegangan dan arus)Pamor Gunoto
 

La actualidad más candente (20)

Modul pengenalan proteus
Modul pengenalan proteusModul pengenalan proteus
Modul pengenalan proteus
 
Signal conditioning
Signal conditioningSignal conditioning
Signal conditioning
 
Sistem bus komputer
Sistem bus komputerSistem bus komputer
Sistem bus komputer
 
Proteksi sistem-tenaga-listrik
Proteksi sistem-tenaga-listrikProteksi sistem-tenaga-listrik
Proteksi sistem-tenaga-listrik
 
Dioda
DiodaDioda
Dioda
 
Buck Boost Converter
Buck Boost ConverterBuck Boost Converter
Buck Boost Converter
 
Materi s-parameter
Materi s-parameterMateri s-parameter
Materi s-parameter
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteus
 
Multivibrator Bestable
Multivibrator BestableMultivibrator Bestable
Multivibrator Bestable
 
Dasar Telekomunikasi - Slide week 10 - pensinyalan
Dasar Telekomunikasi - Slide week 10 - pensinyalanDasar Telekomunikasi - Slide week 10 - pensinyalan
Dasar Telekomunikasi - Slide week 10 - pensinyalan
 
4 metoda analisis rangkaian elektronika
4 metoda analisis rangkaian elektronika4 metoda analisis rangkaian elektronika
4 metoda analisis rangkaian elektronika
 
Menggunakan cx programmer
Menggunakan  cx programmerMenggunakan  cx programmer
Menggunakan cx programmer
 
Analisis sinyal sinyal kecil
Analisis sinyal sinyal kecilAnalisis sinyal sinyal kecil
Analisis sinyal sinyal kecil
 
multimeter
multimetermultimeter
multimeter
 
4.panel hubung bagi rumah
4.panel hubung bagi rumah4.panel hubung bagi rumah
4.panel hubung bagi rumah
 
Sistem input output
Sistem input outputSistem input output
Sistem input output
 
7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeter7. instrumen volt meter dan ammeter
7. instrumen volt meter dan ammeter
 
Transmisi Daya Listrik
Transmisi Daya ListrikTransmisi Daya Listrik
Transmisi Daya Listrik
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
 
Transformasi sumber (tegangan dan arus)
Transformasi sumber (tegangan dan arus)Transformasi sumber (tegangan dan arus)
Transformasi sumber (tegangan dan arus)
 

Destacado

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 DownloaderBeny Abd
 
Modul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaModul Gambar Teknik : KB2. Simbol Elektronika
Modul Gambar Teknik : KB2. Simbol ElektronikaBeny Abd
 
Induktor dan transformator
Induktor dan transformatorInduktor dan transformator
Induktor dan transformatorBeny Abd
 
Modul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerModul Mikrokontroler - Bab 3. Pemrograman Mikrokontroler
Modul Mikrokontroler - Bab 3. Pemrograman MikrokontrolerBeny Abd
 
Aplikasi dioda
Aplikasi diodaAplikasi dioda
Aplikasi diodamansen3
 
243176098 3-superelevasi
243176098 3-superelevasi243176098 3-superelevasi
243176098 3-superelevasiWSKT
 
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 & eskalatorFirmansyah 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
 
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 gedungFirmansyah 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 gedungFirmansyah 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
 
Dasar semikonduktor
Dasar semikonduktorDasar semikonduktor
Dasar semikonduktormansen3
 
Struktur Kurikulum SMK edisi 2016
Struktur Kurikulum SMK edisi 2016Struktur Kurikulum SMK edisi 2016
Struktur Kurikulum SMK edisi 2016The World Bank
 

Destacado (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 a Bab 5 Pengolahan Input Output

Mikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledMikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledJodit Sulistyo
 
2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535Agung 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 8535LAZY MAGICIAN
 
Modul arduino i ii
Modul arduino i iiModul arduino i ii
Modul arduino i iisutono stn
 
Dasar dasar mikrokontroler
Dasar dasar mikrokontrolerDasar dasar mikrokontroler
Dasar dasar mikrokontrolerTantriIrawan
 
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 atmega16Sidiksetiyono17
 
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 mikrokontrolerAzizah Amel
 
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
 
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 ATMega16Sidiksetiyono17
 
Modul arduino iii
Modul arduino iiiModul arduino iii
Modul arduino iiisutono 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 1Asistenpelatih
 
Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2  Praktikum Mikrokontoler 2
Praktikum Mikrokontoler 2 Muhammad Taufik
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan ledSawah Dan Ladang Ku
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Wesnu Prajati
 

Similar a 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
 
Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2 Makalah mikroprosesor jam digital dengan LCD16X2
Makalah mikroprosesor jam digital dengan LCD16X2
 
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 ledLaporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 
Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led Laporan praktikum mikrokontroler dengan led
Laporan praktikum mikrokontroler dengan led
 

Más de 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 compilerBeny Abd
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorBeny Abd
 
Pengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikPengenalan alat dan bahan gambar teknik
Pengenalan alat dan bahan gambar teknikBeny Abd
 
Melakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterMelakukan Troubleshooting Hasil Install Home Theater
Melakukan Troubleshooting Hasil Install Home TheaterBeny 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.1Beny 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 dudukBeny Abd
 
TV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterTV Proyektor dalam Home Theater
TV Proyektor dalam Home TheaterBeny 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 TheaterBeny Abd
 
Komponen pasif induktor
Komponen pasif induktorKomponen pasif induktor
Komponen pasif induktorBeny Abd
 
Elektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorElektronika Dasar - Kapasitor
Elektronika Dasar - KapasitorBeny Abd
 
Elektronika Dasar - Resistor
Elektronika Dasar - ResistorElektronika Dasar - Resistor
Elektronika Dasar - ResistorBeny Abd
 

Más de 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
 

Último

MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAppgauliananda03
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfJarzaniIsmail
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxIvvatulAini
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxHaryKharismaSuhud
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYNovitaDewi98
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfIwanSumantri7
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptxnursariheldaseptiana
 
Latihan Soal untuk US dan Tryout SMP 2024
Latihan Soal untuk  US dan Tryout SMP 2024Latihan Soal untuk  US dan Tryout SMP 2024
Latihan Soal untuk US dan Tryout SMP 2024panyuwakezia
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxwawan479953
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptnovibernadina
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxfitriaoskar
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptnabilafarahdiba95
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxDEAAYUANGGREANI
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf
668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf
668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdfAfriYani29
 

Último (20)

MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
Latihan Soal untuk US dan Tryout SMP 2024
Latihan Soal untuk  US dan Tryout SMP 2024Latihan Soal untuk  US dan Tryout SMP 2024
Latihan Soal untuk US dan Tryout SMP 2024
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf
668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf
668579210-Visi-Gp-Berdasarkan-Tahapan-Bagja.pdf
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 

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 } } }