Mikrokontroler dengan Ladder diagram

Pemrograman Mikrokontroler menggunakan ladder diagram (ladder logic micro).
Bagi anda yang terbiasa memprogram PLC itu akan sangat membantu menggunakan software ini. karena dengan software ini pemrograman mikrokontroler bisa dilakukan layaknya memprogram PLC.

Berikut ialah screenshotnya
Berikut ialah jenis mikrokontroler yang didukung:
  • PIC16F628(A)
  • PIC16F88
  • PIC16F819
  • PIC16F877(A)
  • PIC16F876(A)
  • PIC16F887
  • PIC16F886
  • ATmega128
  • ATmega64
  • ATmega162
  • ATmega32
  • ATmega16
  • ATmega8
Cara menggunakan software ini cukup mudah, pertama anda memasukan kontak (LD,LD not, And, Andnot, timer, ataupun output) melalui label instruction lalu pilih tipe kontak yang anda inginkan, setelah itu isi parameternya apakan kontak input/output dari pin IC atau input/output virtual layaknya PLC.
 setelah itu compile maka ladder pun akan berubah menjadi bentuk intel hex file (.hex) yang siap dimasukan ke dalam IC mikrokontroler.

terima kasih
software Ladder logic nya bisa anda download disini

Pemrograman MCS51/AVR dengan Bahasa Basic

Mungkin hal ini sudah tidak asing bagi kalangan pecinta mikrokontroler, tetapi dalam hal ini penulis mencoba menulis reviewnya sekedar untuk berbagi tutorial maupun softwarenya bagi yang membutuhkan. Nama aplikasinya ialah BASCOM 8051 untuk MCS51 dan BASCOM AVR untuk AVR.

Jadi jka teman-teman memiliki biasa menggunakan visual basic pasti akan mudah memprogram mikrokontroler keluarga MCS51 maupun AVR dengan software ini, karena statment nya tidak jauh berbeda dengan visual basic dan lebih menyenangkan lagi karena software ini dilengkapi simulasi output dan debug program yang mudah dipahami.

Ketika penulis mencoba menggunakan terasa begitu mudah dipahami meski baru beberapa saat. tidak sabar berikut screenhotnya :

sesi paling penting :
Download Bascom 8051 full version dapat download disini
Download Bascom AVR full version dapat download disini

Untuk tutorial dan artikel penggunaan bascom 8051/avr anda dapat mendownload pada kolom ebook



Pemrograman MCS51/AVR dengan Bahasa C

Bahasa Assembler merupakan bahasa pemrograman tingkat paling rendah, hanya mengenal instruksi-instruksi paling dasar mikrokontroler, ditambah dengan beberapa perintah untuk mengatur memori secara sederhana. Bahasa pemrograman ‘satu tingkat’ di atas Asembler adalah bahasa C yang sangat fleksible, dipakai untuk membangun Windows, tapi bisa juga dipakai untuk rancang bangun peralatan dengan mikrokontroler.

C asalnya dirancang sebagai bahasa pemrograman untuk membangun sistem  operasi UNIX pada komputer DEC PDP-11, sekitar awal tahun 1970-an. Bahasa ini berkembang secara pesat, pada tahun 1983, American National Standards Institute (ANSI) membentuk komite kerja dengan tugas khusus membakukan bahasa C sebagai bahasa pemrograman yang tidak tergantung pada jenis komputer. Hasil kerja komite tersebut merupakan pedoman baku untuk bahasa C, dan C compiler yang dibangun atas dasar pedoman tersebut disebut sebagai ANSI-C.
Semua C compiler yang ada kini kebanyakan adalah ANSI-C, tapi masing-masing mempunyai variasinya tersendiri, dilengkapi dengan sarana-sarana untuk memudahkan pemakaian C pada komputer tertentu. Dalam hal ini dikenal Turbo C, Borland C++, Visual C dan lain sebagainya, semuanya merupakan C Compiler yang banyak dipakai pada IBM-PC, tentu saja hasil akhir dari semua C Compiler tadi adalah kode mesin untuk prosesor IBM-PC (8086, 80286, 80386, 80486 dan Pentium).
Tapi bahasa C untuk keperluan rancang bangun peralatan yang memakai mikrokontroler tentu saja tidak memerlukan sarana-sarana tambahan secanggih C Compiler yang dipakai dalam IBM-PC, dan hasil akhirnya harus berupa kode mesin untuk masing-masing mikrokontroler/mikroprosesor. Artinya C Compiler untuk mikrokontroler MCS51 harus menghasilkan kode mesin MCS51, C Compiler untuk MC68HC11 harus menghasilkan kode mesin MC68HC11 pula.
Dengan pengertian di atas. C Compiler untuk IBM-PC tidak bisa dipakai untuk mikrokontroler, dan masing-masing jenis mikrokontroler mempunyai C Compiler tersendiri.

C Compiler untuk MCS51

