WEB BLOG
this site the web

BAHASA PEMROGRAMAN C

Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories
Kelebihan Bahasa C :
1.        Bahasa C tersedia hampir di semua jenis komputer.
2.        Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis komputer.
3.        Bahasa C hanya menyediakan sedikit kata-kata kunci, dan hanya terdapat 32 kata kunci.
4.        Proses executable program bahasa C lebih cepat.
5.        Dukungan pustaka yang banyak.
6.        C adalah bahasa yang terstruktur.
7.        Bahasa C termasuk bahasa tingkat menengah, penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. Secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

Kekurangan Bahasa C :
1.        Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
2.        Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

Pada pembuatan alat tugas akhir ini penulis menggunakan pemograman bahasa C. Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya.

Untuk mengetahui dasar bahasa C dapat dipelajari sebagai berikut :
1.    Struktur penulisan program
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional
[global variables] // Opsional
[functions] // Opsional
void main(void) // Program Utama
{
[Deklarasi local variable/constant]
[Isi Program Utama]
}

2.    Preprocessor (#)
Preprocessor (#) digunakan untuk memasukkan (include) text dari file lain, mendefenisikan macro yang dapat mengurangi beban kerja pemograman dan meningkatkan legibility source code (mudah dibaca). Adapun fungsi preprocessor yang disediakan yaitu :
#include :digunakan untuk memasukkan (include) text dari file lain, contoh:
a. #include<delay.h>
b. #include<lcd.h>
 c. #define EnKa PORTC.4
d. #define on 1

#define : digunakan untuk mendefenisikan makro, contoh :
 
3.    Tipe Data
a.    char : 1 byte ( -128 s/d 127 )
b.    unsigned char : 1 byte ( 0 s/d 255 )
c.    int : 2 byte ( -32768 s/d 32767 )
d.    unsigned int : 2 byte ( 0 s/d 65535 )
e.    long : 4 byte ( -2147483648 s/d 2147483647 )
f.     unsigned long : 4 byte ( 0 s/d 4294967295 )
g.    float : bilangan desimal
h.    array : kumpulan data-data yang sama tipenya.
4.    Statement
Suhu = adc/255*100; //contoh rumus perhitungan suhu.

Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [//] untuk satu baris. Lebih dari 1 baris gunakan pasangan [/*] dan [*/]. Statement yang tidak dieksekusi disebut juga comments/ komentar, contoh :

5.    Function
[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2])
{ [statement] ;}

Function adalah bagian program yang dapat dipanggil oleh program utama, contoh : 

6.    Conditional Statement dan Looping
if else : digunakan untuk penyeleksian kondisi, contoh :
if([persyaratan]){[statement1];[statement2];}
else{[statement3];[statement4];}
for : digunakan untuk looping dengan jumlah yang sudah diketahui.
for ([nilai awal]; [persyaratan]; [operasi nilai])
{ [statement1];[statement2];}

Contoh :
while : digunakan untuk looping jika dan selama memenuhi syarat tertentu, contoh :
while ([persyaratan]) {
[statement1];
[statement2];
}
switch ( [nama variabel] ) {
case [nilai1]: [statement];
break; case [nilai2]: [statement];
break;
}

switch case : digunakan untuk seleksi dengan banyak kondisi, contoh :
 
7.    Operasi relasional (perbandingan)
a.    Sama dengan : ==
b.    Tidak sama dengan : !=
c.    Lebih besar : >
d.    Lebih besar sama dengan : >=
e.    Lebih kecil : <
f.     Lebih kecil sama dengan : <=

Lanjutkan →BAHASA PEMROGRAMAN C

ADC untuk ATMega 16

Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk mengubah sinyal analog menjadi sinyal digital. Hal-hal yang perlu diperhatikan dalam penggunaan ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya. 
ADC
 
Fitur dari sistem ADC untuk ATmega16 yaitu :
1.        8 atau 10 bit resolusi.
1.      8 bit => 28 = 256 menyatakan output, sehingga resolusi VFSR/28 1 bagian = di 256 dari VFSR (VREF).
2.      10 bit => 210 = 1024 menyatakan output, sehingga resolusi VFSR/210 1 bagian = di 1024 dari (VREF).
2.        8 channel MUX => 8 masukan tegangan tunggal (yaitu direferensikan ke GND) pada Port A.
3.        16 kombinasi input diferensial.
a.    Dua (ADC1, ADC0 dan ADC3, ADC2) memiliki gain diprogram dengan 1X, 10X, 200X atau keuntungan dipilih.
1.    1X atau 10X dapat mengharapkan resolusi 8 bit.
2.    200X 7 bit resolusi.
b.    Tujuh diferensial saluran berbagi ADC1 sebagai terminal negatif umum (ADC0-ADC1).
4.        Rentang tegangan input adalah 0 V VCC.
5.        VREF bisa internal (baik 2,56 V atau AVCC) atau eksternal disediakan (tapi harus kurang dari VCC).
6.        Pemicu otomatis mode konversi tunggal.
Dibutuhkan 12 clock cycle untuk menginisialisasi sirkuit ADC pada konversi pertama setelah ADC diaktifkan. Setelah itu, dibutuhkan 13 siklus clock untuk menyelesaikan konversi.
1.    Sirkuit ADC perlu 50 kHz sampai 200 kHz sinyal clock. Semakin tinggi frekuensi, semakin cepat konversi, tetapi juga kurang akurat.
2.    8E6/64 = 125 = 9,6 kHz kHz/13 => 4,8 kHz.
7.        Interrupsi pada ADC setelah selesai konversi.
8.        Hasil muncul dalam ADCL dan ADCH. Perlu untuk membaca ADCL pertama untuk mencegah ADCH dari yang ditimpa dengan data baru.
Lanjutkan →ADC untuk ATMega 16