Entri Populer

Rabu, 20 April 2011

Microcontroller

 

Pengertian Microcontroller:

Mikrokontroler memiliki fungsi seperti mikroprosesor. Perbedaan yang mencolok antara mikrokontroler dengan mikroprosesor adalah kesederhanaan mikrokontroler yang dapat berdiri sendiri tanpa kehadiran komponen lainnya (seperti ADC, dan Memori program). Mikrokontroler merupakan rangkaian terintegrasi yang dikemas seperti komponen IC pada umumnya. Perbedaan utama dengan IC adalah pada kemampuan untuk melaksanakan perintah yang tersimpan dalam memori programnya. Di samping itu, mikrokontroler juga dilengkapi dengan blok ALU yang dapat melakukan operasi aritmetika. Tanpa adanya program yang disimpan dalam memori program, maka mikrokontroler tidak dapat melakukan apapun.

Bagian-bagian Microcontroller:

- Input/Output

Saluran input terdiri dari beberapa saluran. Begitu juga untuk saluran output, terdiri dari beberapa saluran. Pada perkembangannya, saluran input dan output ini dapat disatukan ke dalam satu sistem blok yaitu sistem blok I/O (Input/Output). Saluran input/output merupakan media penghubung dengan piranti diluar sistem mikroprosesor. Piranti diluar sistem mikroprosesor dapat terdiri tombol/keyboard, peralatan-peralatan sensor (transducer), speaker, buzzer, lampu, display peraga, dsb.

- CPU (Central Processing Unit)

CPU didalamnya berisi ALU (Aritmatic Logic Unit), Control Unit, PC (Program Counter) dan beberapa register (diantaranya adalah register Accumulator). ALU merupakan pusat pengolahan logika (AND, OR, NOT, Compare, etc) dan fungsi matematis (tambah, kurang, kali, bagi). Unit Control adalah unit yang berfungsi untuk mengambil, mengdekode dan melaksanakan urutan instruksi suatu program yang tersimpan dalam memori. Pelaksanaan dari instruksi dilakukan dengan cara mengatur sinyal kendali yang diperlukan dalam melakukan suatu operasi. Dapat disimpulkan bahwa unit control adalah suatu unit yang mengatur urutan operasi seluruh sistem mikroprosesor.

- Memori

CPU dapat melakukan proses penulisan kepada memori maupun melakukan proses pembacaan pada memori. Sesuatu yang dibaca pada memori biasanya berupa program, sedangkan sesuatu yang ditulis pada memori biasanya disebut sebagai data. Jadi perlu dibedakan antara program dengan data. Pada proses pengolahan data input, CPU memerlukan suatu tempat untuk melakukan “coretan-coretan” kecil. Dapat dianalogikan seorang manusia yang memerlukan kertas-kertas kerja sebagai tempat coretan-coretan data sementara sebelum dihasilkan data yang diharapkan. Begitu pula dengan mikroprosesor memerlukan tempat sementara penyimpanan data sebelum data
sesungguhnya dihasilkan.

- ROM (Read Only Memory)

Memori ini memiliki sifat non-volatile, artinya data yang tersimpan didalamnya tidak akan mudah hilang bila power supply dihilangkan. Dengan sifat yang dimilikinya ini, ROM biasa digunakan sebagai media penyimpan program, bukan data. Ada beberapa turunan memori ROM, yaitu PROM (Programable ROM). Pada memori ini, proses penulisan program kedalamnya hanya bisa dilakukan satu kali. Program didalamnya tidak bisa dihapus. Kemudian ada memori jenis ROM yang bisa dihapus (EPROM – Erasable PROM) yaitu UV-EPROM dan EE-PROM. Proses penghapusan pada memori UV-EPROM dilakukan dengan cara mengenakan suatu cahaya ultra violet pada jendela yang terdapat pada kemasan memori. Sedangkan proses penghapusan pada memori EE-PROM dilakukan secara elektrikal, yaitu dengan memberikan suatu standar tegangan, arus dan batas waktu tertentu pada memori.

- RAM (Random Acces Memory)

Memori ini memiliki sifat volatile, artinya data yang tersimpan didalamnya akan hilang bila power supply dihilangkan. Dengan sifat yang dimilikinya ini, RAM tidak dapat digunakan untuk menyimpan program. Teknologi pada RAM terbagi dua, yaitu RAM statik dan RAM dinamik. RAM statik biasanya memiliki kapasitas yang jauh lebih kecil dibanding dengan RAM dinamik, namun memiliki kelebihan yaitu tidak diperlukan suatu sistem refreshing (penyegaran) pada data yang tersimpan didalamnya. Sedangkan RAM dinamik memiliki kapasitas jauh lebih besar daripada RAM statik, namun harus memiliki sistem tambahan yang rumit untuk proses penyegaran data yang tersimpan agar data tersebut tidak hilang.

--------->>> to be a continue.......

belajar micro controller

    Cara mudah belajar microcontroller

