08 laporan pen gen alan bahasa c dan basic

Upload: einjhi

Post on 10-Jul-2015

75 views

Category:

Documents


0 download

TRANSCRIPT

MODUL VIII

278

BAB I PENDAHULUANI.1 LATAR BELAKANG Pemrograman pada microkontroler bisa dilakukan dengan menggunakan bahasa C. Pada pemrograman bahasa C lebih mudah dipahami karena sudah memiliki perintah sendiri untuk port-port dan lainnya.Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.Seorang programmer dari Bell laboratory yang juga bekerja untuk IBM bernama Bjarne Stroustrap merasakan adanya kesulitan ketika bahasa C dipakai untuk menulis program yang sangat besar maka ia lalu membuat perluasan yang dapat lebih memudahkan pemrogram dalam membuat program besar dengan konsep OOP (Object Oriented Program). Kemudian, lahirlah C++ sekitar tahun 1983. Akibatnya, banyak software yang ditulis dengan C kemudian turut dikembangkan menjadi program C++ sehingga lebih efisien dan efektif.Pada era visual saat ini, versi dari C dan C++ muncul pula dengan nama Visual C atau Visual C++, C Builder, bahkan telah ada versi baru dari C yaitu C#. I.2 TUJUAN PRATIKUM Pratikum dapat menggunakan bahasa C sebagai bahasa pemograman pada mikrokontoler keluarga MCS-51. Praktikan dapat menggunakan bahasa Basic sabagai bahasa pemrograman mikrokonteoler keluarga MCS-51 I.3. ALAT-ALAT PERCOBAAN KIT Pratikum Mikrokontroler dengan kabel dan jumper. PC software SDCC dan Bascom 8051 software flash programmer (Plant, Siatem minuman dan Downloadr) lengkap pada

279

BAB II TEORI

2.1 C COMPILER UNTUK MCS-51 Pemrograman mikrokontroler dapan dilakukkan menggunakan bahasa tingkat rendah ( assembler ), ataupun bahasa tingkat tinggi (C, Basic, Pascal). Pada pratikum ini akan digunakan bahasa C dan Basic yang lebih mudah dipahami untuk membuat program pada mikrokontroler AT89S52. Sebelumnya anda harus sudah mengerti pemrograman dasar menggunakan bahasa C dan Basic untuk PC. Pada bahasa C dan Basic diperlukan pengarah preprosesor untuk menyisipkan suatu file. Pada bahas C kita menggunakan #include dan pada bahasa Basic kita menggunakan $regfile= 8052.dat sebagai preprosesor jika kita menggunakan at89s52. Sejak akhir tahun 1980-an, telah banyak dibuat C Cross-Compiler yang bekerja pada IBM-PC untuk MCS-51, artinya C Compiler tersebut bekerja di IBM-PC tapi kode mesin yang dihasilkan bukan untuk IBM-PC melainkan untuk MCS-51 C Compiler untuk MCS-51 YANG CUKUP DIKENAL ANTARA LAIN ADALAH Micro-C buatan Dunfield Development Systems, Franklin C buatan Franklin Software Inc dan C51 buatan Keil Software harga perangkat lunak tersebut tidak murah. Selain priduk komersil tersebut di atas, ada pula C Compile gratis, yang dikenal sabagai SDCC- small Device C Compiler, yang akan digunakan pada pratikum ini. Dengan tersedia Ulya Freeware SDDC kita dapat memprogram mikrikontroler AT89XX menggunakan bahasa C tanpa harus membeli C compiler yang harganya relatif mahal. Selain itu SDCC juga

mempunyai omtimisasi yang bagus sehingga tidak kalah dengan compiler komersial lainnya, dan cukup layak untuk kita gunakan, pemrograman dengan bahasa C akan sangat memudahkan kita dibandingkan menggunakan bahasa assembly karena program yang kita buat akan sangat mudah untuk dibaca, dan pembuatan algoritma sangat mudah untul dilakukan.

280

SMALL DEVICE C COMPILER-SDCC SDCC, buatan Sandeep Dutta ([email protected]), sejak semula memang dibuat sebagai software gratis ( freeware),kemudian project mulia ini digabungkan dengan

project GNU, yakni project ramai-ramai insane internet yang melahirkan Linux. Dengan demikian, kini program SDCC bias diambil pada situs http://sdcc.sourceforge.net. Dalam rancangannya, SDCC dipersiapkan untuk berbagai macam mikroprosesor

mikrokontroler, hal ini sesuai dengan sifat bahasa C yang mudah diadaptasikan ke berbagai macam prosesor. Sampai saat ini, SDCC sudah bias dipakai untuk mikroprosesor Z80,

mikrokontroler MCS-51, dalam waktu dekat akan segera bias dipakai untuk mikrokontroler AVR buatan Atmel, dan mikrokontroler PIC buatan MicroChip, dan beberapa prosesor lainnya akan segera menyusul. Hal ini membuat SDCC menjadi sangat menarik. Setelah terbiasa memakai SDCC untuk project-project dengan MCS-51 , kelak satu sat bermaksud memakai mikrokontroler AVR karena memerlukan mikrokontroler yang kemampuannya lebih, maka tidak banyak

