Disusun oleh :
i
KATA PENGANTAR
Puji syukur kami ucapkan atas kehadirat Allah SWT, karena dengan rahmat
dan karunia-Nya kami masih diberi kesempatan untuk menyelesaikan makalah
ini.Tidak lupa kami ucapkan kepada teman yang telah memberikan dukungan
dalam menyelesaikan makalah ini.
Makalah ini disusun dengan tujuan untuk memberikan pengetahuan tambahan
tentang penjelasan Mikrokontroler terhadap mahasiswa/i dimana mahasiswa/i bisa
mengambil pelajaran dari makalah kami yang bisa mengembangkan kompetensi
peserta didik dalam memperbaiki memperdalam ilmu tentang sistem
Mikrokontroler .
Walaupun kami telah menyusun makalah ini dengan upaya yang sungguh-
sungguh, karena berbagai keterbatasan kami, makalah ini masih memiliki sejumlah
kekurangan. Sehubungan dengan hal tersebut, kami mohon maaf atas kekurangan
dalam pembuatan makalah ini.
ii
DAFTAR ISI
BAB I : PENDAHULUAN
1.1 Latar Belakang ............................................................................................ 1
1.2 Rumusan Masalah ....................................................................................... 1
1.3 Maksud dan Tujuan ..................................................................................... 1
1.4 Metode Penulisan ........................................................................................ 2
1.5 Sistem Penulisan.......................................................................................... 2
BAB II : PEMBAHASAN
2.1 Pengertian Mikrokontroler Atmega 32 ......................................................... 3
2.2 Pengertian Keypad 3*4 ................................................................................. 4
2.3 Pengertian LED dan Resistor ........................................................................ 6
2.4 Pengertian 7 Segment .................................................................................... 7
2.5 Konfigurasi Pin AT MEGA 8535 ................................................................. 6
2.6 Deskripsi Pin Mikrokontroler AT MEGA 8535 ........................................... 8
iii
1
BAB I
PENDAHULUAN
1.2Rumusan Masalah
BAB II
PENJELASAN
Atmega 32
Atmega32 adalah mikrokontroler 8 bit dari keluarga AVR dengan kapasitas
penyimpan programmable flash sebesar 32KB. Atmega merupakan salah satu
produk IC mikrokontroler dari perusahaan mikrokontroler terkemuka, atmel. Nama
AVR sendiri konon merupakan singkatan dari alf dan vegard’s Risc Processor.
Nama Alf dan Vegard diambil dari nama perancang arsitekturnya Alf-Egil
Bogen dan Vegard Wollan. Sedangkan kata Risc Processor menandakan
mikrokontroler ini termasuk jenis mikrokontroler dengan instruksi set terbatas
atau Reduced Instruction Set Computer (RISC).
Atmega32 merupakan seri terkini dari kelompok MegaAVR. ATMEGA32
merupakan penerus dari generasi ATMEGA8 dan ATMEGA16. Sebagai generasi
terbaru, ATMEGA32 tentu memiliki fitur yang lebih canggih dibanding dengan
generasi sebelumnya. ATMEGA32 memiliki kapasitas memori programmable
flash sebesar 32KB, dua kali lebih besar dari ATMEGA16. Selain itu ATMEGA32
juga memiliki EEPROM dan RAM dua kali lebih besar dari ATMEGA16 yakni
EEPPOM sebesar 1KB dan SRAM sebesar 2KB.
IC ATMEGA32 memiliki 32 pin GPIO (General Purpose Input Output). Dari pin
ini bisa diprogram dalam berbagai fungsi seperti ADC, UART, INTERRUPT dan
TIMER. Proses download program flash memori melalui sistem ISP (In System
Programming) juga dilakukan melalui GPIO ini.
Secara fisik, Mikrokontroler ATMEGA32 dikemas dalam dua model, yaitu PDIP
40 pin dan TQFP 44 pin. Kemasan PDIP atau singkatan dari Plastic Dual In Line
Package adalah yang umum kita pakai yaitu kemasan dengan dua buah kaki berjajar
masing-masing 20 pin. Sedangkan kemasan TQFP atau singkatan dari Thin Quad
4
Flat Pack adalah kemasan model SMD (Surface Mount Device) yang umum dipakai
pada produk pabrik.
Bentuk fisik pin dari IC ATMEGA32 model PDIP 40 pin :
Bentuk fisik dan konfigurasi pin dari IC ATMEGA32 model TQFP 44 pin :
Keypad 3*4
Keypad 3x4 yang tersedia di pasaran adalah seperti gambar diatas. Keypad
ini biasanya digunakan untuk berbagai aplikasi yang mengharuskan penggunaan
tombol sebagai input numeric maupun abjad. Misalnya untuk telepon, tiket printer
dll.
5
Keypad 3x4 berarti memiliki 12 tombol, tapi kenapa pin yang tersedia
hanya 7 atau 8 ???. nah itu dia. Coba perhatikan gambar berikut ini
Ketujuh atau kedelapan pin tersebut adalah 3 pin untuk kolom dan 4 pin untuk
baris. Untuk mengakses keypad ini tidak seperti push button biasa. Adapun cara
yang saya pakai untuk mengakses keypad ini adalah dengan metode scanning.
berikut ini adalah program dengan bahasa C untuk mengakses keypad ini. saya
buat scanning pada PORTC 4-6 artinya PORTC 4-6 adalah pin output, kali ini
saya membuat PINC 4-6 sebagai output low. misalnya angka '1' pada keypad
ditekan output low dari col1 atau PINC.4 akan terhubung ke PINC.0 atau row1.
row1 - row4 yaitu PINC 0-3 adalah PIN yang berfungsi sebagai input dengan
kondisi high, hal ini diharapkan ketika ada tombol yang ditekan akan ada
perubahan logic di PIN input tersebut sehingga mudah untuk dikenali oleh PIN
input.
if(countscankeypad==3){countscankeypad=0;}
if(PINC.0==0&&PORTC.4==0){padkey='1';}
if(PINC.1==0&&PORTC.4==0){padkey='4';}
if(PINC.2==0&&PORTC.4==0){padkey='7';}
if(PINC.3==0&&PORTC.6==0){padkey='#';}
if(PINC.0==0&&PORTC.5==0){padkey='2';}
if(PINC.1==0&&PORTC.5==0){padkey='5';}
if(PINC.2==0&&PORTC.5==0){padkey='8';}
if(PINC.3==0&&PORTC.5==0){padkey='0';}
if(PINC.0==0&&PORTC.6==0){padkey='3';}
if(PINC.1==0&&PORTC.6==0){padkey='6';}
if(PINC.2==0&&PORTC.6==0){padkey='9';}
if(PINC.3==0&&PORTC.4==0){padkey='*';}
return padkey;
}
//init keypad
DDRC=0b01110000;
PORTC=0b00001111;
LED
Dari gambar diatas dapat kita ketahui bahwa LED memiliki kaki 2 buah seperti
dengan dioda yaitu kaki anoda dan kaki katoda. Pada gambar diatas kaki anoda
memiliki ciri fisik lebih panjang dari kaki katoda pada saat masih baru, kemudian
kaki katoda pada LED (Light Emitting Dioda) ditandai dengan bagian body LED
yang di papas rata. Kaki anoda dan kaki katoda pada LED (Light Emitting Dioda)
disimbolkan seperti pada gambar diatas. Pemasangan LED (Light Emitting Dioda)
agar dapat menyala adalah dengan memberikan tegangan bias maju yaitu dengan
memberikan tegangan positif ke kaki anoda dan tegangan negatif ke kaki katoda.
Konsep pembatas arus pada dioda adalah dengan memasangkan resistor secara seri
pada salah satu kaki LED (Light Emitting Dioda). Rangkaian dasar untuk
menyalakan LED (Light Emitting Dioda) membutuhkan sumber tegangan LED
dan resistor sebgai pembatas arus seperti pada rangkaian berikut.
Rangkaian Dasar Menyalakan LED (Light Emitting Dioda)
Prinsip Kerja
Prinsip kerja seven segmen ialah input biner pada switch dikonversikan masuk ke
dalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut
menjadi decimal, yang nantinya akan ditampilkan pada seven segment. Prinsip
kerja seven segment ialah input biner pada switch dikonversikan masuk ke dalam
decoder, baru kemudian decoder mengkonversi bilangan biner tersebut menjadi
decimal, yang nantinya akan ditampilkan pada seven segment.
Pada rangkaian tersebut dapat anda perhatikan bagian seven segmen, karena seven
segmen yang digunakan adalah common anoda, maka segmen tersebut dapat
nyala apabila mendapat logika ‘0’ pada bagian katoda. Dengan kata lain untuk
menghidupkan seven segmen yang terkoneksi ke mikrokontroler port paralel
maka harus dioutputkan logika ‘0’.Sehingga pada contoh tersebut, agar dapat
ditampilkan angka 3 pada seven segmen maka port P0 harus mengeluarkan data
00110000b. Untuk angka SATU (1) maka satu sisi yang aktif dengan 2 segment
yaitu b dan c. Untuk angka NOL (0) maka empat sisi yang aktif dengan 6 segment
yaitu a,b,c,d,e dan f.
Tabel berikut ini memberikan bilangan hexadecimal untuk menampilakan angka 0
sampai 9:
Seven Segment terdiri dari 2 jenis, yaitu Common Katode (kaki katoda
dihubungkan bersama) dan Common Anode (kaki anoda dihubungkan bersama).
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 02/01/2018
Author : Muhammad Notonugroho
Company :
Comments:
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 11,059200 MHz
11
#include <mega16.h>
#include <delay.h>
// Declare your global variables he
char digit1,digit2,digit3,digit0;
char digit4,digit5,digit6;
char digit7,digit8,digit9;
void jalankiri()
{
PORTA=0b00000001;
delay_ms(100);
PORTA=0b00000010;
delay_ms(100);
PORTA=0b00000100;
delay_ms(100);
PORTA=0b00001000;
delay_ms(100);
PORTA=0b00010000;
delay_ms(100);
PORTA=0b00100000;
delay_ms(100);
PORTA=0b01000000;
delay_ms(100);
12
PORTA=0b10000000;
delay_ms(100);
PORTA=0b00000000;
delay_ms(100);
}
void jalankanan()
{
PORTA=0b10000000;
delay_ms(100);
PORTA=0b01000000;
delay_ms(100);
PORTA=0b00100000;
delay_ms(100);
PORTA=0b00010000;
delay_ms(100);
PORTA=0b00001000;
delay_ms(100);
PORTA=0b00000100;
delay_ms(100);
PORTA=0b00000010;
delay_ms(100);
PORTA=0b00000001;
delay_ms(100);
PORTA=0b00000000;
delay_ms(100);
}
void main(void)
{
13
PORTA=0x00;//lampu
DDRA=0xFF;
PORTB=0xff; //7segment
DDRB=0xff;
PORTC=0x00; //button
DDRC=0x0c;
PORTD=0b00001111; //keypad
DDRD=0b01110000;
ACSR=0x80;
SFIOR=0x00;
digit0=0b00111111;
digit1=0b00000110;
digit2=0b01011011;
digit3=0b01001111;
digit4=0b01100110;
digit5=0b01101101;
digit6=0b11111101;
digit7=0b00000111;
digit8=0b01111111;
digit9=0b11101111;
while (1)
{
/*if(PINC.0==0)
{
jalankanan();
}
if(PINC.1==0)
{
jalankiri();
14
} */
1.1 KESIMPULAN
DAFTAR PUSTAKA
https://mrenesinau.web.id/pengertian-mikrokontroller-atmega32/
http://marizaazhar.blogspot.co.id/2011/12/keypad-matrix-3x4.html
http://elektronika-dasar.web.id/led-light-emitting-dioda/
http://erikteknologi.blogspot.co.id/2015/05/makalah-mikrokontroler.html
https://pemudaminangkabau.wordpress.com/2013/02/28/pengertian-motor-
dc/