PRAKTIKUM 1_bahasa C

6
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 #include <mega8535.h> #include <stdio.h> unsigned char dt, xx; char buf[33]; unsigned char lampu (unsigned char bitn) { PORTA=bitn & 0x3C; }

Transcript of PRAKTIKUM 1_bahasa C

Page 1: PRAKTIKUM 1_bahasa C

PERCOBAAN I

PEMROGRAMAN BAHASA C UNTUK MIKROKONTROLER

1 TUJUAN1. Mengingat kembali statemen program dalam bahasa C.2. Mengelompokkan program berdasarkan bagian-bagian dalam bahasa C. .

2. DASAR TEORIBahasa 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) { … };}

Page 2: PRAKTIKUM 1_bahasa C

3. ALAT DAN BAHAN YANG DIGUNAKAN1. 1 set Personal Computer/Laptop2. 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 herevoid main(void){// Declare your local variables here// Input/Output Ports initialization// Port A initializationPORTA=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 herevoid main(void){// Declare your local variables hereunsigned char datain;// Input/Output Ports initialization// Port A initializationPORTA=0x00;DDRA=0xFF;// Port B initializationPORTB=0xFF;DDRB=0x00;while (1) { // Place your code here datain=PINB; PORTA=datain; }}

Page 3: PRAKTIKUM 1_bahasa C

Program 3#include <mega8535.h>#include <delay.h>// Declare your global variables hereunsigned char bil[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};void main(void){// Declare your local variables hereint kiri, kanan, i;// Input/Output Ports initialization// Port A initializationPORTA=0x00;DDRA=0xFF;// Port B initializationPORTB=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 herevoid main(void){// Declare your local variables here// Input/Output Ports initialization// Port A initializationPORTA=0x00;DDRA=0xFF;

Page 4: PRAKTIKUM 1_bahasa C

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 herevoid main(void){// Input/Output Ports initialization// Port A initializationPORTA=0x00;DDRA=0xFF;// Port B initializationPORTC=0xFF;DDRC=0x00;while (1) { // Place your code here datain=PINC; PORTA=datain; }}

Program 6#include <mega8535.h>// Declare your global variables hereunsigned char bil[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};void main(void){// Declare your local variables hereint kiri, kanan, i;// Input/Output Ports initialization// Port A initializationPORTA=0x00;DDRA=0xFF;// Port B initializationPORTB=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

Page 5: PRAKTIKUM 1_bahasa C

delay_ms(100) }}

5. DATA HASIL PERCOBAAN

6. KESIMPULAN