54260968 Pemograman Dasar Dengan Modul At89s51

30
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 1 POWER PORT LCD PORT PARALEL (PRINTER PORT) PORT SERIAL PORT 0 PORT 2 PORT 3 IC 89S51

Transcript of 54260968 Pemograman Dasar Dengan Modul At89s51

Page 1: 54260968 Pemograman Dasar Dengan Modul At89s51

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)

Kit mikrokontroler di atas biasa disebut sebagai downloader. Alat untuk

merekam program dari komputer ke IC AT89S51 sebelum digunakan untuk

mengontrol sebuah rangkaian elektronika.

PORT 1

POWER

PORT LCD

PORT PARALEL(PRINTER PORT)

PORT SERIAL

PORT 0PORT 2

PORT 3

IC 89S51

Page 2: 54260968 Pemograman Dasar Dengan Modul At89s51

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 Component Discription

1 Connector DB 25 / USB

2 6 Parallel Cable about 0.5 meter

3 Connector Header 6 pin

4 House Connector DB 25

5 74LS244

6 PCB about 5 x 5 cm

 

Figure T.1. Programmer AT89S

Figure T.2. Top View Programmer AT89S

Page 3: 54260968 Pemograman Dasar Dengan Modul At89s51

Figure T.3. 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, rangkaian terget ini, dikemas dengan 4 buat input output dengan menggunakan konektor, yang dapat digunakan untuk berbagai macam keperluan.

Page 4: 54260968 Pemograman Dasar Dengan Modul At89s51

No ComponentDiscription

1 89s51 or others family

2 Crystal 12 MHz

3 Capacitor 30 pF Ceramic

4 Push Button Small

5 Diode 1N4148 Germanium

6 Capacitor 10 uF 16 volt

7 Connector Header 8 Pin

8 Connector Header 6 PinConnected to Programmer

9 Resistor 1 K

Download Skematik dan Layout PCB Rangkaian Target

Gambar Rangkaian modul microcontroller

Page 5: 54260968 Pemograman Dasar Dengan Modul At89s51

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

Page 6: 54260968 Pemograman Dasar Dengan Modul At89s51

Gambar padangan atas Programmer AT89S51

Gambar pandangan bawah Programmer AT89S51

Aktifkan lembar kerja ( editor progam ) yaitu WIN 8051 ( 8051.EXE )

Program dibuat dengan bahasa assembler mikrokontroler yang

bersangkutan (AT89S51) diketik menggunakan editor ( asembler

atau notepad) kemudian disimpan dengan ekstensi .asm.

Software WIN 8051 ( 8051.EXE )

Page 7: 54260968 Pemograman Dasar Dengan Modul At89s51

1. Membuka file baru ( New File )

Untuk membuat file yang baru ( a new file ), klik menu File, kemudian pilih menu New. Kemudian Program sudah dapat dtulis pada editor program yang tersedia. Tuslah program berikut:

2. Penulisan program ( Writing a Program )

Untuk mengimplementasikan program, maka harus ditulis program dalam bahasa emograman assembly pada lembaang yang tersedia ( kosong ). Setelah selesai penulisan program, maka simpanlah program dengan nama program yang diinginkan. Berikut ini adalah program yang akan dibuat.

Program Up- Conter Org 00h

mov a,#00hmov b,#80h

loop :mov P1,ainc acall tunda dec b

Page 8: 54260968 Pemograman Dasar Dengan Modul At89s51

sjmp loop

tunda: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret end

3. Penyimpanan program ( Save As )

Setelah proga selesai dibuat, kemudian lakukan penyimpanan program dengan extension *.ASM

4. Kompilasi ( Compiling )

Untuk mengaktifkan program yang telah dibuat, terlebih dahulu program sengan extension .asm kedalam bentuk file Hex dengan cara meng-klik perintah assemle

5. Perbaikan kesalahan program ( Troubleshooting Error)

Lakukan pengecekan program, Jika terjadi kesalahan akan ditunjukan seperti pada tampilan di atas ( assembly errors : .. ) dan harus diperbaiki sebelum ketahap berikutnya. Bila tidak terjadi kesalahan akan ditunjukan ( Assembly Errors : 0 ) Pada gambar berikut terlihat lembaran editor program

Page 9: 54260968 Pemograman Dasar Dengan Modul At89s51

6. Aktifkan program ISP ( ATMEL microcontroller ISP Software )

Lakukan Pemilihan menu options, klik select device, pilih jenis microconroler yang digunakan aitu AT89S51. Pada lembaran bagian bawah Device selection terdapat plihan, dengan memilih byte mode, dan Xtals( mHz) 12, seperti terlihat pada conoh berikut

Lakukan kembali pemanggilan program yang sudah dikonveskan kedalam hex, dengan memilih menu File, kemudian pilih load buffer, dan buka program sebagai contoh ( Coba1.hex ), dan klik open