Sejak akhir tahun 1980-an, telah banyak dibuat C Cross-Compiler yang bekerja pada IBM-PC untuk MCS51, artinya C Compiler tersebut bekerja di IBM-PC tapi kode mesin yang dihasilkan bukan untuk IBM-PC melainkan untuk MCS51.
C Compiler untuk MCS51 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. Yang menarik meskipun harganya mahal, Keil membagikan C51 produknya yang bisa diminta lewat situs web http://www.keil.com, C51 gratis tersebut dibatasi hanya bisa menghasilkan kode mesin MCS51 paling banyak 2 KiloByte. Tapi untuk keperluan projek kecil-kecil yang memakai AT89C2051 batasan memori tersebut tidak merupakan masalah, karena memori-program AT89C2051 memang hanya sebesar 2 KiloByte.
Selain produk komersil tersebut di atas, ada pula C Compiler gratis, yang dikenal sebagai SDCC – Small Device C Compiler.

Small Device C Compiler - SDCC

SDCC, buatan Sandeep Dutta (sandeep@users.sourceforge.net), sejak semula memang dibuat sebagai software gratis (freeware), kemudian project mulia ini digabungkan dengan projek GNU, yakni projek ramai-ramai insan Internet yang melahirkan Linux. Dengan demikian, kini program SDCC bisa 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 bisa dipakai untuk mikroprosesor Z80, mikrokontroler MCS51, dalam waktu dekat akan segera bisa 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 projek-projek dengan MCS51, kelak satu saat bermaksud memakai mikrokontroler AVR karena memerlukan mikrokontroler yang kemampuannya lebih, maka tidak banyak hambatan untuk beralih prosesor, bahkan program-program yang sudah dikembangkan untuk MCS51 dengan SDCC, dengan sedikit perubahan bisa dipakai di sistem yang memakai AVR.

SDCC dapat anda download disini
Manual booknya anda bisa download disini

Kontrol Traffic Light Menggunakan 8051/AT89C2051

Mikrokontroler memiliki fungsi yang sangat luas sekali, kali ini saya akan menggunakan mikrokontroler sebagai pengontrol dari lampu lalu lintas atau traffic light,

Dengan memanfaatkan 2 port dari AT89C2051 kita sudah bisa mengontrol traffic light dengan 4 simpangan/perempatan.

Dibawah ini adalah skema dari rangkaian tersebut:
Untuk melihat ukurannya silahkan klik pada gambar

Rangkaian membutuhkan tegangan 5V yang telah diregulasi, pada proyek ini lampu yang digunakan adalah lampu led. jika anda ingin menggunakan lampu 220V atau yang lebih tinggi tegangannya anda memerlukan Relay Board sebagai penghubung mikrokontroler dengan lampu.
 Untuk Relay Board saya akan terbitkan di lain posting.

Source Kode Rangkaian :

NR    EQU    P3.5
NY    EQU    P3.4
NG    EQU    P3.3

SR    EQU    P1.2
SY    EQU    P1.3
SG    EQU    P1.4

ER    EQU    P1.5
EY    EQU    P1.6
EG    EQU    P1.7

WR    EQU    P3.7
WY    EQU    P1.0
WG    EQU    P1.1

CSEG     AT      0        ; RESET VECTOR
;---------==========----------==========---------=========---------
;              PROCESSOR INTERRUPT AND RESET VECTORS
;---------==========----------==========---------=========---------

        ORG     00H            ; Reset
        JMP     MAIN
;---------==========----------==========---------=========---------
MAIN:
       MOV SP,#40H
       MOV P1,#0FFH
       MOV P3,#0FFH
      
TOP:     CLR NR
       CLR SR
       CLR ER
       CLR WY
       SETB WG
       CALL Y_DELAY
       SETB NR
       CLR NY
       CLR WR
       SETB WY
       CALL Y_DELAY
       SETB NY
       CLR NG
       CALL DELAY
      
       CLR NY
       SETB NG
       CALL Y_DELAY
       CLR NR
       SETB NY
       SETB SR
       CLR SY
       CALL Y_DELAY
       SETB SY
       CLR SG
       CALL DELAY
      
       CLR SY
       SETB SG
       CALL Y_DELAY
       CLR SR
       SETB SY
       SETB ER
       CLR EY
       CALL Y_DELAY
       SETB EY
       CLR EG
       CALL DELAY
      
       CLR EY
       SETB EG
       CALL Y_DELAY
       CLR ER
       SETB EY
       SETB WR
       CLR WY
       CALL Y_DELAY
       SETB WY
       CLR WG
       CALL DELAY
       AJMP TOP
      
      
      
;**********************************************************
DELAY:
            MOV R3,#3FH
REPA3:    MOV R1,#0FFH
REPA2:    MOV R2,#0FFH
REPA1:    NOP
            DJNZ R2,REPA1
            DJNZ R1,REPA2
            DJNZ R3,REPA3
            RET
;  ---------==========----------==========---------=========---------
Y_DELAY:
            MOV R3,#1AH
RQPA3:    MOV R1,#0FFH
RQPA2:    MOV R2,#0FFH
RQPA1:    NOP
            DJNZ R2,RQPA1
            DJNZ R1,RQPA2
            DJNZ R3,RQPA3
            RET
;**********************************************************
     END




Kode Lengkap Rangkaian beserta Skema rangkaian dapat anda download disini