Banyak orang ingin belajar microcontroller, namun setelah tahu bahasa pemogramannya berupa bahasa assembly yang nampak jelimet dan ruwet terpaksa mengurungkan niatnya untuk belajar. hal ini suatu keputusan yang salah, karena selain bahasa assembly ternyata microcontroller bisa di program menggunakan bahasa yang lain. Salah satunya adalah bahasa C.

Mengapa menggunakan bahasa C?

  1. Populer dan mudah di mengerti
  2. Sangat efficient
  3. Bagus dalam mengakses hardware menggunakan pointer
  4. Program bisa di buat terstruktur menggunakan fungsi dan modul
  5. Untuk pemograman logika dan aritmatika lebih simple
  6. dll.
Ingat ! Bahasa C bukan bahasa yang perfect untuk pemograman microcontroller, tetapi pilihan yang tepat untuk belajar microcontroller.

Tipe Variable

Variabel dalam microcontroller di representasikan dalam bentuk bit, byte, word dan lain sebagainnya. Contohnya adalah seperti berikut.
Variable bit Nilai
bit 1 bit 0 / 1
char 8 bit 0 s/d +127 atau 0 s/d -127
unsigned char 8 bit 0 s/d +255
int 16 bit 0 s/d +32768 atau 0 s/d -32768
unsigned int 16 bit 0 s/d +32768
long 32 bit 0 s/d +2.147483648x109 atau 0 s/d -2.147483648x109
unsigned long 32 bit 0 s/d +4.29496795x109
float 32 bit +/- 1.176E-38 s/d +/-3.4E+38
pointer 24/16/8 bit alamat variable

Struktur program bahasa C

struktur program bahasa C ada 3 point penting, yaitu :
1. Pre-Processor
2. Main Function
3. Function

Pre-Processor

Pada pemograman bahasa C setidaknya ada 2 syntax yang sering kita temukan pada header program, seperti :
1. #include
2. #define
#include berfungsi untuk memanggil library / prototype fungsi yang ada pada header file. Header file adalah file yang berisi prototype fungsi yang dipanggil oleh pre-processor pada waktu pertama kali program dijalankan. Header file bisa di kenali dengan cara melihat extention dari file tersebut, yaitu berupa *.h.  * adalah nama file, sedangkan h adalah header. untuk extention h bisa huruf kecil, juga bisa huruf besar.
Contoh.
#include<stdio.h> ----> Menyatakan pada compiler agar membaca file bernama stdio.h
#include<panas_dingin.h> ----> Menyatakan pada compiler agar membaca file bernama panas_dingin.h
#define berfungsi untuk mendefinikan konstanta-konstanta yang di gunakan dalam program. Dengan menggunakan syntax ini pemograman bisa di lakukan lebih mudah.
Misalnya :
#define LED P1_0   ---->LED = P1_0
maksud dari pendifinisan di atas adalah konstanta LED itu sama dengan P1.0 artinya dalam program tidak perlu menulis P1_0 cukup tulis LED.

Main Function

Fungsi ini merupakan fungsi utama dalam program dan di panggil pertama kali saat program di jalankan. Dalam fungsi ini bisa terdapat konstanta dan fungsi-fungsi lain.
Conntoh.
main()
{
//tulis program di sini
}
fungsi main() merupakan fungsi utama program. Tanda kurung ( ) setelah kata main menyatakan tidak ada argumen yang di lewatkan pada fungsi main. Sedangkan untuk tanda "{" merupakann pernyataan awal program dan tanda "}" merupakan perntaan akhir program.

Fungsi