Untuk melakukan pengisian program e IC microcontroller dapat dilakuka dengan cara berikut , memilih Menu Instruction, kemudian memilih menu Write to Chipt.

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

Page 10: 54260968 Pemograman Dasar Dengan Modul At89s51

Secara keseluruhan bentuk tampilan menu pada masing-masing proses atau

langak yang dilakukan dapat diperlihatkan sebagai berikut

1. Gambar Atmel Microcontroller ISP Software

2. Gambar pemilihan Port ( select Dialaog )

3. Gambar pemilihan Device Select Dialog

4. Gambar Buffer Windows

Page 11: 54260968 Pemograman Dasar Dengan Modul At89s51

5. Gambar Lod Buffer Dialog

.

6. Gambar Open fil Hex Dialog

Page 12: 54260968 Pemograman Dasar Dengan Modul At89s51

7. Gambar Update buffer data

8. Gambar Initialize Device

9. Gambar Auto Programming sub menu

Page 13: 54260968 Pemograman Dasar Dengan Modul At89s51

10. Gambar progress Dialog

11. Gambar Gambar Lockbit Manager Dialog

12. Gambar Auto Programming Dialog

13. Gambar Run Target Instruction

Page 14: 54260968 Pemograman Dasar Dengan Modul At89s51

14. Gambar Error according to device error

15. Gambar Error according to cable connection.

Page 15: 54260968 Pemograman Dasar Dengan Modul At89s51

Catatan

TAHAPAN PENGGUNAAN MODUL PRATIKUM

WIN 80518051.EXE

FILE New

Tulis program Assemble

Check ada kesalahan atau tidak Jika ada perbaiki sampai program benar

ATMEL Option

Selct deviceAT89S51

Byte modeXTAL 12

File Load buffer

Buka file ( Coba1.hex )

Instruction Write to ChiptTarget Run

Page 16: 54260968 Pemograman Dasar Dengan Modul At89s51

1. Data Register ouput port 0 bagian 1

org 0h mov p1,#0h mov p2,#0h mov p3,#0h loop: mov p0,#18h sjmp loop

end

2. Data Register ouput port 0 bagian 2

org 0h mov p0,#0h mov p1,#0h mov p2,#0h mov p3,#0hloop: mov p0,#18h acall tunda mov p0,#24h acall tunda mov p0,#42h acall tunda mov p0,#81h acall tunda mov p0,#42h acall tunda mov p0,#24h acall tunda mov p0,#18h acall tunda sjmp looptunda: mov r7,#255tnd: mov r6,#255 djnz r6,$ djnz r7,tnd ret end

Page 17: 54260968 Pemograman Dasar Dengan Modul At89s51

3. Program delay bagian 1org 0h mov p0,#18h acall delay mov p0,#24h acall delay delay: mov r7,#255 djnz r7,$ ret end

4. Program delay bagian 2

org 0h mov p0,#18h acall delay mov p0,#24h acall delay delay: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret end

5. Data Shift right org 0h mov p0,#0h mov p2,#0h mov p3,#0hloop: mov a,#01hlompat: mov p1,a acall Delay rr a cjne a,#01h,lompat sjmp loopdelay: mov r7,#255td: mov r6,#255

Page 18: 54260968 Pemograman Dasar Dengan Modul At89s51

djnz r6,$ djnz r7,td ret end

6. Data shift Left org 0h mov p0,#0h mov p2,#0h mov p3,#0hloop: mov a,#01hlompat: mov p1,a acall Delay rl a cjne a,#01h,lompat sjmp loopdelay: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret end

7. Data Counter Uporg 0h mov p0,#0h mov p2,#0h mov p3,#0hloop: mov a,#00hlompat: mov p1,a acall Delay inc a cjne a,#60h,lompat sjmp loopdelay: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret end

Page 19: 54260968 Pemograman Dasar Dengan Modul At89s51

8. Data Counter Down org 0h mov p0,#0h mov p2,#0h mov p3,#0hloop: mov a,#70hlompat: mov p1,a acall Delay dec a cjne a,#0h,lompat sjmp loopdelay: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret end

9. Data memori Output LED org 0h mov p1,#0h mov p2,#0h mov p3,#0hstart: mov r0,#0lp: mov a,r0 acall tampil mov p0,a acall tunda1 inc r0 cjne r0,#9,lp sjmp starttampil: inc a movc a,@a+pc ret

db 01h,02h,04h,08h,010h,020h,040h,080h,0h

Page 20: 54260968 Pemograman Dasar Dengan Modul At89s51

tunda1:mov r6,#200tnd: mov r5,#200 djnz r5,$ djnz r6,tnd ret end

Program 10

;-----program utama----------mainloop:

mov R4,#8mov dptr,#Tabeldata

loop: clr amovc a,@a+dptrmov P1,ainc dptracall delaydjnz R4,loopsjmp mainloop

;-----sub program------------delay:

mov R7,#20l1: mov R6,#50l2: mov R5,#50l3: djnz R5,l3

djnz R6,l2djnz R7,l1ret

;-----tabel data --------Tabeldata:

db 11111110bdb 11111101bdb 11111011bdb 11110111bdb 11101111bdb 11011111bdb 10111111bdb 01111111b

;----------------------------end

11. Program Gabungan

Page 21: 54260968 Pemograman Dasar Dengan Modul At89s51

org 0h mov p0,#0h mov p1,#0h mov p2,#0h mov p3,#0h

mulai: acall left acall back acall right sjmp mulai ret

left: mov a,#0feh mov p0,a rl a acall time cjne a,#7fh,left ret

right: mov a,#7fh mov p0,a rr a acall time cjne a,#0feh,right ret

back: mov r4,#8 mov p0,#0 acall time mov p0,#0ffh acall time djnz r4,back ret

time: mov r7,#30tm1: mov r6,#255tm2: mov r5,#255tm3: djnz r5,tm3 djnz r6,tm2 djnz r7,tm1

Page 22: 54260968 Pemograman Dasar Dengan Modul At89s51

Program 12 Program Gabungan Org 0h ;program utama

loop: acall GeserKiri acall GeserKanan acall Kedipkan sjmp loop

GeserKiri: mov a,#0FEHgeki: mov P1,a rl a acall delay cjne a,#7FH,geki ret

GeserKanan: mov a,#7FH mov R4,#7geka: mov P1,a rl a acall delay djnz R4,geka ret

Kedipkan: mov R4,#8kdp: mov P1,#0 acall delay mov P1,#0FFH acall delay djnz R4,kdp ret

delay: mov R7,#10l1: mov R6,#255l2: mov R5,#255l3: djnz R5,l3 djnz R6,l2 djnz R7,l1 retend

Page 23: 54260968 Pemograman Dasar Dengan Modul At89s51

PROGRAM APLIKASIPENGONTROLAN STEPPER MOTOR

PEMOGRAMAN DENGAN KONSEP DASAR Data stepper motor ( putaran motor stepper arah jarum jam )

Sw3 Sw2 Sw1 Sw0 Data 0 0 1 1 030 1 1 0 061 1 0 0 0C1 0 0 0 09

Data stepper motor ( putaran motor stepper berlawanan arah jarum jam )

Sw3 Sw2 Sw1 Sw0 Data 1 0 0 1 091 1 0 0 0C0 1 1 0 060 0 1 1 03

Program dasar 1 ( berputar searah jarum jam )

org 0h mov p1,#0h mov p2,#0h mov p3,#0hloop: mov p0,#03h acall tunda mov p0,#06h acall tunda mov p0,#0Ch acall tunda mov p0,#09h acall tunda mov p0,#00h acall tunda sjmp looptunda: mov r7,#255tnd: mov r6,#255 djnz r6,$ djnz r7,tnd ret end

Program dasar2 ( putar kekanan menggunakan instruksi shift )

org 0h mov p0,#0h mov p2,#0h mov p3,#0hloop: mov a,#33h

mov p1,a acall Delay rr a sjmp loopdelay: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret end

Page 24: 54260968 Pemograman Dasar Dengan Modul At89s51

Program dasar3 Putar kekanan sejumlah 20h step

org 0h mov p0,#0h mov p2,#0h mov p3,#0h

mov b,#20hloop: mov a,#33h

mov p1,a acall Delay rr a

djnz b,loopend

delay: mov r7,#255td: mov r6,#255 djnz r6,$ djnz r7,td ret

Program dasar 4org 0h mov p1,#0h mov p2,#0h mov p3,#0hstart: mov r0,#0lp: mov a,r0 acall tampil mov p0,a acall tunda1 inc r0 cjne r0,#9,lp sjmp starttampil: inc a movc a,@a+pc ret

db 03h,06h,0Ch,09h,00h

tunda1: mov r6,#200tnd: mov r5,#200

djnz r5,$ djnz r6,tnd ret end

Program pengontrollan motor putar kekiri dan kekanan

Org 0h loop: acall putarkiri acall putarkanan sjmp loop

putarkiri : mov b,#00h

mov a,#033Hpuki: mov P1,a rl a acall delay

inc bcjne b,#30,puki ret

putarkanan: mv R4,#00h

mov a,#33hpuka: mov P1,a rr a acall delay inc,r4

sjmp r4,#20h,puka retdelay: mov R7,#10l1: mov R6,#255l2: mov R5,#255l3: djnz R5,l3 djnz R6,l2 djnz R7,l1 ret

end

Page 25: 54260968 Pemograman Dasar Dengan Modul At89s51

Gambar rangkaian pengontrolan Motor Stepper

Page 26: 54260968 Pemograman Dasar Dengan Modul At89s51