PRAKTIKUM 1_bahasa C



PERCOBAAN I
PEMROGRAMAN BAHASA C UNTUK MIKROKONTROLER

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.

STRUKTUR PENULISAN
CONTOH

/* HEADER untuk memanggil library yang akan digunakan */
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional

#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional

/* Deklarasi konstanta dan atau variabel global */
[global variables] // Opsional

/* Deklarasi fungsi dan atau prosedur */
[functions] // Opsional



/* Program utama */
void main(void)
{
/* Deklarasi konstanta dan atau variabel lokal */
[Isi Program Utama]
}




#include <mega8535.h>
#include <stdio.h>




unsigned char dt, xx;
char buf[33];

unsigned char lampu (unsigned char bitn)
{
PORTA=bitn & 0x3C;
}

void main (void);
{
char data;
PORTA=0x00;
DDRA=0xF0;
While (1)
     {
      …
     };
}
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);
           }
        }
     }
  }
}

  1. 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 PERCOBAAN


  1. KESIMPULAN



Tidak ada komentar:

Posting Komentar