P. 1
54260968 Pemograman Dasar Dengan Modul At89s51

54260968 Pemograman Dasar Dengan Modul At89s51

|Views: 15|Likes:
Dipublikasikan oleh Verry Hendarto

More info:

Published by: Verry Hendarto on May 13, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

02/01/2014

pdf

text

original

KEGIATAN BELAJAR PRATIKUM -1

( Pemograman output Berbasis Microcontroller ) 1. Tujuan kegiatan pembelajaran 1
• • • Dapat membuat program up-counter dengan output 8 bit Dapat menganalisa program up-counter dengan output 8 bit Dapat mengoperasikan modul untuk melakukan pengisian program ke IC microcontroller serta mengaplikasikan pada proses pengontollan.

2. Modul Mikrokontroler (Downloader)
PORT 2 PORT LCD PORT 0

POWER

PORT SERIAL

IC 89S51 PORT 1

PORT PARALEL (PRINTER PORT)

PORT 3

Kit mikrokontroler di atas biasa disebut sebagai downloader. Alat untuk merekam program dari komputer ke IC AT89S51 sebelum digunakan untuk mengontrol sebuah rangkaian elektronika.

Pemogram dengan mudah ISP 89SXXX
Pendahuluan
Programmer ISP ini dapat digunakan baik pada mode in system programming atau dengan mode stand alone untuk IC ATMEL ISP

Hardware
Rangkaian programmer ini dapat dibuat dengan cara yang sangat sederhana. Anda hanya membutuhkan sebuah IC yang digunakan sebagai buffer 74244. Koneksikan rangkaian ini ke port printer/ LPT untuk melakukan pemrograman pada rangkaian target. No 1 2 3 4 5 6 Component Connector DB 25 / USB 6 Parallel Cable Connector Header 6 pin House Connector DB 25 74LS244 PCB about 5 x 5 cm about 0.5 meter Discription

Figure T.1. Programmer AT89S

Figure T.2. Top View Programmer AT89S

. Bottom View Programmer AT89S Gambar rangkaian modul Gambar diagram Schematic Programmer dan hubungannnya ke LPT Rangkaian target merupakan otak dari sistem yang akan kita buat.3. dikemas dengan 4 buat input output dengan menggunakan konektor. yang dapat digunakan untuk berbagai macam keperluan. rangkaian terget ini.Figure T.

No 1 2 3 4 5 6 7 8 9 Component 89s51 Crystal 12 MHz Capacitor 30 pF Push Button Diode 1N4148 Capacitor 10 uF Connector Header 8 Pin Connector Header 6 Pin Resistor 1 K Discription or others family Ceramic Small Germanium 16 volt Connected to Programmer Download Skematik dan Layout PCB Rangkaian Target Gambar Rangkaian modul microcontroller .

Pemrograman dan Perekaman ke IC • Sebelum pemograman dilakukan hubungkanlah modul ke komputer dengan memasangkan socket yang tersedia dengan baik ( terpasang dengan baik ) Berikut ni diperlihatka Socket penghubung modul Microcontroller ke PC Gambar Programmer AT89S51 .