Fungsi ini boleh di katakan fungsi pelengkap. fungsi ini bisa berupa fungsi yang di buat oleh user program dan bisa juga fungsi yang sudah ada dalam bahasa C. Fungsi ini bisa di panggil oleh fungsi lain dan bisa memanggil fungsi lain. Perbedaan dengan fungsi utama, fungsi utama tidak bisa di panggil oleh fungsi lain, tetapi bisa memanggil fungsi lain.
Contoh program lengkap bahasa C untuk pemograman microcontroller AT89S51 menggunakan software keil uvision3.
#include<AT89X51.h>
#include<stdio.h>
#define LED P1_0
void test_led();
void test_led()
{
P1=0;
LED=1; // P1.0=1;
}
main()
{
test_led();
}
Penjelasan program.
#include<AT89X51.h>
Menyatakan pada compiler agar membaca file header untuk microcontroller AT89S51 dengan nama file AT89X51.h
#include<stdio.h>
File header stdio.h digunakan untuk penanganan input / output standar seperti penulisan ke layar atau ke file atau pembacaan data dari keyboard atau file.
#define LED P1_0
Pendefinisian konstanta LED yang di definisikan sebagai Port 1 bit 0. Jika di program di tulis LED berarti sama dengan P1_0
void test_led();
Pendeklarasian dari prototype fungsi  test_led();
Penjelasan dari fungsi test_led() adalah sebagai berikut :
void test_led()  ---->nama fungsi;
{  ---->merupakan pernyataan awal dari fungsi test_led();
P1=0; ----> set port 1 microcontroller ke kondisi low. artinya Port 1 bit 0 s/d bit 7 di set 0
LED=1; // P1.0=1; set port 1 bit 0 ke kondisi high (1);
}  ---->merupakan pernyataan akhir / penutup dari fungsi test_led();
Penjelasan dari fungsi main() adalah sebagai berikut :
main()  --->fungsi utama main();
{  ----->Pernyataan awal program
test_led(); ---->memanggil dan menjalankan fungsi test_led();
}
Penjelasan jalannya program
  1. Complier membaca file pengarah pre-processor yang terdiri dari file AT89X51.h dan stdio.h
  2. Compiler membaca konstanta pengarah preprocessor #define LED P1_0
  3. Compiler membaca prototy[e fungsi test_led();
  4. Compiler menjalankan fungsi utama main();
  5. Saat fungsi utama di jalankan, fungsi uatama main() memanggil / menjalankan fungsi test_led()
  6. finish.
Setelah program di compile, file hex hasil compile bisa anda burning ke microcontroller menggunakan ISP programmer AT89/90 Series. Anda jalankan, lalu lihat hasilnya. Jika anda males untuk melakukan itu, anda bisa lakukan simulasi menggunakan keil C51 uvision3. Baca artikel saya sebelumnya yang berjudul "Berkenalan dengan keil C51 uvision3"
Sementara cukup di sini dulu. Tunggu tayangan berikutnya tentang pemograman microcontroller menggunakan bahasa C.

Selasa, 19 April 2011

Menghemat BBM Dengan Menggunakan Internet


Harga BBM naik terus. Biaya hidup kita semakin berat karena meningkatnya biaya transportasi. Namun, ternyata ada cara untuk menyiasati hal ini. Berdasarkan berita yang ditulis di Detik.Com, “Dengan Internet, Hemat BBM Rp. 6,6 Juta Per Tahun”, ternyata warga Selandia Baru dapat mengakali peningkatan biaya transportasi ini dengan cara penggunaan Internet.
Bagaimana prakteknya? Praktek nyatanya adalah dengan cara mengganti kegiatan Anda yang biasanya mengharuskan Anda untuk berpergian secara fisik, menjadi kegiatan online dengan menggunakan internet.

Contoh nyatanya adalah mengganti kegiatan rutin kita ke Bank dengan Internet Banking. Kalau biasanya kita harus naik kendaraan ke kantor cabang Bank untuk melakukan transaksi perbankan, sekarang sudah tidak perlu transportasi lagi. Anda cukup mengklik situs Bank, dan melakukan transaksi perbankan dari rumah. Tidak perlu membayar BBM. Saat ini transaksi perbankan yang dapat dilakukan secara online adalah Pembayaran Tagihan, Transfer Dana, Pembelian Pulsa Telepon, Cek Mutasi Bank, dan mungkin masih ada beberapa feature lain yang tidak disebutkan disini.
Nyatanya, saat ini internet sudah menyediakan banyak sekali fasilitas untuk Anda. Misalnya untuk ngobrol dengan teman, Anda dapat menggunakan Yahoo Messager/MSN/Google Talk. Untuk membeli barang Anda dapat mengunjungi situs-situs Online Shopping. Anda dapat menuliskan segala isi pikiran Anda pada Blogger.Com dan mencari teman-teman yang memiliki hobi yang sama dengan Anda. Dan masih banyak lagi fasilitas yang dapat Anda temukan di Internet.
Dengan memanfaatkan Internet untuk mengganti aktifitas harian, warga Selandia Baru dapat menghemat biaya transportasi hingga Rp. 6.600.000,- per tahun. Cara ini akan sangat bermanfaaat bagi Anda yang tinggal di kota-kota besar, dimana untuk berpergian Anda perlu menghabisan banyak biaya transportasi karena jauh dan macet.
Dan satu hal lagi yang menarik. Karena naiknya harga BBM ini, semua harga barang turut naik. Eh, ternyata tidak semua loh. Ada barang yang harganya justru turun. Apakah itu? Akses Internet! Biaya Anda untuk mengakses Internet justru mengalami penurunan karena semakin murahnya biaya penyewaan jaringan.
Berdasarkan berita yang dilangsir oleh LigaGame.Com, pada Bulan Juni ini, tarif Internet turun 40%. Harga ini mengalami penurunan karena semakin murahnya biaya penyewaan jaringan milik PT. Telkom Tbk selaku penyelenggara jaringan Internet terbesar di Indonesia.
Sayangnya penurunan harga ini berlaku bagi Penyelenggara Jasa Internet (PJI) atau ISP Anda. Bukan harga langsung untuk end-user seperti Anda. Namun, karena harga modal ISP untuk menyediakan jasa Internet mengalami penurunan, maka ISP sendiri akan menurunkan harga ke pelangannya sekitar 20-40%. Jadi nantinya Anda dapat berseluncur di Internet dengan harga yang lebih murah.