You are on page 1of 5

Minimum System ATMega8 / 168/ 328 merupakan sebuah modul yang dapat

mendukung kinerja dari sebuah mikrokontroller agar dapat bekerja secara


optiomal. Modul ini dilengkapi dengan rangkaian power supply 5V, jalur ISP
downloader dan 20 PIN I/O. dilengkapi juga jalur serial dengan MAX232. I/O pin
dari modul ini sudah disesuaikan dengan PIN modul Ardino dan juga kompatibel
dengan ARDUINO, CAVR, BASCOM AVR dll.

minimum sistem atmega8/168/328 dengan serial

MinSys ATMega8/168/328 mempunyai beberapa fitur antara lain sebagai berikut:

8 output LED, fitur ini digunakan untuk contoh aplikasi atau program menyalakan
LED.
Serial Port, digunakan komunikasi via serial antara mikrokontroller dengan
komputer atau sebaliknya.
2 buah tact switch(button), digunakan untuk contoh input menggunakan button.
Power supply 5V 1Ampere, digunakan untuk converter jika tegangan masuk lebih
dari 5V DC.
20 Pin I/O dengan konfigurasi pin seperti Arduino.
Support dengan compiler Arduino IDE, Codevision AVR, Bascom AVR dan juga
compiler lainnya.
Support dengan mikrokontroller ATMega8/168/328.
Soket ISP Downloader, port yang digunakan untuk memasukkan program ke
dalam mikrokontroller melalui USB ASP.
Dan berikut beberapa contoh program dari MinSys ATMega8/168/328.

PART
MinSys ATMega8/168/328
usb to rs232 modul
usb asp
Arduino ID
Codevision AVR
PROSEDUR PENGUJIAN
Hubungkan usb to rs232 modul ke port DB9 dari MinSys ATMega8/168/328.
Hubungkan USBASP ke soket ISP Downloader.
Pasang jumper pada konektor J1.
APLIKASI DAN PROGRAM
Berikut program running LED dengan Arduino IDE dan Codevision AVR.

Arduino IDE
void setup() {
// inisialisasi port yang akan digunakan
// Port 0 - 7 digunakan sebagai output
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
// fungsi utama yang akan dijalankan
void loop() {
for(int i=0; i<=7; i++)
{
digitalWrite(i, HIGH); //mematikan LED di ulang dari 0-7
delay(250);
}
for(int i=7; i>=0; i--)
{
digitalWrite(i, LOW);//menyalakan LED di ulang dari 0-7
delay(250);
}
}
Codevision AVR
#include <mega8.h>
#include <delay.h>//menambahkan library delay
int i;
void main(void)
{
PORTD=0x00;//inisialisasi port D mengeluarkan logika low
DDRD=0xFF;//inisialisasi port D sebagai output
while (1)
{
for(i=0; i<=7; i++)
{
PORTD=0b00000001<<i;//geser ke kiri di ulang 7x
delay_ms(200);// tunda 200 milisecond
}
for(i=0; i<=7; i++)
{
PORTD=0b10000000>>i;//geser ke kanan di ulang 7x
delay_ms(200);// tunda 200 milisecond
}
}
}
Program menampilkan karakter ke serial monitor sebagai berikut.

Arduino IDE
void setup() {
// inisialisasi awal untuk Serial
// Kecepatan serial transfer data 9600
Serial.begin(9600);
}
// fungsi utama yang akan dijalankan
void loop() {
//menampilkan tulisan pada serial monitor
Serial.print("SFE-Electronics.com ");
Serial.println("Untuk Enter");
delay(500);
}
Codevision AVR
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
int i;
void main(void)
{
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x67;
while (1)
{
// karakter yang akan ditampilkan
printf ("n SFE-Electronics.com");
delay_ms(200);
}
}
Program mikrokontroller membaca karakter dari serial monitor sebagai berikut.

Arduino IDE
void setup() {
// inisialisasi awal untuk Serial
// Kecepatan serial transfer data 9600
Serial.begin(9600);
Serial.println("Serial Oke");
}
// fungsi utama yang akan dijalankan
void loop() {
//menampilkan tulisan pada serial monitor
if(Serial.available())
{
char c = Serial.read();
Serial.print("Karakter Yg Di Baca= ");
Serial.println(c);
}
}
Codevision AVR
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
char readGet;
void main(void)
{
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x67;
while (1)
{
// karakter yang akan ditampilkan

readGet = getchar();
printf("nKarakter Yg Di Baca= ");
putchar(readGet);
printf("n");
}
}
Contoh program menyalakan LED dengan tombol kemudian di tampilkan ke serial
monitor.

Arduino IDE
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
char readGet;
void main(void)
{
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x67;
while (1)
{
// karakter yang akan ditampilkan

readGet = getchar();
printf("nKarakter Yg Di Baca= ");
putchar(readGet);
printf("n");
}
}
Codevision AVR
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
char i;
void main(void)
{
PORTB=0x03;//portb0 dan portb1 di set sebagai input tombol
DDRB=0x00;
PORTD=0x00;
PORTD=0x00;//portd2-7 diset sebagai output low
DDRD=0xFC;
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x67;
PORTD=0b11111111;
while (1)
{
// karakter yang akan ditampilkan
if(PINB.0 == 0)
{
for(i=2;i<=7;i++)
{
printf("LED ke ");printf("%i",i);printf(" nMenyala");
PORTD=0b11111110<<i;
delay_ms(200);
PORTD=0b11111111;
}
}
if(PINB.1 == 0)
{
for(i=2;i<=7;i++)
{
printf("LED ke ");printf("%i",i);printf(" nMenyala");
PORTD=0b11111110>>i;
delay_ms(200);
PORTD=0b11111111;
}
}
}
}

You might also like