Software WIN 8051 ( 8051.EXE ) .asm.EXE ) Program dibuat dengan bahasa assembler mikrokontroler yang bersangkutan (AT89S51) diketik menggunakan editor ( asembler atau notepad) kemudian disimpan dengan ekstensi .Gambar padangan atas Programmer AT89S51 Gambar pandangan bawah Programmer AT89S51 • • Aktifkan lembar kerja ( editor progam ) yaitu WIN 8051 ( 8051.

Penulisan program ( Writing a Program ) Untuk mengimplementasikan program.#80h loop : mov P1. Setelah selesai penulisan program. maka simpanlah program dengan nama program yang diinginkan. Program Up. Membuka file baru ( New File ) Untuk membuat file yang baru ( a new file ).a inc a call tunda dec b . Kemudian Program sudah dapat dtulis pada editor program yang tersedia.#00h mov b. Berikut ini adalah program yang akan dibuat. Tuslah program berikut: 2. klik menu File.1. kemudian pilih menu New. maka harus ditulis program dalam bahasa emograman assembly pada lembaang yang tersedia ( kosong ).Conter Org 00h mov a.

Jika terjadi kesalahan akan ditunjukan seperti pada tampilan di atas ( assembly errors : .ASM 4. Perbaikan kesalahan program ( Troubleshooting Error) Lakukan pengecekan program. Bila tidak terjadi kesalahan akan ditunjukan ( A ssembly Errors : 0 ) • Pada gambar berikut terlihat lembaran editor program .sjmp loop tunda: mov r7. ) dan harus diperbaiki sebelum ketahap berikutnya.td ret end 3..$ djnz r7. Kompilasi ( Compiling ) Untuk mengaktifkan program yang telah dibuat.#255 td: mov r6. terlebih dahulu program sengan extension . kemudian lakukan penyimpanan program dengan extension *. Penyimpanan program ( Save As ) Setelah proga selesai dibuat.#255 djnz r6.asm kedalam bentuk file Hex dengan cara mengklik perintah assemle 5.

dengan memilih menu File.hex ).6. Aktifkan program ISP ( ATMEL microcontroller ISP Software ) • Lakukan Pemilihan menu options. klik select device. pilih jenis microconroler yang digunakan aitu AT89S51. dan Xtals( mHz) 12. Pada lembaran bagian bawah Device selection terdapat plihan. dengan memilih byte mode. seperti terlihat pada conoh berikut Lakukan kembali pemanggilan program yang sudah dikonveskan kedalam hex. dan klik open Untuk melakukan pengisian program e IC microcontroller dapat dilakuka dengan cara berikut . dan buka program sebagai contoh ( Coba1. kemudian pilih load buffer. Untuk menjalankan program dapat dilakukan dengan cara memilih menu Run Target Setelah program berjalan dengan benar lepaskan kabel printer port paraler dari komputer dengan sendirinya kit mikrokontroler akan menjalankan program yang sudah disimpan ke dalam IC hanya dengan catu daya 5 volt Lakukan untuk program-program yang lain dengan cara yang sama seperti di atas • • • • • . kemudian memilih menu Write to Chipt. memilih Menu Instruction.

Gambar Windows Buffer . Gambar Atmel Microcontroller ISP Software 2.Secara keseluruhan bentuk tampilan menu pada masing-masing proses atau langak yang dilakukan dapat diperlihatkan sebagai berikut 1. Gambar pemilihan Device Select Dialog 4. Gambar pemilihan Port ( select Dialaog ) 3.

5. Gambar Open fil Hex Dialog . Gambar Lod Buffer Dialog . 6.

7. Gambar Update buffer data 8. Gambar Auto Programming sub menu . Gambar Initialize Device 9.

Gambar progress Dialog 11.10. Gambar Run Target Instruction . Gambar Auto Programming Dialog 13. Gambar Gambar Lockbit Manager Dialog 12.

Gambar Error according to cable connection. Gambar Error according to device error 15. .14.

Catatan TAHAPAN PENGGUNAAN MODUL PRATIKUM WIN 8051 8051.EXE FILE New Tulis program Assemble Check ada kesalahan atau tidak Jika ada perbaiki sampai program benar ATMEL Option Selct device AT89S51 Byte mode XTAL 12 File Load buffer Buka file ( Coba1.hex ) Instruction Write to Chipt Target Run .

#18h sjmp loop end 2.#0h mov p2.#42h acall tunda mov p0.#255 djnz r6.#0h loop: mov p0. Data Register ouput port 0 bagian 2 org 0h mov p0. Data Register ouput port 0 bagian 1 org 0h mov p1.#24h acall tunda mov p0.#0h mov p3.#18h acall tunda sjmp loop tunda: mov r7.#0h loop: mov p0.#24h acall tunda mov p0.#255 tnd: mov r6.1.#42h acall tunda mov p0.#0h mov p2.tnd ret end .#0h mov p1.$ djnz r7.#18h acall tunda mov p0.#81h acall tunda mov p0.#0h mov p3.

#18h acall delay mov p0. Program delay bagian 1 org 0h mov p0.td ret end 5.#0h mov p3.#18h acall delay mov p0.#24h acall delay delay: mov r7.#01h lompat: mov p1.#255 td: mov r6.#0h mov p2.#255 .#0h loop: mov a.$ djnz r7.#255 djnz r7. Program delay bagian 2 org 0h mov p0.#01h.#24h acall delay delay: mov r7.3.#255 td: mov r6.a acall Delay rr a cjne a.$ ret end 4. Data Shift right org 0h mov p0.#255 djnz r6.lompat sjmp loop delay: mov r7.

$ djnz r7.djnz r6.lompat sjmp loop delay: mov r7.#0h loop: mov a.#01h lompat: mov p1.#0h mov p3.#255 td: mov r6.td ret end .#0h loop: mov a.#255 td: mov r6.#60h.#00h lompat: mov p1.td ret end 6.#01h.#255 djnz r6.$ djnz r7.$ djnz r7.#0h mov p2.#0h mov p2. Data Counter Up org 0h mov p0.#0h mov p3. Data shift Left org 0h mov p0.a acall Delay inc a cjne a.td ret end 7.lompat sjmp loop delay: mov r7.a acall Delay rl a cjne a.#255 djnz r6.

080h.$ djnz r7.lompat sjmp loop delay: mov r7.r0 acall tampil mov p0.02h.8.a acall Delay dec a cjne a. Data memori Output LED org 0h mov p1. Data Counter Down org 0h mov p0.#0h loop: mov a.a acall tunda1 inc r0 cjne r0.#0 lp: mov a.010h.#0h mov p2.td ret end 9.040h.#0h mov p3.@a+pc ret db 01h.04h.#70h lompat: mov p1.#255 djnz r6.08h.#0h start: mov r0.#9.020h.0h .#0h mov p3.#0h.lp sjmp start tampil: inc a movc a.#255 td: mov r6.#0h mov p2.

-----sub program-----------delay: mov R7. Program Gabungan .---------------------------end 11.#50 l2: mov R5.#200 djnz r5.#Tabeldata loop: clr a movc a.l2 djnz R7.l3 djnz R6.loop sjmp mainloop .tunda1:mov r6.#20 l1: mov R6.#200 tnd: mov r5.tnd ret end Program 10 .@a+dptr mov P1.#8 mov dptr.-----tabel data -------Tabeldata: db 11111110b db 11111101b db 11111011b db 11110111b db 11101111b db 11011111b db 10111111b db 01111111b .-----program utama---------mainloop: mov R4.l1 ret .#50 l3: djnz R5.a inc dptr acall delay djnz R4.$ djnz r6.

#30 mov r6.#0 acall time mov p0.back ret time: tm1: tm2: tm3: mov r7.#255 mov r5.#0h p1.#0h p3.#255 djnz r5.left ret left: right: mov a.#0feh.a rr a acall time cjne a.tm2 djnz r7.a rl a acall time cjne a.#0ffh acall time djnz r4.#0h mulai: acall left acall back acall right sjmp mulai ret mov a.org 0h mov mov mov mov p0.#8 mov p0.right ret back: mov r4.tm3 djnz r6.#0h p2.tm1 .#7fh.#7fh mov p0.#0feh mov p0.

geka ret Kedipkan: mov R4.a rl a acall delay cjne a.#10 l1: mov R6.#0FEH geki: mov P1.#7FH mov R4.l1 ret end .Program 12 Program Gabungan Org 0h .#8 kdp: mov P1.program utama loop: acall GeserKiri acall GeserKanan acall Kedipkan sjmp loop GeserKiri: mov a.#255 l2: mov R5.#0 acall delay mov P1.#0FFH acall delay djnz R4.geki ret GeserKanan: mov a.#7 geka: mov P1.a rl a acall delay djnz R4.#7FH.l3 djnz R6.kdp ret delay: mov R7.l2 djnz R7.#255 l3: djnz R5.

#00h acall tunda sjmp loop tunda: mov r7.$ djnz r7.tnd ret end Program dasar2 ( putar kekanan menggunakan instruksi shift ) org 0h mov p0.#0h loop: mov p0.#255 djnz r6.$ djnz r7.a acall Delay rr a sjmp loop delay: mov r7.#06h acall tunda mov p0.#0h mov p2.#33h mov p1.#0Ch acall tunda mov p0.#255 tnd: mov r6.PROGRAM APLIKASI PENGONTROLAN STEPPER MOTOR PEMOGRAMAN DENGAN KONSEP DASAR Data stepper motor ( putaran motor stepper arah jarum jam ) Sw3 Sw2 Sw1 Sw0 Data 0 0 1 1 03 0 1 1 0 06 1 1 0 0 0C 1 0 0 0 09 Data stepper motor ( putaran motor stepper berlawanan arah jarum jam ) Sw3 Sw2 Sw1 Sw0 Data 1 0 0 1 09 1 1 0 0 0C 0 1 1 0 06 0 0 1 1 03 Program dasar 1 ( berputar searah jarum jam ) org 0h mov p1.#0h mov p2.#0h loop: mov a.#255 djnz r6.td ret end .#0h mov p3.#09h acall tunda mov p0.#0h mov p3.#03h acall tunda mov p0.#255 td: mov r6.

l2 djnz R7.a rl a acall delay inc b cjne b.puka ret delay: mov R7.00h tunda1: tnd: mov r6.#20h loop: mov a.r0 acall tampil mov p0.a rr a acall delay inc.#0h mov p3.#30.Program dasar3 Putar kekanan sejumlah 20h step org 0h mov p0.#0h mov p3.#255 djnz r6.l3 djnz R6.#33h mov p1.@a+pc ret db 03h.tnd ret end Program pengontrollan motor putar kekiri dan kekanan Org 0h loop: acall putarkiri acall putarkanan sjmp loop putarkiri : mov b.lp sjmp start tampil: inc a movc a.$ djnz r6.#33h puka: mov P1.#00h mov a.#033H puki: mov P1.#255 l3: djnz R5.#200 djnz r5.#0h mov p2.#20h.td ret Program dasar 4 org 0h mov p1.a acall tunda1 inc r0 cjne r0.l1 ret end .#255 l2: mov R5.#0h mov b.a acall Delay rr a djnz b.09h.#10 l1: mov R6.0Ch.#0 lp: mov a.#255 td: mov r6.#0h start: mov r0.#0h mov p2.$ djnz r7.loop end delay: mov r7.r4 sjmp r4.#200 mov r5.#00h mov a.06h.#9.puki ret putarkanan: mv R4.

Gambar rangkaian pengontrolan Motor Stepper .

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->