BELAJAR BAHASA PEMOGRAMAN

BELAJAR BAHASA PEMOGRAMAN  MINIMAL YANG PERLU DIKETAHUI ADALAH :

1.      TYPE DATA SEPERTI CHAR , UNSIGNED CHAR DLL
2.      VARIABEL /KONSTANTA 
3.      SINTAKS / CARA PENULISAN SEPERTI contoh di bawah
4.      Operator ( =,> ,<,!,==,&,&&,|,||,>=,<=,!= dll )

Contoh sintaks penulisan statement if dan switch

If ( sebab ) {   // di dalam sebab operator yang digunakan harus pembanding sprit >=, <=, !=,==, !, dll

Akibat ; //harus diakhiri titik koma

} // diawali dan diakhiri kurung kurawal

Switch ( Hewan) {                                                                                      // Nama hewan

Case panjang :misalkanular;break;                                                       // jika cirinya panjang missal ular

Case menggonggong :misalkan anjing;break;                              // jika cirinya menggonggong missal anjing

Default :kucing ;break;                             // default menunjukkan hewan yang pertama kali di kenal

}

Di atas adalah contoh penggunaan statemen if dan switch perhatikan huruf bentuk dan tanda tidak boleh salah kurang titik koma saja bisa error

 5.  Anggota /koleksidari fungsi pustaka dan cara penggunaannya harus dihafalkan contohnya pustaka fungsi<alcd.h>memiliki koleksi fungsi :

-lcd_gotoxy(kolom,baris); // menentukan tempat peletakan awal karakter

-lcd_putsf(“kalimatlangsung”);

-lcd_putchar(char LCD yg tersimpan di RAM lihat table karakter lcd);

-lcd_puts(menampilkan kalimat/karakter pada memori lain );

Dll masih banyak lagi silahkan lihat di help CVAVRadastdio.h,string.h,stdlib.h,math.h

6.      Bagaimana cara penulisan komentar 1 baris atau lebih contoh

// ini adalah komentar 1 baris diawali dengan garis miring dua kali

/* ini adalah komentar lebih dari satu baris ditandai dan diakhiri dengan */ ( /*komentar*/ ) 

 

Khusus untuk bahasa pemrograman mikrokontroller harus mengerti juga tentang mikrokontroller minimal dasar-dasar bagaimana cara mengakses I/O , ADC , LCD

 

Cara akses I/0

DDRx = register pemilihan input /output jika nilainya low berarti input jika high berarti output

Contoh saya ingin membuat PORTA 0 dan 1 sebagai input dan lainnya sebagai output maka

DDRA=0b11111100; // setelah 0b ada 8 angka / 8 bit mulai dari PORTA.0-7 yang paling kanan            //adalah bit paling rendah yaitu bit 0/PORTA.0 jika menggunakan mode biner;

// jika menggunakan mode hexa maka DDRA=0xfC;

 

PORTX = berfungsi jikaDDRx diset sebagai input maka jika PORTx diset 1 akan mengaktifkan pull up resistor ( mengecek nilai inputan apakah low?  ) , dan jika 0 maka input mengikuti masukan dari luar apakah low ato high 

Tapi jika DDRx diset sebagai output maka PORTx akan menentukan nilai keluaran , jika 0 maka keluaran low jika 1 maka keluaran high;

 

Missal PORTA.0 saya set ke input dan saya pasangkan dengan push button yg di groundkan

Maka saya harus set DDRA=0xFE; ( PORTA.0sbg input ) dan PORTA=0x01; (diset ke mode pullup karena akan mengecek inputan dari tombol yang bernilai 0 jika ditekan karena terhubung ke ground )  

 

Contoh output jika saya menghubungkan led ke PORTA.0 maka DDRA=0x01; (PORTA.0 yang output ) dan PORTA=0x00;( nilai awal PORTA ketika mikro baru dinyalakan adalah nol/ low )

Maka saat awal led mati dan saat mikro beroperasi ada ditemukan perintah

PORTA.0=1; // iniartinya LED yg terhubung ke porta.0 diperintahkan untuk nyala

PORTA.0=0; //iniartinya LED yg terhubungke porta.0 diperintahka nuntuk mati


Cara akses ADC sebenarnya sudah sangat dipermudah dengan menggunakan CV AVR m kita bisa langsung menggunakan fungsi read_adc() yang sudah disediakan

 

Missal

data=read_adc(0) // mengkonversi sinyal analog ke digital yang tersambung ke channel  ADC0 laludisimpan di variable data

 

Cara akses LCD ;

Sebagai dasar fungsi yang sering digunakan adalah

Lcd_gotoxy ();  // fungsi untuk meletakkan karakter

Lcd_putsf(“string langsung ditulis dsini”); // fungsi untuk menampilkan string/kata/kalimat secara langsung

 

Lcd_puts(); // menampilkan string secara tidak langsung missal

 

Variable array kata dg tipe data char

Char kata[7]=”farizal” // ini contoh variable array contoh lengkap dibuku biru yang saya punyai char=tipedata, kata=nama variable , 7 =jumlah data , farizal=data yg terdiri dari 7 karakter

Saya ingin menampilkan data di variable array kata pada lcd kolom ke 0 baris ke 1

Maka:

lcd_gotoxy(0,1); // karakter pd kolom 0 baris 1

lcd_puts(kata); // menampilkan data yg ada pada variable kata

 7.      Fungsi

Sebenarnya fungsi lebih banyak digunakan oleh kalangan menengah – professional karena harus benar2 menguasai logika dan dasar2 pmrograman di bawah adalah contoh fungsi sederhana

#define biasa digunakan untuk mengganti nama dengan tujuan mempermudah

Missal

#define play PORTC.7 // artinya PORTC.7 diberi nama play supaya gampang di ingat  play=PORTC.7

voidsuhu_tiga_puluh(){ // fungsi di awali dg void

if(data==30){ // if  data sama dengan 30 ( tanda ‘== ‘adalah operator pembanding beda dg ‘=’ )

      PORTD=suhu; // maka PORTD mengeluarkan data suhu/ tempat menyimpan alamat suhu di ISD

play=0;  // mengeluarkan data 0 untuk menghentikan play

delay_ms(1500); // memberikan jeda 1500ms sebelum memutar kata berikutnya

play=1; // play /memutar kata suhu pd alamat suhu di atas

delay_ms(200);

      PORTD=tiga; //set alamt simpan suara/sama dg yg di atas

play=0; // play aktive  low

delay_ms(800);

play=1; // play nonaktive high

delay_ms(150);

      PORTD=puluh;

play=0;

delay_ms(1500);

play=1;

delay_ms(150);

      PORTD=derajat;

play=0;

delay_ms(1500);

play=1;

delay_ms(150);

      PORTD=celcius;

play=0;

delay_ms(1500);

play=1;

delay_ms(150);

 

}

      } 

Intinya isi fungsi di atas yaitu memilih alamat tempat penyimpanan suara sesuai dengan suhu yg terdeteksi terus memutar suara dan memberikan jeda sebentar sebelum memutar rekamans elanjutnya…begitu seterusnya secara berurutan

 

Sintaksfungsi

 

Fungsitanpanilaibalik

 

Void nama_fungsi()

{

Isi fungsi;

}

 

Fungsi dengan nilai balik

Type data/void nama_fungsi(typedata nama_varibel1,typedata nama_variabel2,…3,…4,.,)

{

Isi fungsi;

Return value;

}

 

 

 

 

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: