1. TUJUAN
1. Mengingat kembali statemen program dalam bahasa C.
2. Mengelompokkan program berdasarkan bagian-bagian dalam bahasa C. .
2. DASAR TEORI
Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Struktur penulisan bahasa C secara umum terdiri atas empat blok, yaitu header, deklarasi konstanta global dan atau variable, fungsi dan atau prosedur (dapat di bawah program utama), dan program utama.

3. ALAT DAN BAHAN YANG DIGUNAKAN
1. 1 set Personal Computer/Laptop
2. Program CodeVision AVR
4. PROSEDUR
1. Perhatikan program berikut. Tunjukkan empat blok bagian program tersebut.
Program 1
#include <mega8535.h>
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
while (1)
{
// Place your code here
PORTA=0x0f;
delay_ms(10000);
PORTA=0xf0;
delay_ms(10000);
}
}
Program 2
#include <mega8535.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
unsigned char datain;
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
PORTB=0xFF;
DDRB=0x00;
while (1)
{
// Place your code here
datain=PINB;
PORTA=datain;
}
}
Program 3
#include <mega8535.h>
#include <delay.h>
// Declare your global variables here
unsigned char bil[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
void main(void)
{
// Declare your local variables here
int kiri, kanan, i;
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
PORTB=0xF0;
DDRB=0xF0;
while (1)
{
// Place your code here
kiri=0;
kanan=0;
for (kiri=0;kiri<10;kiri++)
{
for (kanan=0;kanan<10;kanan++)
{
for(i=0;i<100;i++)
{
PORTB.7=0;
PORTB.6=1;
PORTA=bil[kiri];
delay_ms(5);
PORTB.7=1;
PORTB.6=0;
PORTA=bil[kanan];
delay_ms(5);
}
}
}
}
}
2. Ketiklah program berikut dan betulkan program jika keluar pesan Error. Tuliskan baris program yang salah dan tuliskan kembali baris program yang sudah dibetulkan.
Program 4
#include <mega8535.h>
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
while (1)
{
// Place your code here
PORTA=ob00001111;
delay_ms(1000);
PORTA=0b1111000o;
delay_ms(1000);
}
}
Program 5
#include <mega8535.h>
// Declare your global variables here
void main(void)
{
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
PORTC=0xFF;
DDRC=0x00;
while (1)
{
// Place your code here
datain=PINC;
PORTA=datain;
}
}
Program 6
#include <mega8535.h>
// Declare your global variables here
unsigned char bil[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
void main(void)
{
// Declare your local variables here
int kiri, kanan, i;
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
PORTB=0xF0;
DDRB=0xF0;
while (1)
{
// Place your code here
PORTB.7=1;
PORTB.6=0; //AKTIFKAN SEVEN SEGMEN KANAN
PORTA=0x6d; // DATA ANGKA 5
delay_ms(100);
PORTB.7=0; // AKTIFKAN SEVEN SEGMEN KIRI
PORTB.6=1;
PORTA=0x5b // DATA ANGKA 2
delay_ms(100)
}
}
5. DATA HASIL PRAKTIKUM
v Program 1
/* Header */
#include <mega8535.h>
#include <delay.h>
/* Deklarasi konstanta dan atau variabel global */
// Declare your global variables here
/* program utama */
void main(void)
{
/* Deklarasi fungsi dan atau prosedur */
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
while (1)
{
// Place your code here
PORTA=0x0f;
delay_ms(10000);
PORTA=0xf0;
delay_ms(10000);
}
}
v Program 2
/* Header */
#include <mega8535.h>
/* Deklarasi konstanta dan atau variabel global */
// Declare your global variables here
/* Program Utama */
void main(void)
{
/* Deklarasi fungsi dan atau prosedur */
// Declare your local variables here
unsigned char datain;
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
PORTB=0xFF;
DDRB=0x00;
while (1)
{
// Place your code here
datain=PINB;
PORTA=datain;
}
}
v Program 3
/* Header */
#include <mega8535.h>
#include <delay.h>
/* Deklarasi konstanta dan atau variabel global */
// Declare your global variables here
unsigned char bil[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
/* Program Utama */
void main(void)
{
/* Deklarasi fungsi dan atau prosedur */
// Declare your local variables here
int kiri, kanan, i;
// Input/Output Ports initialization
// Port A initialization
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
PORTB=0xF0;
DDRB=0xF0;
while (1)
{
// Place your code here
kiri=0;
kanan=0;
for (kiri=0;kiri<10;kiri++)
{
for (kanan=0;kanan<10;kanan++)
{
for(i=0;i<100;i++)
{
PORTB.7=0;
PORTB.6=1;
PORTA=bil[kiri];
delay_ms(5);
PORTB.7=1;
PORTB.6=0;
PORTA=bil[kanan];
delay_ms(5);
}
}
}
}
}
v Program 4
Sebelum Sesudah


Sebelum Sesudah


Pada program di atas setelah di compile terjadi 2 error karena pada :
PORTA=ob00001111; à huruf o,diganti angka 0
delay_ms(1000);
PORTA=0b1111000o; à huruf o,diganti angka 0
delay_ms(1000);
v Program 5
Sebelum Sesudah


Sebelum Sesudah


Pada program di atas setelah di compile terjadi 2 Error karena belum dideklarasikan pada variabel globalnya dengan menuliskan unsigned char datain
v Program 6
Sebelum

Sesudah

Sebelum Sesudah


Pada program di atas setelah di compile terjadi 2 error karena variabel delay belum terdeklarasi di header, penulisan int kiri, kanan, i; tidak jelas maka dihapus, dan kurang penambahan tanda [;].
6. Kesimpulan :
1. Struktur penulisan bahasa C secara umum terdiri atas empat blok, yaitu header, deklarasi konstanta global dan atau variable, fungsi dan atau prosedur (dapat di bawah program utama), dan program utama.
2. Perlu ketelitian atau kejelian di dalam mengerjakan suatu project menggunakan CodeVision, karena jika kurang dalam mendeklarasikan pada header akan terjadi error.
DAFTAR PUSTAKA
Modul 1 Praktikum pemrograman bahasa C untuk mikrokontroler
http://www.beritanet.com/search.php?text=pemrograman%20bahasa%20c%20untuk%20mikrokontroler%20atmega8535(online,diakses 29 September 2010)
http://ilmukomputer.org/category/pemrograman-c/(online,diakses 29 September 2010)
2 komentar:
mba dian salam kenal dari saya. mahasswa dari purwokerto... saling sharing ya,,
sudah smster brapa ni mba?? aq minta fb u boleh..?
Posting Komentar