Menulis program 89S51 dengan bahasa C


Bahasa C

Bahasa C

Pada awalnya pemrograman IC 89S51 dari ATMEL menggunakan bahasa assembler sesuai dengan instruction set pada datasheet IC tersebut. Dalam perkembangannya, ada beberapa kesulitan dalam pemrograman assembler diantaranya sulitnya mengontrol alur program dan bahasa penulisannya yang cenderung sulit dimengerti oleh manusia.

Seiring dengan berkembangnya aplikasi mikro kontroller, para programmer mulai mencari alternatif bahasa penulisan seperti dengan bahasa C, basic atau pascal. Dengan penggunaan bahasa C/basic/pascal maka programmer akan lebih mudah mengontrol alur program karena struktur penulisannya relatif mudah di mengerti oleh manusia.

Untuk dapat membuat program dengan bahasa C harus ada sebuah compiler yang memproses bahasa C untuk menghasilkan file HEX yang akan didownloadkan ke IC. Beberapa compiler bahasa C untuk 89S51 yang lazim dipakai diantaranya Keil C, SDCC dan uC51.

Keil C

Keil C

Keil C adalah produk dari keil, sebuah perusahaan elektronik asal jerman. Selain compiler sebagai fungsi utama, keil C juga dilengkapi dengan simulator dan disertai banyak contoh program. Untuk keperluan evaluasi, software ini bisa didownload di situs resmi keil disini. Berikut ini contoh program 89S51 yang ditulis dengan keil C.

/*-----------------------------------------------
Definisi port P1 (8 bits), P1.0, and P1.1.
-----------------------------------------------*/
sfr P1 = 0x90; /* SFR for P1 */

sbit P1_0 = P1^0; /* SFR for P1.0 */
sbit P1_1 = P1^1; /* SFR for P1.1 */

/*-----------------------------------------------
MAIN C function
-----------------------------------------------*/
void main (void)
{
P1_0 = 1; /* Konfigurasi P1.0 sebagai input */

/*-----------------------------------------------
Perulangan berikut membaca nilai port P1.0
lalu mengirimnya ke output P1.1
-----------------------------------------------*/
while (1)
{
P1_1 = P1_0; /* Copy P1.0 to P1.1 */
}
}

/*-----------------------------------------------
END program
-----------------------------------------------*/

Contoh program lain bisa diperoleh langsung dari situs keil C disini.

uc51

uc51

Selain Keil C ada juga compiler lain yang cukup menarik yaitu uC51. Terima kasih buat mas Chandra Telinks atas informasi dan bimbingannya.  uc51 merupakan produk dari wickenhaeuser. Software ini dapat didownload secara gratis namun pada penggunaannya untuk yang demo version dibatasi hanya sampai 8KB saja. Mengingat ROM dari IC 89S51 hanya 4KB dan ROM dari 89S52 hanya 8KB maka artinya pembatasan itu tidak berlaku buat kita. Silahkan download uc51 disini.

Berikut ini contoh program 89S51 yang ditulis dengan uC51

/*-----------------------------------------------
INCLUDE Section
-----------------------------------------------*/
#include <reg51.h> // include file header untuk 89S51

//note :untuk mikro 89S52 menggunakan file reg52.h

/*-----------------------------------------------
MAIN Section
-----------------------------------------------*/
void main (void)
 {
 while(1)
 {
 P0=0xAA; // menghidupkan port 0 secara silang, AAh= 1010 1010
 }

}

/*-----------------------------------------------
 END program
 -----------------------------------------------*/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: