Sabtu, 02 Desember 2017
MODUL I
MIKROKONTROLLER ATMEGA
128
a. Merangkai dan menguji
output pada mikrokontroller ATMEGA 128
b. Merangkai dan menguji
input pada mikrokontroller ATMEGA 128
c. Merangkai dan menguji
I/O pada mikrokontroller ATMEGA 128
b. LED
c.
Switch
3. Dasar Teori
[kembali]
A.
Mikrokontroller ATMEGA 128
Mikrokontroller ATMEGA 128 merupakan mikrokontroller keluarga
AVR yang mempunyai kapasitas flash memori 128KB. AVR (Alf and Vegard’s Risc
Processor) merupakan seri mikrokontroler CMOS 8-bit buatan ATEMEL inc,
berdasarkan arsitektur RISC (Reduced Instruction Set Computer). Secara umum,
AVR dapat terbagi menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx,
keluarga AT-Mega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing
kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan
instruksi yang digunakan, bisa dikatakan hampir sama. Semua jenis AVR
dilengkapi dengan flash memori sebagai memori program. Kapasitas dari flash
memori ini berbeda antara chip yang satu dengan chip yang lain. Tergantung dari
jenis IC yang digunakan. Untuk flash memori yang paling kecil adalah 1 kbytes
(ATtiny11, ATtiny12, dan ATtiny15) dan paling besar adalah 128 kbytes
(AT-Mega128). Berikut ini adalah spesifikasi Mikrokontroler AVR ATMega-128 dan
konfigurasi pin ATMEGA 128.
1. Saluran I/O sebanyak 56 buah, yaitu Port A, Port B, Port C, Port D, Port E, Port F dan Port G.
2. ADC 10 bit sebanyak 8 saluran.
3. 2 buah Timer/Counter 8 bit dan 2 buah Timer/Counter 16 bit.
4. Dua buah PWM 8 bit.
5. Watchdog Timer dengan osilator internal.
6. Internal SRAM sebesar 4 kbyte.
7. Memori flash sebesar 128 kBytes.
8. Interupsi Eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 4 kbyte.
11. Real time counter.
12. 2 buah Port USART untuk komunikasi serial.
13. Enam kanal PWM.
14. Tegangan operasi sekitar 4,5 V sampai dengan 5,5V
Konfigurasi pin
ATMEGA-128
|
B. LED
LED adalah
suaatu semikonduktor yang memancarkan cahaya, LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n)
dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat
dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke
satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya
akan ada sedikit arus yang melewati LED. Ini menyebabkan LED tidak akan
mengeluarkan emisi cahaya.
Kondisi : Dengan input switch pertama,LED bergerak
dari kiri ke kanan dan kembali ke kiri delay 500 ms dan dengan input switch
kedua LED blink sebanyak 2 kali. Kondisi awal semua LED mati.
# include <delay.h> //
untuk mengaktifkan library delay
void main(void)
// Fungsi utama
{
// Kurung pembuka
PORTE=0x00;
// Mendeklarasikan kondisi awal PORT E dalam keadaan mati
DDRE=0x00;
// Mendeklarasikan PORT E sebagai input
PORTC=0x00;
// PORTC kondisi awalnya dalam keadaan mati
DDRC=0xff;
// PORTC merupakan OUTPUT
while(1)
// Fungsi Perulangan
{
if (PINE.0 == 1 && PINE.1 ==
0)
// Jika PINE.0 bernilai 1 dan PINE.1 bernilai 0
{
PORTC=0b00000001 ;
// 1 led di PORTC hidup
delay_ms(100);
// led hidup bergantian dengan bergeser ke kiri
PORTC= 0b00000010;
delay_ms(100);
PORTC= 0b00000100;
delay_ms(100);
PORTC= 0b00001000;
delay_ms(100);
PORTC= 0b00010000;
delay_ms(100);
PORTC= 0b00100000;
delay_ms(100);
PORTC= 0b01000000;
delay_ms(100);
PORTC= 0b10000000;
delay_ms(100);
// led dilanjutkan hidup bergeser ke kanan
PORTC= 0b01000000;
delay_ms(100);
PORTC= 0b00100000;
delay_ms(100);
PORTC= 0b00010000;
delay_ms(100);
PORTC= 0b00001000;
delay_ms(100);
PORTC= 0b00000100;
delay_ms(100);
PORTC= 0b00000010;
delay_ms(100);
//delay 100ms
}
else if (PINE.0==1 && PINE.1 == 1)
// Jika PINE.0 bernilai 1 dan PINE.1 bernilai 1
{
PORTC=0b01100011;
// Maka 4 led di PORTC akan hidup
delay_ms(100);
PORTC=0b01010101;
delay_ms(100);
PORTC=0b11010110;
delay_ms(100);
// delay 100 ms
}
else
// jika tidak
{
PORTC=0x00; // led di PORTC akan mati
delay_ms(100);
// delay 100ms
}
}
}
//Kurung penutup
8. Analisa hubungan Rangkaian dan Program
[kembali]
Dari praktikum ini dapat kita lihat bahwa antara rangkaian dengan program saling berhubungan. Jika program salah maka rangkaian tidak akan bisa disimulasikan dan begitu juga sebaliknya. Port yang digunakan pada rangkaian harus terlebih dahulu di deklarasikan diprogram sebagai port input atau output. Pada program diatas portc sebagai output dan porte sebagai input. Led digunakan sebagai penjelas dari output.
Dari praktikum ini dapat kita lihat bahwa antara rangkaian dengan program saling berhubungan. Jika program salah maka rangkaian tidak akan bisa disimulasikan dan begitu juga sebaliknya. Port yang digunakan pada rangkaian harus terlebih dahulu di deklarasikan diprogram sebagai port input atau output. Pada program diatas portc sebagai output dan porte sebagai input. Led digunakan sebagai penjelas dari output.
Download Video Rangkaian DOWNLOAD
Download HTML DOWNLOAD
Download Listing Program DOWNLOAD
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar