bab 1 praktikum dasar mikrokontroler · pdf filemodul praktikum 1. mikrokontroler 8051 penulis...

33
Modul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW SIMULATOR DAN MODUL LAROS-ELECTOR V2.1 1. Pada awalnya buka program TopViewSimulator dan akan muncul form seperti pada gambar 1.1, disini pilih pada menu dropdown ”Select Device”, pilih AT89C51. Gambar 1.1 Tampilan Top View Simulator Select Device 2. Langkah berikutnya klik data memory pada form yang sama dan pilihlah besar memory sesuai dengan Device misalnya 4 Kbyte, seperti pada gambar 1.2, dan klik OK. Gambar 1.2. Data memory Setting 3. Buka program notepad / tex teditor dan ketik listing program kemudian simpan dalam satu folder dengan program ASM51, pada gambar 1.3. merupakan contoh program untuk menghidupkan Led di port 1.

Upload: phamcong

Post on 15-Feb-2018

236 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

1

BAB 1PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKANTOP VIEW SIMULATOR DAN MODUL LAROS-ELECTOR V2.1

1. Pada awalnya buka program TopViewSimulator dan akan muncul form

seperti pada gambar 1.1, disini pilih pada menu dropdown ”Select

Device”, pilih AT89C51.

Gambar 1.1 Tampilan Top View Simulator Select Device

2. Langkah berikutnya klik data memory pada form yang sama dan pilihlah

besar memory sesuai dengan Device misalnya 4 Kbyte, seperti pada

gambar 1.2, dan klik OK.

Gambar 1.2. Data memory Setting

3. Buka program notepad / tex teditor dan ketik listing program kemudian

simpan dalam satu folder dengan program ASM51, pada gambar 1.3.

merupakan contoh program untuk menghidupkan Led di port 1.

Page 2: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

2

Gambar 1.3. Contoh Penulisan Program Dalam Text Editor

Penulisan program harus sesuai dengan port yang ditunjuk pada mikrokontroler

seperti pada gambar 1.4.

Gambar 1.4. Gambar Rangkaian Flash Point LED

4. Buka command prompt dan masuk direktori folder asm 51 misal pada

contoh di folderàD: \Praktikum\asm51\asm51

5. Langkah selanjutnya ketik nama file yang sudah berisi program

assesmbler misal Job.asm. perhatikan pada gambar 1.5. bila tidak adakesalahan maka muncul ASSEMBLY COMPLETE, 0 ERROR FOUND

Page 3: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

3

Gambar 1.5. Tampilan program compiler ASM51 pada command promt

6. Selanjutnya buka program TopViewSimualator dan pilih menu

FileàLoad Program, tampilan seperti pada gambar 1.6. dan pilihlah file

hexa yaitu file assembler yang sudah ter-compile.

Gambar 1.6. Tampilan Load Program File

7. Kemudian muncul form bentang alamat memori seperti pada gambar

1.7. kemudian klik OK.

Gambar 1.7. Tampilan Bentang Alamat Memory

Page 4: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

4

8. Pilih menu FileàExternal Modules SettingàLed dan akan muncul

form seperti pada gambar 1.8. pilih port yang akan diaktifkan misal port

1, centanglah masing-masing bit pada port1. selnjutnya klik OK.

Gambar 1.8. Form Pengaturan Module Led

9. Langkah berikutnya pilih menu ViewàExternal ModulesàLed dan

muncul form seperti gambar 1.9

Gambar 1.9. Form Led Modules Yang Belum Dijalankan

10. Selanjutnya pilih menu RunàGo untuk menjalankan program dan

tampilan hasil eksekusi seperti pada gambar 1.10.

Gambar 1.10. Form Led Module Yang Sudah Dijalankan

***SELAMAT BELAJAR***

Page 5: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

5

BAB 2

PENGGUNAAN TOMBOL

Penggunaan tombol pada port parallel mikrokontroler umumnya

difungsikan seolah-olah sebuah sensor yang akan dikondisikan sebagai sinyal

masukan mikrokontroler. Perhatikan gambar 2.1.

Gambar 2.1. Rangkaian Penggunaan Tombol pada Mikrokontroler

Dalam program TopView Simulator Anda harus mengatur konfigurasi port untuk

tombol dan port untuk Led, berikut langkah-langkahnya:

1. Pilih Menu FileàExternal Modules SettingàLed, dan centanglah port

yang anda gunakan untuk Led, perhatikan gambar 2.2.

Gambar 2.2. Form Pengaturan Module Led

2. Dan untuk konfigurasi Tombol Tekan Pilih Menu Fileà ExternalModules SettingàKeyBoard, perhatikan gambar 2.3. Pilihlah port yang

Page 6: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

6

digunakan untuk tombol dan pada Kotak Matrix KeyPad pilihàNone, bila

sudah sesuai tekan tombol OK.

Gambar 2.3. Form Pengaturan Pemilihan Tombol

3. Untuk menampilkan led, Pilih menu ViewàExsternal ModulesàLed,

dan untuk menampilkan modul Tombol, Pilih menu ViewàExsternal

ModulesàKeyBoard perhatikan gambar 2.4.

Gambar 2.4. Tampilan modul Led dan Tombol

4. Cobalah menuliskan listing program seperti pada gambar 2.5 dibawah ini

dan amati hasilnya.

Page 7: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

7

Gambar 2.5. Contoh Listing Program Pembacaan Tombol Pada Port 3

5. Bila dijalankan akan tampak seperti gambar 2.6. penekanan tombol

pada port 3 akan diterjemahkan dengan tampilan perbit pada port 1.

Gambar 2.6. Tampilan simulasi Pembacaan Tombol

6. Untuk pengembangan tombol tekan dapat digunakan sebagai tombol

SET dan RESET, yaitu menghidupkan led pada P1.0 dengan menekan

tombol P3.0, dan untuk memadamkan nyala led P1.0 dengan menekan

tombol P3.1. Perhatikan algoritma pada gambar 2.7.

Gambar 2.7. Algoritma tombol SET RESET

y

t

y

t

P3.0=1P3.1=1

start

P1.0=1P1.0=0

Baca Tombol P3

Page 8: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

8

Berikut contoh programnya :$mod51

org 0h

;set reset dua tombol

;ibnu budi rahardjo

padam:

jb p3.0,nyala

setb p1.0

nyala:

jb p3.1,padam

clr p1.0

sjmp padam

end

contoh program dengan satu tombol SET RESET pada P3.0 dengan nyala led

pada port 1.$MOD51

ORG 0H

MULAI:

MOV A,P3 ; Baca tombol P3 dan simpan di akumulator

CJNE A,#0FEH,MULAI ; Apakah tombol P3.0 ditekan? (=11111110)

; Tidak! Ulangi lagi dari awal

CJNE R0,#0,TERUS ; Ya! Apakah R0=0 (artinya lampu sedang mati)?

; Tidak! loncat ke proses mematikan lampu LED (TERUS)

MOV R0,#1 ; Ya! ubah status R0=1 (lampu menyala)

MOV P1,#0 ; dan hidupkan lampu LED di port 1

TUNGGU: ; Untuk menghindari bouncing

MOV A,P3 ; Tunggu hingga tombol P3.0 dilepas

CJNE A,#0FFH,TUNGGU ;

SJMP MULAI ; Ulangi lagi dari awal

TERUS:

MOV R0,#0 ; Ubah status R0=0 (lampu mati)

MOV P1,#0FFH ; dan matikan lampu LED di port 1

SJMP TUNGGU ; untuk menghindari bouncing, lompat ke TUNGGU

;

END

Page 9: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

9

BAB 3.PENGGAKSESAN SEVEN SEGMENT

Seven segment merupakan komponen elektronika yang dapat digunakan

untuk menampilkan karakter angka, didesain dari 7 led dan 1 dot point dengan

ukuran bermacam-macam. Perhatikan gambar 3.1. Merupakan konfigurasi pin

seven segment (Common Anoda).

Gambar3.1. Konfigurasi Seven Segment

Dari gambar 3.1. Tampak 7 pin yang digunakan untuk membentuk karakter

angkadan Anda harus membuatkan tabel pengaksesan pin seven segment

tersebut. Sebagai contoh seven segment dihubungkan dengan port 1 seperti

terlihat pada gambar 3.2.

Gambar 3.2 Hubungan Port Mikrokontroler dengan pin 7 Segment

Page 10: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

10

Tabel 3.1. Konfigurasi Data Karakter 7 Segment

Setelah ditabelkan konfigurasi data karakter 7 segment maka didapatkan

data hexa dari masing-masing karakter angka 0-9, seperti pada tabel 3.1.

Sebagai contoh untuk menampilkan karakter 4 maka dikirim data 71h.

Bila Anda ingin mencoba pada program top View Simulator lakukan pengaturan

port seven segment dengan memilih menu FileàExsternal ModuleSettingsàLed, aturlah pada frame Interface Selection pilih Non-Multiflexed

serta pilihlah Selection of Port Lines Number of Digits , setelah itu tampil

konfigurasi port terhadap pin seven segment tampak seperti pada gambar 3.4.

Gambar 3.3. Pengaturan Modul Led dan 7 Segmen

Page 11: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

11

Gambar 3.4. Form Port Line Selection

Lakukan pengaturannya sesuai rangkaian yang anda buat dan sesuaikan juga

dengan tabel 3.1, setelah seluruh bit diatur klik OK.

Selanjutnya lakukan penulisan listing program sebagai contoh program pada

gambar 3.5. dibawah ini adalah pengaksesan seven segment dengan

pengiriman data secara langsung.

Gambar 3.5. Program Pengaksesan 7 Segmen dengan Perieriman data Secara Langsung

Anda dapat mencoba dengan teknik menggunakan Data Pointer agar

listing program lebih pendek algoritma penggunaan data pointer tampak pada

gambar 3.6. Lakukan eksekusi dan Load-lah hasilnya dengan TopView

Simulator, bila belum paham diskusikan dengan Instruktur Anda.

Page 12: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

12

Gambar 3.6. Algoritma Pengaksesan 7 Segmen mengunakan Data Pointer (Non-MultiPlexer)

Dibawah ini listing program pengaksesan seven segment menggunakan Data

pointer :

DPTR=DPTR+1R0=R0-1

DPTR=alamat datanumeric R0=10

A=data pada alamatDPTR

P1ßA

start

R0=0 ?tdk

ya

Page 13: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

13

BAB 4PEMBACAAN TOMBOL KEYPAD MATRIK

Didalam program salah satu lajur difungsikan sebagai input (masukan)

dan lainnya sebagai output (keluaran). Lajur yang berfungsi sebagai output,

dalam satu waktu yang sama hanya terdapat satu lajur saja yang berlogika nol

‘0’ dan sisanya berlogika satu ‘1’. Perhatikan gambar 4.1

Gambar 4.1. Rangkaian Tombol KeyPad Matrik

Seperti pada gambar 4.1. tombol keypad matrik sebagai contoh

dipasang pada port 2, untuk konfigurasi baris P2.0, P2.1,P2.2,P2.3 dan untuk

kolom P2.4,P2.5,P2.6. Pola pembacaannya adalah jika tombol nol ‘0’ ditekan

maka bit P2.0 dan P2.4 terhubung, tombol empat ‘4’ ditekan maka P2.1 dan

P2.5 terhubung. Pengaturan konfigurasi keypad matrik pada Program TopView

Simulator dapat dipilih menu FileàExternal Modules SettingàKeyBoard,

kemudian pilih frame ‘Matrik KeyPad’ dan pilih ‘3x4’ (sesuaikan dengan

perangkat yang akan digunakan), selanjutnya aturlah konfigurasi keypad matrik

sesuai dengan skema tombol keypad matrik, perhatikan gambar 4.2.

Page 14: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

14

Gambar 4.2. Pemilihan KeyPad Matrik

Contoh program pembacaan Keypad Matrik

;=======================================

; Program demo keypad 3x4 dipasang

; pada port 3, output pada port 1

;=======================================

kolom1 bit p3.0 ; kiri (1,4,7,redial)

kolom2 bit p3.1