hambatan untuk beralih prosesor , bahkan program-programn yang sudah dikembangkan untuk MCS-51 dengan SDCC, dengan sedikit pembahan bias dipakai di system yang memakai AVR. MENGGUNAKAN SDCC Instalansi SDCC Sebelum anda bereksperimen dengan SDCC maka sebelumnya anda harus menginstal SDCC pada computer anda. Langkah-langkah Instalansi SDCC : 1. Download Win 32 SDCC Setup file pada situs sdcc.sourceforge.net 2. Jalankan file setup yang telah anda download tadi 3. Ikuti langkah yang muncul pada dialog yang muncul , dan gunakan nilai defaultnya, terakhir ketika installer menanyakan untuk menambah path ke system path, pilih yes sehingga anda akan dapat meng-compile dari sembarang folder. 4. Setelah selesai restart computer anda. 5. Test apakah SDCC sudah terinstall dengan benar , dengan masuk ke command prompt ketik sdcc v untuk menampilkan versi sdcc yang anda install, berikut langkahnya :

281

Gambar 141

1. Klik Start -> Run kemudian ketik cmd, klik Ok maka akan muncul window command prompt 2. Ketik sdcc v, jika tampil versi SDCC maka SDCC telah terinstal dengan benar. IN LINE ASSEMBLER Anda dapat menyisipkan kode assembler MCS-51 dalam program c anda ( in line Assembler), dengan dimulai keyword_asm dan di akhiri oleh keyword_endasm; contoh: #include // header, definisi port ada pada file ini _asm mov mov nap nap _endasm; I/O PORT ACCESS I/O Port access dapat langsung dilakukan dengan memberikan nilai pada nama port yang ingin anda akses, port yang tersedia disesuaikan mikrokontroler yang digunakan.Nama port haruslah huruf kapital mis: PO, P1, P2, P3 sesuai dengan file header, penggunaan huruf kecil akan menimbulkan kesalahan, contoh: #include // header, definisi port ada pada file ini P1 = 0xF0 ; // memberikan nilai 0x kepada port 1 P2 = 200 ; // memberikan nilai 200 kepada port 2 i = P2 ; // membaca nilai pada P2 dan nilainya di berikan ke variabel i akses port secara bit dilakukan dengan cara menggunakan keyword PX_Y, sesuai dengan definisi di file headernya, X diganti dengan port yang akan diakses, sedangkanY diganti dengan Pl,#200 P2,#255

282

dengan bit yang akan di akses, mis: Pl_ 0 artinya Port 1 bit ke 0 (P1.0), bit hanya mempunyai dua keadaan logika yaitu on(l)/off(0).Berikut contoh pengaksesan port secara bit: #include // header, definisi port ada pada file ini bit i; P1_0 = 1 ; II memberikan nilai I kepada port PI.O P1_1 = 0 ; II memberikan nilai 0 kepada port Pl.I i = P1_0 ; II membaca nilai pada PI.O dan nilainya di berikan ke variabel i BASIC COMPILER UNTUK MCS-51 Compiler bahasa basic untuk MCS-51 salah satunya adalah Bascom 8051 dari MCS electronics. Terdapat versi demo yang dapat di-download secara gratis. Versi demo dibatasi untuk program sebesar 2 kbyte saja. Berikut tampilan dari Bascom8051:

Gambar 142

Penggunaan Bascom 8051 lebih praktis daripada SDCC pada bahasa C, karena penulisan dan compiling program dapat dilakukan sekaligus pada program tersebut. Bascom80S1 juga menyediakan fasilitas simulator untuk.menguji program yang telah dibuat dengan babasa basic tentunya. Syntax bahasa Basic hampir mirip dengan C dan Pascal sehingga akan lebih mudah dipahami daripada assembler. Pada Bascom 8051, kita juga dapat menyisipkan bahasa assembler dengan menuliskan $asm diakhiri dengan $end.asm

283

BAB III PROSEDUR PERCOBAANIII.1 Bahasa C:

1. Buka teks editor yang anda miliki, misal notepad kemudian ketik program di bawah ini #include void delay(void) { int i; for(i=O i i led1.hex

286

Gambar 147 8. File led1.hex sudah siap uutuk diprogramkan ke dalam mikrokoutroller III.2 BAHASA BASIC

1. Buka program Bascom8051. 2. Tu1iskan program berikut ini: $regfile = 8052.dat $crystal = 12000000 '$sim A: P1 = &h00 Waitms 500 P1 = &h0ff Waitms 500 Goto A 3. Compile program (F7), jika masih ada keslahan akan muncul pesan tanda error. Syntax dihighlight merah.

287

Gambar 148 4. Anda dapat melihat apa jenis kesalahan yang terjadi dengan meng-klik errors pada pojok kiri bawah. Lalu akan muncul pesan error yang terjadi.

Gambar 149

5. Jika sudah tidak ada kesalahan, masukkan file *.hex ke mikrokontroller.288

BAB IV TUGAS PRAKTIKUM

IV.I TUGAS AKHIR 2. program menampilkan karakter pada sevent segment dan LCD karakter 0 - 9 pada sevent segment $regfile = "8052.dat" $crystal = 12000000 Main: P2 = &H01 P1 = &H0C0 Wait 1 P2 = &H01 P1 = &H0F9 Wait 1 P2 = &H01 P1 = &H0A4 Wait 1 P2 = &H01 P1 = &H0B0 Wait 1 P2 = &H01 P1 = &H99 Wait 1 P2 = &H01 P1 = &H92 Wait 1 289

P2 = &H01 P1 = &H82 Wait 1 P2 = &H01 P1 = &H0F8 Wait 1 P2 = &H01 P1 = &H80 Wait 1 P2 = &H01 P1 = &H90 Wait 1 P2 = &H00 Waitms 500 Goto Main End

karakter (someone bergeser pada baris 1 dan I U pada baris 2)

Deflcdchar 1 , 32 , 32 , 27 , 21 , 17 , 10 , 4 , 32 $regfile = "8052.dat" $crystal = 12000000 Config Lcd = 16 * 2 Dim X As Word Main: Cls X=1 Locate 1 , 1

290

Lcd "some one" If X = 1 Then While X