Modul I
Mikrokontroller AT MEGA 128 [Back To Cover]
1. Tujuan [Kembali]
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. Merangkai dan menguji input pada mikrokontroller ATMEGA 128
c. Merangkai dan menguji I/O pada mikrokontroller ATMEGA 128
2. Alat [Kembali]
a. Module AT MEGA 128
b. LED
c. LCD
d. Jumpere. Sensor LM35
2.1 Mikrokontroler ATMega128
3. 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.
C. LCD
berikut penjelasan kakinya yaitu:
D. JUMPER
Sebagai konektor antar modul satu dengan modul lainnya
E. SENSOR LM35
Sensor suhu IC LM 35 merupkan chip IC produksi Natioanal Semiconductor yang berfungsi untuk mengetahui temperature suatu objek atau ruangan dalam bentuk besaran elektrik, atau dapat juga di definisikan sebagai komponen elektronika yang berfungsi untuk mengubah perubahan temperature yang diterima dalam perubahan besaran elektrik.
4. Rangkaian [Kembali]
5. Program [Kembali]
#include <mega128.h>
#include <delay.h>
// Alphanumeric LCD functions
#include <alcd.h>
#define ADC_VREF_TYPE 0x00
float suhu;
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
void main(void)
{
ACSR=0x80;
SFIOR=0x00;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
PORTA=0xFF;
DDRA=0xFF;
PORTF=0x00;
DDRF=0x0f;
lcd_init(16);
while(1)
{
delay_ms(100);
PORTA=0x00;
suhu=((read_adc(0)*4.9)/10);
if (suhu >= 5 && suhu <= 36)
{
lcd_gotoxy(3,0); // Posisi tulisan pada LCD
lcd_putsf("Suhu Rendah"); // Mencetak tulisan pada LCD
// Membersihkan /reset LCD
PORTA = 0b0000000;
delay_ms(100);
PORTA = 0b0000001;
delay_ms(100);
PORTA = 0b0000011;
delay_ms(100);
PORTA = 0b0000111;
delay_ms(100);
PORTA = 0b0001111;
delay_ms(100);
PORTA = 0b0011111;
delay_ms(100);
}
if (suhu >= 37 && suhu <= 99)
{
lcd_gotoxy(3,0); // Posisi tulisan pada LCD
lcd_putsf("Suhu Tinggi"); // Mencetak tulisan pada LCD
// Membersihkan /reset LCD
PORTA = 0b0000000;
delay_ms(100);
PORTA = 0b0000001;
delay_ms(100);
PORTA = 0b0000011;
delay_ms(100);
PORTA = 0b0000111;
delay_ms(100);
PORTA = 0b0001111;
delay_ms(100);
PORTA = 0b0011111;
delay_ms(100);
}
//else {
//lcd_gotoxy(0,0); // Posisi tulisan pada LCD
//lcd_putsf("No Detection"); // Mencetak tulisan pada LCD
//PORTA = 0b0000000;
//delay_ms(10);
//PORTA = 0b0011111;
}
}
6. Flowchart [Kembali]
7. Video Simulasi [Kembali]
8. Analisa Hubungan Rangkaian & Program[Kembali]
9. Files Download Link [Kembali]
a. HTML ( download )
b. Video ( download )
c. Program ( download )
d. Rangkaian Percobaan ( download )
Tidak ada komentar:
Posting Komentar