kolom3 bit p3.2

baris1 bit p3.3 ; atas (1,2,3)

baris2 bit p3.4

baris3 bit p3.5

baris4 bit p3.6

keyport equ P3

keydata equ 50h

keybounc equ 51H

org 0h

ulang: call Keypad3x4

mov A,keydata

cjne A,#0FFH,ditekan

jmp ulang

ditekan:

cpl A

mov P1,A

jmp ulang

;====================================

; routine u/ baca keypad 3x4

Page 15: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

15

; output pd keydata(0-9,E=redial,F=#)

;====================================

Keypad3x4:

mov keybounc,#50

mov keyport,#0FFh

clr kolom1

ul1: jb baris1,key1

djnz keybounc,ul1

mov keydata,#1

ret

key1: jb baris2,key2

djnz keybounc,key1

mov keydata,#4

ret

key2: jb baris3,key3

djnz keybounc,key2

mov keydata,#7

ret

key3: jb baris4,key4

djnz keybounc,key3

mov keydata,#0Eh

ret

key4: setb kolom1

clr kolom2

jb baris1,key5

djnz keybounc,key4

mov keydata,#2

ret

key5: jb baris2,key6

djnz keybounc,key5

mov keydata,#5

ret

key6: jb baris3,key7

djnz keybounc,key6

mov keydata,#8

ret

key7: jb baris4,key8

djnz keybounc,key7

mov keydata,#0

ret

Page 16: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

16

key8: setb kolom2

clr kolom3

jb baris1,key9

djnz keybounc,key8

mov keydata,#3

ret

key9: jb baris2,key10

djnz keybounc,key9

mov keydata,#6

ret

key10: jb baris3,key11

djnz keybounc,key10

mov keydata,#9

ret

key11: jb baris4,key12

djnz keybounc,key11

mov keydata,#0Fh

ret

key12: mov keydata,#0FFh

ret

end

Page 17: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

17

BAB 5INTERFACE LCD

Dalam memprogram pengaksesan LCD harus diperhatikan konfigurasi

dari LCD tersebut, berbagai merek LCD yang ada dipasaran namun semuanya

hampir sama, hanya saja jumlah kolom dan barisnya yang membedakan.

Dalam artikel ini dibahas tehnik pemrograman LCD menggunakan

mikrokontroler seri ATMEL AT89Sxx. Perhatikan gambar 5.2. Blok rangkaian

internal LCD 16x2.

Gambar 5.1.

Gambar 5.2. Blok Diagram LCD

Pada gambar 5.3. Konfigurasi pin LCD double pin, dan gambar 5.4.

Konfigurasi single pin. Interface LCD menggunakan mikrokontroler dapat

Page 18: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

18

dilakukan dengan lebar data 8 bit dan 4 bit. Untuk pengaksesan lebar data 4 bit

digunakan untuk efisiensi pemakaian port (sisa port dipakai keperluan yang

lain).

Untuk menuliskan karakter ke layar LCD, harus memenuhi aturan yang

telah ditetapkan oleh pabrikan modul LCD. Hampir semua modul LCD

mempunyai konfigurasi yang sama yaitu setiap baris dan kolom karakter pada

LCD memupnyai alamat sendiri-sendiri, seperti pada gambar 5.5. Merupakan

pengalamatan karakter pada layer LCD.

Gambar 5.5.

Pengiriman data ke LCD ada dua macam yaitu data sebagai instruksi

dan data sebagai karakter yang akan kita tampilkan dilayar. Keduanya

dibedakan oleh sebuah kaki yang diberi nama RS (Register Select). Bila pin RS

Gambar 5.4

Gambar 5.3

Page 19: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

19

(Register Select) berlogika satu “1” (high) maka data yang diterima LCD adalah

data karakter. Bila pin RS (Register Select) berlogika nol “0” (low) maka data

yang diterima LCD adalah data instruksi bagi LCD tersebut. Instruksi diperlukan

antara lain untuk inisialisasi LCD, meletakkan kursor pada baris dan kolom

tertentu, hapus layar dan lainnya (dapat dilihat pada datasheet LCD).

Gambar 5.6. Contoh Rangkaian Interface LCD 8 bit

Untuk menggunakan software TopView Simulator dapat diatur

konfigurasi layar LCD dengan memilih menu FileàExternal ModulSettingsàLCD. Pilih banyak baris LCD misalnya 2x16, sperti terlihat pada

gambar 5.7, lebar databus 8 bit. Selanjutnya pilih tombol “Port Line Selection”

untuk mengatur konfigurasi pin mikrokontroler dengan pin LCD, dalam hal ini

harus disesuaikan dengan konfigurasi dalam listing program.

Page 20: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

20

Gambar 5.7. Pengaturan Modul LCD

Dibawah ini adalah algoritma pemrograman interface LCD menggunakan

mikrokontroler.

Operasi Interface lebar data 8 bit :

Page 21: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

21

Operasi Interface lebar data 4 bit :

;-----------------------------------------

;Program Demo untuk menjalankan LCD 16 x 2

;OPERASI 8 BIT

org 0h

nop

ljmp mulai

write_inst:

mov P1,#0h ;untuk memuliskan

mov P0,R1 ;intruksi ke LCD

setb P1.1 ;module

clr P1.1

acall delay

ret

Page 22: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

22

;

write_data:

mov P1,#01 ;untuk menuliskan

mov P0,R1 ;data ke LCD

setb P1.1 ;module

clr P1.1

acall delay

ret

delay: mov R0,#0

delay1: mov R5,#50h

djnz R5,$

djnz R0,delay1

ret

Ldelay: mov R2,#030h

Ld1: acall delay

djnz R2,Ld1

ret

tulis: mov R4,#3

mov DPTR,#Huruf

barisa: mov R3,#16 ;jumlah kolom baris atas

mov R1,#80h ;karakter pertama di alamat 80

acall write_inst

tulis1: clr A

movc A,@A+DPTR

mov R1,A

Inc DPTR

acall write_data

djnz R3,Tulis1

;

barisb: mov R3,#16

mov R1,#0C0h

acall write_inst

tulis2: clr A

movc A,@A+DPTR

mov R1,A

Inc DPTR

acall write_data

djnz R3,Tulis2

acall Ldelay

djnz R4,barisa

ret

mulai:

mov R1,#03Fh

acall write_inst

acall write_inst

Page 23: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

23

mov R1,#0Dh

acall write_inst

mov R1,#06h

acall write_inst

mov R1,#01h

acall write_inst

mov R1,#0Ch

acall write_inst

acall tulis

sjmp mulai

Huruf: DB 'SELAMAT DATANG '

DB ‘ibnu budi r. '

DB 'di. Smkn 1glagah'

DB ‘banyuwangi’

DB 'jawa – timur’

DB ‘elektronika’

End

Untuk mengetahui proses penulisan data dan pengiriman instruksi ke

layar LCD dapat dilihat menggunakan Software TopView Simulator dengan

memilih menu ViewàSFR Bit Status Window, perhatikan 5.8. “Kondisi bit SFR

(Special Function Register)” , setelah Anda load programnya dan cobalah

untuk menganalisa proses penulisan karakter dan pengiriman instruksi dengan

menekan tombol keyboard “F8” atau pilih menu Singgle StepàStep Over.

Gambar 5.8. Peta Special Function Register

Page 24: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

24

Dibawah ini contoh program untuk penulisan kakrakter menggunakan Keypad

matrik.

LCD_RS bit P1.0

LCD_CS bit P1.1

kolom1 bit p2.4 ; kiri (1,4,7,redial)

kolom2 bit p2.5 ; atas (1,2,3)

kolom3 bit p2.6

baris1 bit p2.0 ; 1 2 3

baris2 bit p2.1 ; ABC DEF

baris3 bit p2.2 ;

baris4 bit p2.3 ; 4 5 6

keyport equ P2 ; GHI JKL MNO

old_key equ 40h ;

count_key equ 41h ; 7 8 9

keydata equ 42h ; PQR STU VWX

alphacode equ 43h ;

n equ 44h ; REDIAL 0 #

lama equ 45h ; YZ[ ;<= space]-

;--------------------------------------

; scanning tombol untuk alpha numerik

;--------------------------------------

org 0h

;==================

; Inisialisasi LCD

;==================

call Ldelay

mov A,#03Fh

call write_inst

call write_inst

mov A,#0Dh

call write_inst

mov A,#06h

call write_inst

mov A,#01h

call write_inst

mov A,#0Fh

call write_inst

mov n,#07FH

alphanum:

Page 25: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

25

mov old_key,#0

mov count_key,#0

scan_alpha_numerik:

call keypad3x4

mov A,keydata

cjne A,#0FFh,key_pressed_1

sjmp scan_alpha_numerik

key_pressed_1:

orl A,#30h

cjne A,Old_key,new_char

mov Old_key,A

inc count_key

anl A,#0Fh

mov B,#3

mul AB

add A,#3Ah

add A,count_key

cjne A,#5Eh,space

mov A,#2Dh

space: cjne A,#5Ch,not_space

mov A,#20h

not_space:

mov alphacode,A

call tampil

mov lama,keydata

call tunggu_tombol_dilepas

mov A,count_key

cjne A,#3,scan_alpha_numerik

mov old_key,#0

mov count_key,#0

jmp scan_alpha_numerik

new_char:

mov Old_key,A

mov alphacode,A

mov count_key,#0

call tampil

mov lama,keydata

call tunggu_tombol_dilepas

jmp scan_alpha_numerik

;

Page 26: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

26

tunggu_tombol_dilepas:

jnb baris1,$

jnb baris2,$

jnb baris3,$

jnb baris4,$

ret

;=================================

tampil: mov A,keydata

cjne A,lama,naik

tterus: mov A,ALPHACODE

call write_data

mov A,n

call write_inst

ret

naik: cjne A,#0Fh,cek_BS

mov ALPHACODE,#20H

mov old_key,#0

mov lama,#0

mov keydata,#0FFh

mov count_key,#0

naik1: inc n

mov A,n

call write_inst

sjmp tterus

cek_BS: cjne A,#0Eh,naik1

mov A,#20H

call write_data

dec n

mov A,n

cjne A,#80h,cekbkb

cekbkb: jnc terus9

mov A,#80h

mov n,#7Fh

terus9: call write_inst

mov old_key,#3Eh

mov count_key,#0

mov keydata,#0FFh

mov lama,#0

ret

;====================================

Page 27: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

27

; routine u/ baca keypad 3x4

; output pd keydata(0-9,E=redial,F=#)

;====================================

Keypad3x4:

mov keyport,#0FFh

clr kolom1

ul1: jb baris1,key1

mov keydata,#1

ret

key1: jb baris2,key2

mov keydata,#4

ret

key2: jb baris3,key3

mov keydata,#7

ret

key3: jb baris4,key4

mov keydata,#0Eh

ret

key4: setb kolom1

clr kolom2

jb baris1,key5

mov keydata,#2

ret

key5: jb baris2,key6

mov keydata,#5

ret

key6: jb baris3,key7

mov keydata,#8

ret

key7: jb baris4,key8

mov keydata,#0

ret

key8: setb kolom2

clr kolom3

jb baris1,key9

mov keydata,#3

ret

key9: jb baris2,key10

mov keydata,#6

ret

Page 28: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

28

key10: jb baris3,key11

mov keydata,#9

ret

key11: jb baris4,key12

mov keydata,#0Fh

ret

key12: mov keydata,#0FFh

ret

;========================================

; Routine untuk menulis instruksi ke LCD

;========================================

write_inst:

clr LCD_RS

setb LCD_CS

mov P0,A ;intruksi ke LCD

clr LCD_CS ;module

setb LCD_CS

call delay

ret

;========================================

; Routine untuk menulis data ke LCD

;========================================

write_data:

setb LCD_RS

setb LCD_CS

mov P0,A ;data ke LCD

clr LCD_CS ;module

setb LCD_CS

call delay

ret

;=========================

; Routine penghasil delay

;=========================

delay: mov R0,#50

delay1: mov R5,#0

djnz R5,$

djnz R0,delay1

ret

Ldelay: mov R2,#010h

Ld1: call delay

Page 29: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

29

djnz R2,Ld1

ret

end

latihan :

a. Cobalah untuk mengembangkan program password menggunakan

Keypad Matrik dan LCD dengan ketentuan bila passwordnya cocok led

pada port yang ditunjuk aktif dan pada LCD tampil tulisan “Password

Cocok”.

b. Kembangkan program interface LCD dengan model pengiriman lebar

databus 4 bit, dengan konfigurasi sebagai berikut:

• Databus (4) dihubungkan dengan P1.4

• Databus (5) dihubungkan dengan P1.

• Databus (6) dihubungkan dengan P1.

• Databus (7) dihubungkan dengan P1.

• Enable dihubungkan dengan P1.2

• RS dihubungkan dengan P1.3

Page 30: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

30

BAB 6

INTERFACE ADC (Analog to Digital Converter)

Pengkonversi tegangan Analog menjadi data Digital banyak

digunakan diberbagai peralatan misalnya : spedometer (rpm) pada mobil,

spedometer untuk digital feul system pada mobil, rpm meter/ tacho meter digital

dan lainnya.

Gambar 6.1.Blok diagram ADC

Dalam pemrograman mikrokontroler AT89XX untuk interface dengan

ADC dalam hal buku ini digunakan IC ADC0808, karena IC tersebut

mempunyai 8 buah masukan dengan 3 buah address / pengalamatan data yaitu

A0,A1,A2. perhatikan gambar 6.2. konfigurasi IC ADC0808, IC ini dengan 28

pin dan masing-masing pin / kaki IC mempunyai fungsi.

ADCInput Analog

Mikrokontroler

DataDigital

0

00h

FFh

5 v

Tegangan masukanAnalog

Data keluaran berupaDigital

Page 31: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

31

Gambar 6.2. Konfigurasi IC ADC0808

Pada gambar 6.2. dilihat pada pin 23,24,25 merupakan pin Address A0,A1,A2

pin ini merupakan pin pemilihan input tegangan analog, perhatikan tabel 6.1.

Tabel 6.1. Pemilihan Chanel Input

Untuk menggunakan pin input chnael 0 mmaka Address A0 diberi

logika ’0’, A1 diberi logika ’0’, dan A2 diberi logika ’0’. Begitu juga bila ingin

memberikan masukan tegangan analog pada Input 1 maka A0=1,A1=0,A2=0.

pemberian logika ini diatur pada mikrokontroler agar pin penghubung pada

masing-masing Address berlogika sesuai dengan tabel pengalamatannya.

Page 32: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

32

Urutan pengiriman datanya harus sesuai dengan Timing Diagram seperti pada

datasheet IC0808, perhatikan gambar 6.3. dibawah ini.

Gambar 6.3. Timing Diagram Pengiriman Data ADC 0808

Contoh program interface mikrokontroler dengan ADC 08008

ADC_A bit P2.7

ADC_B bit P2.6

ADC_C bit P2.5

ADC_OE bit P2.4

ADC_START bit P2.3 ;pin start dan ALE dihubungkan

ADC_EOC bit P2.2

;

org 0h

; ADC channel 0 ABC = 000 / input 1

clr ADC_A

clr ADC_B

clr ADC_C

; kondisi awal

clr ADC_OE

clr ADC_START

next_sampling:

setb ADC_START ; start of conversion

Page 33: BAB 1 PRAKTIKUM DASAR MIKROKONTROLER · PDF fileModul Praktikum 1. Mikrokontroler 8051 Penulis : Ibnu Budi R. Agustus 2006 1 BAB 1 PRAKTIKUM DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW

Modul Praktikum 1. Mikrokontroler 8051Penulis : Ibnu Budi R. Agustus 2006

33

nop

clr ADC_START

not_EOC:

jnb ADC_EOC,not_EOC

delay: djnz R2,$

djnz R3,delay

setb ADC_OE ; Baca Data melalui P3

djnz R3,$

mov A,P3 ;pin untuk pembacaan data digital

clr ADC_OE

cpl A

mov P1,A

sjmp next_sampling

end