Topview Simulator 3

66
BAB I TOPVIEW SIMULATOR I.1. PENDAHULUAN Program Topview simulator merupakan software yang dirancang khusus untuk belajar mikrokontroler khususnya keluarga MCS-51 yang sudah terkenal. Sedangkan jenis IC yang banyak digunakan pada software ini lebih banyak produksi dari ATMEL (89C1051 sampai 89S8252). Jadi untuk mikrokontroler produksi Motorola, Philips, Winbond tidak ada atau tidak bisa diaplikasikan pada software ini. Walaupun software ini lebih banyak untuk aplikasi mikrokontroler produksi ATMEL kita tidak perlu khawatir karena jenis ini ada banyak sekali dipasaran dan harga relative lebih murah. Disamping banyak dan harga lebih murah IC tersebut lebih banyak digunakan oleh kalangan akademis. I.2. TUJUAN Tujuan dari penggunaan dari simulasi Topview Simulator ini adalah 1

description

Simulasi untuk belajar assembly dan mikrokontroller

Transcript of Topview Simulator 3

Page 1: Topview Simulator 3

BAB ITOPVIEW SIMULATOR

I.1. PENDAHULUANProgram Topview simulator merupakan software yang dirancang

khusus untuk belajar mikrokontroler khususnya keluarga MCS-51 yang sudah terkenal. Sedangkan jenis IC yang banyak digunakan pada software ini lebih banyak produksi dari ATMEL (89C1051 sampai 89S8252). Jadi untuk mikrokontroler produksi Motorola, Philips, Winbond tidak ada atau tidak bisa diaplikasikan pada software ini.

Walaupun software ini lebih banyak untuk aplikasi mikrokontroler produksi ATMEL kita tidak perlu khawatir karena jenis ini ada banyak sekali dipasaran dan harga relative lebih murah. Disamping banyak dan harga lebih murah IC tersebut lebih banyak digunakan oleh kalangan akademis.

I.2. TUJUANTujuan dari penggunaan dari simulasi Topview Simulator ini adalah Pengenalan pertama kali tentang mikrokontroler tersebut. Pembelajaran mikrokontroler yang tanpa menggunakan hardware

(rangkaian dari mikrokontroler sendiri), yang mungkin dikarenakan keterbatasan dari media pembelajaran (alat praktikum).

Belajar mikrokontroler untuk tingkat awal (praktikum output dan input, timer/counter dlll), tetapi tidak mungkin juga untuk belajar yang lebih lanjut lagi (komunikasi serial, seven segmen, IIC Bus, SPI Bus, dll).

Perancangan awal dari suatu aplikasi mikrokontroler, sehingga dengan perancangan atau simulasi terlebih dahulu dalam software maka kesalahan dalam aplikasi yang sebenarnya akan dapat dihindari.

1

Page 2: Topview Simulator 3

I.3. KELEMAHAN SOFTWAREProgram Topview Simulator ini sendiri tetap juga mempunyai

kelemahan, oleh karena itu diharapkan setelah menggunakan buku ini pembaca untuk menggunakan software lain yang dirasa dapat menutup kelemahan dari Topview Simulator tersebut. Seperti software simulasi DScope 51 dan diharapkan adanya software ini dapat juga membantu dalam menutup kelemahan software Topview Simulator.

Untuk menutup kelemahan tersebut juga bisa kita lakukan dengan langsung mempraktekan apa apa yang telah kita simulasikan tersebut pada rangkaian yang sebenarnya (aplikasi yang nyata).

2

Page 3: Topview Simulator 3

BAB IIMENGINSTAL SOFTWARE TOPVIEW

SIMULATOR

Pada bab II ini kita akan membahas cara menginstal software Topview Simulator secara lengkap dengan beberapa tahap. Penulis sarankan pada pembaca untuk mengikuti setiap petunjuk yang ada sehingga proses menginstal software tersebut dapat berjalan dengan lancer.

Tahapan menginstal tersebut adalah :1. Masukan CD program Topview pada CD Rom2. Buka Exploler dan lihat (buka) pada drive CD Rom

Pastikan isi pada Drive CD Rom tersebut ada folder TopviewSimulator

3

Page 4: Topview Simulator 3

3. Double klik ikon SETUP (seperti pada gambar diatas) dan

Biarkan sampai progress bar menunjukan nilai 100%, setelah 100% maka akan keluara tampilan

4

Page 5: Topview Simulator 3

Klik Next untuk proses selanjutnya.

Tampilan diatas kita disuruh untuk menentukan didirektori mana kita akan meletakan file program TopviewSimulator. Karena disitu kita sudah dipilihkan suatu direktori maka kita bisa langsung klik Next (kecuali kalau kita ingin meletakan pada suatu direktori berdasarkan keinginan kita sendiri dengan klik Browse).

5

Page 6: Topview Simulator 3

Pemilihan nama folder tempat progaran disimpan, sebaiknya klik Next

Proses diatas biarkan sampai progress bar menunjukan angka 100%, setelah 100% tampilan akan hilang. Untuk melihat hasil meginstal/ menjalankan langsung program Topview Simulator yaitu dengan cara :Pada windows menu Start (klik) Program Topview Simulator

6

Page 7: Topview Simulator 3

BAB IIIPENGENALAN SOFTWARE TOPVIEW

SIMULATOR

1. Buka program Topview Simulator.Pada windows menu Start (klik) Program Topview Simulator (klik)

7

Page 8: Topview Simulator 3

2. Maka akan keluar tampilan (Select Device)

Tampilan diatas berisikan perintah : Pemiliah jenis IC yang akan digunakan

1. MCS-51 generik8031, 8051, 8032, dan 8050

2. Mikrokontroler ATMEL-51AT89C1051, AT89C2051, AT89C4051, AT89C51, AT89C52, AT89C55, AT89S53, dan AT89S8252

Pemilihan frekuensi kristal (clock) Petunjuk feature (kemampuan yang dimiliki) dari IC Kapasitas memori IC

8

Page 9: Topview Simulator 3

3. Setelah tampilan Select Device dan diklik OK, maka akan keluar tampilan berikut

Apabila tampilan diatas sudah tertampil maka proses selanjutnya tinggal kita membuka program yang akan kita simulasikan dengan Topview Simulator.

9

Page 10: Topview Simulator 3

BAB IVAPLIKASI TOPVIEW SIMULATOR

Aplikasi-aplikasi yang akan disajikan dalam bab ini hanya akan menggunakan bahasa pemrograman assembler, karena bahasa ini memang sudah lama digunakan sebagai bahasa pemrogram mikrokontroler. Dan juga disoftware ini untuk bahasa yang lainya (C, Pascal, dll) tidak bisa, karena tidak ada fasilitas atau software compilernya.

IV.1. PENULISAN FILE AWALPenulisan file awal disini buka menulis program yang akan

digunakan sebagai program dari mirkokontroler tetapi hanya sebagai awalan penulisan program yang selanjutnya diedit dan disimpan kembali dengan nama yang lain. Jadi programa atau file dengan nama lain inilah yang akan digunakan sebagai program dari mikrokontroler.

Cara penulisan file awal :1. Pertama kali kita buka program NOTEPAD, kemudian tulis program

dibawah ini.

10

Page 11: Topview Simulator 3

2. Simpan program tersebut dengan nama new.asm yang sebenarnya namanya adalah new (penulisan nama tidak boleh hanya new kemudian ditekan tombol enter, karena akan menghasilkan nama file new.txt / berextension TXT bukan ASM). Tetapi sebelum menyimpan file tersebut dengan nama new.asm buat direktori khusus menyimpan file-file belajar mikrokontroler, sehingga tidak bercampur dengan file lainnya. Misal direktori kita adalah dengan nama topview di drive D D:\topview. Jadi setelah penyimpanan maka file kita akan berada D:\topview>new.asm .ASM Assembler .TXT Text

Jadi setelah proses 1 dan 2 selesai kita sudah mempunyai 1 direktori di drive D dengan nama topview (di drive D tersebut bila hardisk terpartisi, namun bila hardisk tidak terpartisi maka dapat kita buat direktori topview didrive C), dan didalam direktori tersebut ada 1 file dengan nama new.asm. proses 1 dan 2 ini harus bisa karena bila tidak bisa maka proses selanjutnya tidak bisa dilakukan.

IV.2. MENCOBA SIMULASIDisini akan kita coba membuat program simulasi sederhana dengan

aplikasi pada led. Sedangkan untuk melihat dari respon yang ditimbulkan oleh program yang kita buat, maka kita bisa melihatnya dengan menampilkan modul externalnya (led).

Buka program Topview Simulator.

11

Page 12: Topview Simulator 3

Pada windows menu Start (klik) Program Topview Simulator (klik)Maka akan keluar tampilan (Select Device)

Select Device : Atmel 89C51Operating Frequency : 12000000 HZExternal Memory Setting : -Setelah tampilan Select Device dan diklik OK, maka akan keluar tampilan berikut

12

Page 13: Topview Simulator 3

1. Membuka file new.asm (file hasil proses nomor 1 dan 2). Klik Menu File Load Text File

Maka akan keluar tampilan berikut :

new.asm

keseluruan berekstensionASM

Cari direktori D:\topview dan pilih new.asm sebagai awal penulisan program. (file new.asm berfungsi untuk penulisan atau lembar awal kita menulis program yang selanjutnya kita edit dan disimpan dengan nama lain/ Save TextFile As)

2. Tulis program aplikasi led berikut :

Setelah selesai simpan dengan nama lain new.asm led.asm Klik menu File Save TextFile As…

13

Page 14: Topview Simulator 3

penulisan cukup led

Penyimpana file sebaiknya pada direktori yang sama (D:\topview)

Klik Save

3. KompaileCaranya : Tampilkan dahulu file led.asm (klik lembar file led.asm) Klik menu Command Run Assembler

Maka akan keluar tampilan Run Assembler

14

Page 15: Topview Simulator 3

Hilangkan tanda centang pada Option Capture Assembler Output (untuk menghilangkan tampilan output pada saat assembler), kemudian klik RUN untuk menjalankan proses compiler (assembler)

Dari proses diatas akan keluar 2 tampilan yaitu File Loaded Succesfully dan File LST

File LST led.lst adalah merupakan file perpaduan yaitu file Heksa dan Assembler yang jadi satu, serta penunjuk dari kesalahan sintak (penulisan program) berupa tanda anak panah.

4. Melihat isi memori mikrokontroler Pada tampilan diatas menyatakan bahwa program yang kita tulis

(led.asm led.hex) akan menempati memori pada alamat 0000h sampai 0004h. Klik OK

Pembuktian alamat 0000h sampai 0004h adalah dengan menampilan jendela Program Window, carannya klik Menu View klik Program Window

Sama

15

Page 16: Topview Simulator 3

Keterangan :Address : Alamat dari programCode : Program yang berupa kode (bilangan) hexsa /

bahasa mesinMnemonics : Program yang kita tulis sebelumnya (penulisan

nama label diganti dengan nomor address, misal tunda 0010)

5. Menampilkan/ setting modul led

16

Page 17: Topview Simulator 3

Caranya : klik menu File External Modul Setting LED

Port 0

Cara mensetting : Beri tanda centang ( v ) bit 0 – 7 pada Select Port Lines Pada Activating Levels masing-masing bit beri tanda centang,

agar bila diberi logita 1 (high) led akan menyala dan sebaliknya (bila tanpa tanda centang maka diberi logika 1 akan padam/ logika 0 low akan menyala).

Led Color yaitu untuk menentukan jenis warna dari led Red (merah) atau Green (Hijau).

Beri tanda centang pada No Seven Segment Display Klik OK

17

Page 18: Topview Simulator 3

Setelah melakukan setting, maka tampilkan modul led tersebut dengan cara :

Klik menu View External Moduls LED

6. Menjalankan simulasi dengan mengklik ikon GO

Activating levels 1 (diberi tanda centang)/ kondisi active high

18

Page 19: Topview Simulator 3

Tandajalanya program

Activating levels 0 (tidak diberi tanda centang)/ kondisi active low

Jalanya program dapat dilihat sesuai dengan gerakan blok warna kuning pada window program.

7. Menghentikan simulasi dengan mengklik ikon STOPsedangkan fungsi dari ikon RESET adalah untuk mengembalikan jalanya (Runningnya) program ke alamat awal (0000h)Catatan :Usahakan sebelum melakukan setiap simulasi untuk melakukan reset terhadap mikrokontroler, dengan cara mengklik untuk mengembalikan seluruh nilai register ke nilai awalnya.

8. Pembahasan program led.asmorg 00h

Alamat program akan dimulai alamat 0000h pada memoristart:mov p0,#55h

Port 0 diberi nilai 55h 01010101Bsjmp start

kembali ke label start berputar (looping) secara terus menerus.end

akhir dari penulisan program (end mutlak diperlukan dalam penulisan program).

19

Page 20: Topview Simulator 3

IV.3. CONTOH-CONTOH APLIKASI DAN PROGRAMAplikasi-aplikasi berikut akan mencakup led, saklar, tombol, seven

segmen, keypad, LCD. Walaupun terdapat sedikit atau terbatas modul tersebut namun bila kita kuasai semuanya, maka harapan selanjutnya adalah kita tidak akan menemui banyak kesulitan dalam aplikasi yang sebenarnya.

IV.3.1. LEDAplikasi berikut merupakan kelanjutan dari aplikasi contoh

sebelumnya, untuk melakukan setting dapat anda lakukan seperti contoh sebelumnya (led.asm).

Contoh 1$mod51

org 00hstart:

setb p0.0setb p0.1setb p0.2setb p0.3clr p0.4clr p0.5clr p0.6clr p0.7sjmp startend

Contoh 2$mod51

org 00hmov a,#01h

kiri:mov p0,amov p1,amov p2,a

20

Page 21: Topview Simulator 3

mov p3,a

rl acall tundacjne a,#80h,kiri

kanan:mov p0,amov p1,amov p2,amov p3,a

rr acall tundacjne a,#01h,kananmov a,#01hsjmp kiri

tunda:mov r7,#05h

la: mov r6,#0ffhlb: mov r5,#0fah

djnz r5,$djnz r6,lbdjnz r7,laretend

Contoh 3$mod51

org 00hmov p0,#00hmov p1,#00hmov a,#01h

putar:mov p0,arl a

21

Page 22: Topview Simulator 3

call tundacjne a,#01h,putarmov p0,#00hmov a,#80h

balik:mov p1,arr acall tundacjne a,#01h,balikmov p1,#01hcall tundamov p1,#00hsjmp putar

tunda:mov r7,#05h

la: mov r6,#0ffhlb: mov r5,#0fah

djnz r5,$djnz r6,lbdjnz r7,laretend

Pembahasan program contoh 1,2 dan 3 (aplikasi LED)

Contoh Keterangan1 Program akan mengaktivkan led perbit pada port 0

Coba acak penulisan dari setb dan clr2 Program ini akan menggunakan seluruh port yang ada

di mikrokontroler port 0, port 1, port 2, port 3. Setting led seluruh port berikut Activating Levels

3 Program akan menggunakan port 0 dan port 1 sebagai aplikasinya, jadi setting led pada port 0 dan port 1 saja. Untuk port 2 dan 3 kita nonaktifkan.

22

Page 23: Topview Simulator 3

Program disini hanya menggunakan dua port untuk menyalakan led sehingga nampak nyala berputar. Kedua port akan menyalakan/ mengeser led saling berlawanan.

IV.2.2. SAKLAR (KEYS-TOGGLE TYPE)Aplikasi saklar ini hanya digunakan sebagai inputan ke

mikrokontroler dan tidak bisa digunakan sebagai outputan, karena yang bisa digunakan sebagai outputan salah satunya adalah led. Kerja dari saklar ada 2 macam (Acthivating Levels) yaitu aktiv high dan aktiv low. Maksud dari aktiv high adalah bila kita tekan maka saklar akan memeberikan logika ‘1’/ high dan sebaliknya. Aktiv low adalah bila tekan maka saklar akan memberikan logika ‘0’/ low dan sebaliknya.

Catatan:Pada penggunaan port oleh setiap modul (Led, Saklar/ Toggle,

Tombol, LCD, dll) tidak boleh jadi satu/ bertempuk antar modul. Maka sebelum setting modul (pemakaian port oleh modul) perlu dilihat apakan port yang akan digunakan sudah digunakan oleh modul lain. Semisal kita ingin mensetting 8 Saklar/ Toggle pada port 1, maka port data LCD (Bus Data Widht 8 bit) tidak boleh menggunakan port 1 juga. Penggunaan ini berlaku walaupun dalam aplikasi kita menggunakan saklar saja tanpa LCD, karena setiap kita setting modul sama dengan menghubungkan dengan port mikrokontroler secara langsung. Oleh karena itu setiap melakukan setting modul lihat seluruh modul yang ada apakah modul tersebut menggunakan port yang sama dengan modul yang akan kita aplikasikan/ gunakan.

Pada modul IIC dan SPI bila tidak digunakan, maka pada tanda Enable Bus jangan diberi tanda centang karena akan menggangu dalam penggunaan modul saklar kita.

Cara-cara aplikasi dengan modul led adalah :

23

Page 24: Topview Simulator 3

1. Tulis program pada NOTEPAD, dan simpan pada direktori yang sama dengan contoh sebelumnya.

2. Pada Topview Simulator setting led sesuai dengan contoh sebelumnya (menggunakan Port 1 Active High), sedangkan setting tombol/saklar caranya adalah : klik menu File External Modul Setting

Keyboard

Klik None

Tanda

Beri tanda centang pada Port 0, tanda None digunakan untuk mengnonaktifkan fungsi dari keypad (praktikum ini tanpa keypad).

24

Page 25: Topview Simulator 3

Pada Activating Levels di Port 0 beri tanda centang seluruhnya, sehingga pada saat saklar di ON kan maka saklar akan memberikan logika 1 pada mikrokontroler (aktif high). Untuk menjalankan saklar aktif low kita tinggal menghilangkan tanda centang tersebut.

Tampilkan window modul saklar dan led seperti pada gambar di bawah ini. Kerja dari saklar adalah kita Klik (tekan) akan memberikan logika 1 dan kita tekan untuk kedua akan memberikan logika 0 (keadaan ini berlaku selama port di setting Activating Levels diberi tanda centang).

Pembahasan program$mod51

org 00hmov a,#00h

utama:mov a,p1mov p0,asjmp utamaend

Sesuai dengan ketentuan sebelumnya Port 1 sebagai inputan/saklar dan Port 0 sebagai outputan/led, maka P1 akan menerima data dari luar (saklar) kemudian dipindahkan ke Akumulator dan oleh Akumulator data akan dipindahkan ke P0 untuk ditampilkan dimodul led.

Akumulator diberikan nilai 00h sehingga dapat dipastikan bahwa semua led pada port 0 padam semuanya.

Proses ini akan berlangsung terus (looping), karena adanya peritah (sjmp utama).

Program diatas juga bisa kita ringkas menjadi :utama:

mov p0,p1sjmp utama

Contoh 1

25

Page 26: Topview Simulator 3

$mod51org 00h

bit0:mov p0,#00hjb p1.0,bit1sjmp bit0

bit1:setb p0.0jb p1.1,bit2sjmp bit1

bit2:setb p0.1jb p1.2,bit3sjmp bit2

bit3:setb p0.2jb p1.3,bit4sjmp bit3

bit4:setb p0.3jb p1.4,bit5sjmp bit4

bit5:setb p0.4jb p1.5,bit0sjmp bit5end

Contoh 2$mod51

org 00hmov a,#01h

kiri:rl a

26

Page 27: Topview Simulator 3

mov p0,acall tundajb p1.0,kanansjmp kiri

kanan:rr amov p0,acall tundajb p1.1,kirisjmp kanan

tunda:push 7push 6push 5

mov r7,#05hla: mov r6,#0ffhlb: mov r5,#0ffh djnz r5,$ djnz r6,lb djnz r7,la

pop 5pop 6pop 7

retend

Pembahasan program contoh 1,2 (aplikasi Saklar)

Contoh Keterangan1 Pada program contoh 1 ini akan menyalakan led secara

berurutan dengan cara menyalakan saklar secara berurutan juga. Jadi untuk menyalakanya tidak boleh meloncat dari bit 0 langsung ke bit 2, tetapi ke bit 1 dulu baru ke bit 2.

2 Program menyalakan led bergeser kekanan dan kekiri

27

Page 28: Topview Simulator 3

dengan cara menekan saklar p1.0 dan p1.1. Jadi untuk menyalakan led bergeser kekiri kita tekan P1.1, sedangkan untuk nyala led bergeser kekanan kita tekan P1.0.

IV.2.3. TOMBOL (KEYS-MOMENTARY TYPE)Seperti halnya saklar pada tombol mempunyai fungsi yang sama.

Sedangkan jenis tombol yang akan digunakan adalah jenis PUSH ON atau NO (normaly open), maksud dari normaly open adalah keadaan normal atau tidak ditekan kedua kontak tidak terhubung. Tetapi saklar dan tombol mempunyai perbedaan dalam hal cara kerjanya yaitu : Saklar : bila ditekan maka akan ON dan bila ingin OFF maka saklar

harus kita tekan lagi. Jadi dibutuhkan dua kali kerja. Tombol push ON : bila ditekan maka tombol akan ON atau kedua

kontak akan terhubung dan bila dilepas maka tombol akan OFF atau kedua kontak akan lepas. Jadi dibutuhkan satu kali kerja.

Simulasi dengan menggunakan Tombol dapat dilakukan sama persis dengan simulasi menggunakan saklar (menggunakan program saklar.txt), hanya setting Keyboard yang berbeda.Cara mensetting Keyboard (tombol) :

28

Page 29: Topview Simulator 3

1. Klik menu File External Modul Setting

Keyboard

Setting penggunaan dari tombol pada bagian atas (Select Port Lines) dan fungsi dari Activating Levels untuk menjalankan modul tombol Aktiv high, artinya bila diklik (tekan) akan memberikan logika 1, untuk Aktiv low (tanpa tanda centang maka bila ditekan akan memberikan logika 0. Pada penggunaanya Activating Levels agar lebih jelas lagi pada saat kita setting keyboard (tombol) di Activating untuk bit 0,1,2,3 diberi tanda centang dan bit 4,5,6,7 tanpa tanda centang. Kejadian yang terjadi dapat diamati sendiri.

2. Pembahasan program sama dengan contoh aplikasi saklar, karena kita bisa menggunakan program tersebut tanpa harus merubah.

$mod51org 00h

mulai:mov a,p1mov p0,asjmp mulai

29

Page 30: Topview Simulator 3

end

IV.2.4. SEVEN SEGMENPada aplikasi seven segmen ini ada dua mode dalam penyalaannya (Interface Selection) yaitu :1. Non-Multiplexed

Pada mode ini biasanya bisa disebut tanpa scanning. Mode ini akan menghasilkan nyala seven segmen yang selalu sama antar masing-masing digit.

2. MultiplexedPada mode ini lebih dikenal dengan mode scanning. Mode ini akan berbeda dengan mode sebelumnya karena pada mode ini dapat meyalakan karakter yang berbeda-beda pada tiap-tiap digit.

Warna tiap segmen :1. Merah2. Hijau

Type (Display Type) seven segmen sendiri ada dua :1. Commond Anode

Commond dari seven segmen dihubungkan ke VCC. Penyalaan tiap segmen diberikan logika 0 atau dihubungkan ke GND.

2. Commond CatodeCommond dari seven segmen dihubungkan ke GND. Penyalaan tiap segmen diberikan logika 1 atau dihubungkan ke VCC.

Jumlah data untuk meyalakan tiap seven segmen (Data Input Selection) :1. 7 Segmen

Berjumlah 7 sehingga cukup 1 port untuk menyalakan.2. BDC (Bineri Code Desimal)

Berjumlah 4 sehingga dalam kenyataannya diperlukan IC BCD.

Aplikasi seven segmen non-multiplexed1. Klik menu File External Modul Setting LED

30

Page 31: Topview Simulator 3

2. Lakukan setting seperti dibawah ini : Hilangkan tanda centang pada No Seven Segment Display Interface Selection : Non-Multiplexed Display Color : Red Display Type : Common Cathode Data Input Selection : 7 Segmen

Klik Selection of port lines and Number of Digits : No of Digits : 2 Control Line dan Port Line :

Control Line Port LineDigit1 Seg a P1.0Digit1 Seg b P1.1Digit1 Seg c P1.2Digit1 Seg d P1.3Digit1 Seg e P1.4

31

Page 32: Topview Simulator 3

Digit1 Seg f P1.5Digit1 Seg g P1.6Digit1 Seg dp P1.7Digit2 Seg a P1.0Digit2 Seg b P1.1Digit2 Seg c P1.2Digit2 Seg d P1.3Digit2 Seg e P1.4Digit2 Seg f P1.5Digit2 Seg g P1.6Digit2 Seg dp P1.7

Pada digit 2 juga bisa kita gunakan port 2 untuk menyalakanya, tapi kerugianya port yang akan digunakan harus banyak bila jumlah digit ditambah.

32

Page 33: Topview Simulator 3

Untuk mengecek hasil tabel diatas bisa kita lihat di bagian Summary.

Klik OK 2x.

3. ketikan program ini dan jalankan programnya.

$mod51org 00h

start:mov p1,#00000110bsjmp startend

program tersebut akan menyalakan angka 1 pada digit 1 dan 2 secara bersama-sama

33

Page 34: Topview Simulator 3

Coba anda edit program tersebut untuk meyalakan bentuk angka yang lainya.

Aplikasi seven segmen multiplexed1. Klik menu File External Modul Setting LED2. Lakukan setting seperti dibawah ini :

Hilangkan tanda centang pada No Seven Segment Display Interface Selection : Multiplexed Display Color : Red Display Type : Common Cathode Data Input Selection : 7 Segmen Activating Leve-Internal Multiplexed : 1 (memberikan logika

1 untuk menyalakan tiap segmen)

Klik Selection of port lines and Number of Digits : No. of Digits : 2

34

Page 35: Topview Simulator 3

Control Line dan Port Line :Control Line Port Line

Segmen a P1.0Segmen b P1.1Segmen c P1.2Segmen d P1.3Segmen e P1.4Segmen f P1.5Segmen g P1.6Segmen dp P1.7Digit1 Select P2.0Digit2 Select P2.1

Untuk mengecek hasil tabel diatas bisa kita lihat di bagian Summary.

Klik OK 2x.

3. Ketik program ini dan jalankan program tersebut.

$mod51org 00h

start:

35

Page 36: Topview Simulator 3

mov p1,#00000110b ;angka 1mov p2,#00000001b ;digit 1call tundamov p1,#01101101b ;angka 5mov p2,#00000010b ;digit 2call tundasjmp start

tunda: mov r7,#05hla: mov r6,#11hlb: mov r5,#02h djnz r5,$ djnz r6,lb djnz r7,la ret

end

4. Program tersebut akan menyalakan angka 1 didigit 1 dan angka 5 didigit 2

5. Sekarang coba anda menyalakan angka yang lainya atau dengan menambah jumlah digitnya.

36

Page 37: Topview Simulator 3

IV.2.5. KEYPAD1. Tulis program keypad.asm pada NOTEPAD dan simpan didirektori

yang sama (satu tempat dengan program kompailer).$mod51

org 00h;============baris 1================baris1:

mov p1,#11101111bjnb p1.0,no1jnb p1.1,no2jnb p1.2,no3jnb p1.3,no4ljmp baris2

no1:mov p0,#00000001bsjmp baris1

no2:mov p0,#00000010bsjmp baris1

no3:mov p0,#00000011bsjmp baris1

no4:mov p0,#00000100bsjmp baris2

;============baris 2================baris2:

mov p1,#11011111bjnb p1.0,no5jnb p1.1,no6jnb p1.2,no7jnb p1.3,no8ljmp baris3

no5:

37

Page 38: Topview Simulator 3

mov p0,#00000101bsjmp baris2

no6:mov p0,#00000110bsjmp baris2

no7:mov p0,#00000111bsjmp baris2

no8:mov p0,#00001000bsjmp baris3

;============baris 3================baris3:

mov p1,#10111111bjnb p1.0,no9jnb p1.1,no10jnb p1.2,no11jnb p1.3,no12ljmp baris4

no9:mov p0,#00001001bsjmp baris3

no10:mov p0,#00001010bsjmp baris3

no11:mov p0,#00001011bsjmp baris3

no12:mov p0,#00001100bsjmp baris4

;============baris 4================baris4:

38

Page 39: Topview Simulator 3

mov p1,#01111111bjnb p1.0,no13jnb p1.1,no14jnb p1.2,no15jnb p1.3,no16ljmp baris1

no13:mov p0,#00001101bsjmp baris4

no14:mov p0,#00001110bsjmp baris4

no15:mov p0,#00001111bsjmp baris4

no16:mov p0,#10101010bljmp baris1

end

2. Cara mensetting Keypad 4x4 adalah : Klik menu File External Modul Setting Keyboard

39

Page 40: Topview Simulator 3

Hilangkan semua tanda centang pada Keys-Momentery Type (Select Port Lines, Activating Levels), Keys-Toggle Type (Select Port Lines) dan pada Matrik KeyPad pilih 4 x 4

Klik Port Line Selection, maka akan keluar tampilan berikut.

Row1 P1.4Row2 P1.5Row3 P1.6

40

Page 41: Topview Simulator 3

Row4 P1.7Column1 P1.0Column2 P1.1Column3 P1.2Column4 P1.3

Tampilan tersebut menjelaskan bahwa untuk penggunaan port dari tombol yang disusun secara matriks (4 x 4) akan menggunakan port 1 (4 bit sebagai baris/row dan 4 bit sebagai kolom/column), dan untuk lebih mudahnya kita klik OK saja.Klik Key Name Setting, maka akan keluar tampilan berikut.

Pemberian nama pada tiap-tiap tombol (16 buah tombol) dapat dilakukan satu persatu sesuai kebutuhan, misal Key0 = 1, Key1 = 2, Key2 = 3, dst. Setelah selesai klik OK 2x.

Hasil Setting :

41

Page 42: Topview Simulator 3

3. Setting juga pada modul LED.

4. Setelah modul keypad dan led sudah disetting dengan benar, kemudian anda tampilkan kedua modul tersebut. Kalau sudah ditampilkan, maka langkah selanjutnya ketik program tersebut dan kompile.

Hasil program keypad dan led tersebut adalah :Penekan tombol / Keypad Hasil / nyala led

Tombol 1 Nyala led bit 0Tombol 2 Nyala led bit 1Tombol 3 Nyala led bit 2Tombol 4 Nyala led bit 3Tombol 5Tombol 6Tombol 7Tombol 8Tombol 9Tombol 10Tombol 11Tombol 12Tombol 13Tombol 14Tombol 15Tombol 16 Nyala led sigsag

42

Page 43: Topview Simulator 3

Sekarang coba anda isi hasilnya pada kolom 2 dari hasil percobaan tersebut.

IV.2.6. LCD (Liquid Crystal Display)

Tampilan modul LCD 2 x 16 dengan Backlight

Fungsi LCD sebenarnya sama dengan seven segmen yaitu sebagai tampilan atau display tentang sesuatu apa atau kejadian yang akan kita tampilkan. Sehingga dengan penggunaan LCD sebagai display, maka rangkaian yang kita buat akan lebih menarik dan komunikatif dan selanjutnya akan menambah nilai jual dari rangkaian tersebut.

Macam LCD yang terdapat pada software Top Viewsimulator ini akan ada 4 macam : 1 baris (lines) X 16 kolom (charcters) 2 baris (lines) X 16 kolom (charcters) 4 baris (lines) X 16 kolom (charcters) 4 baris (lines) X 20 kolom (charcters)Sedangkan jumlah/ lebar bit untuk menyalurkan atau mengirim data (Data Bus Width) ke LCD ada 2 macam pilihan : 8 bits (1 port) 4 bitsLCD disini juga akan dilengkapi fasilitas Back Light atau lampu backgraound berwarna kuning, sehingga nyala LCD akan lebih terang dan menarik. Tapi perlu juga diingat bahwa jenis LCD tersebut adalah LCD karater bukan grafik, jadi tampilan yang akan bisa dihasilkan adalah berupa karakter/ huruf.

43

Page 44: Topview Simulator 3

Keterangan masing-masing pin LCD (LCD 2 x 16)

NO PIN KETERANGAN1 VCC +52 GND 0V3 VEE Tegangan kontras LCD4 RS Register Select, 0=Register

perintah, 1=Register Data5 R/W 1=Read, 0=Write6 E Enable Clock LCD, logika 1

setiap kali pengiriman atau pembacaan data

7 D0 Data bus 08 D1 Data bus 19 D2 Data bus 2

10 D3 Data bus 311 D4 Data bus 412 D5 Data bus 513 D6 Data bus 614 D7 Data bus 7

Pada tabel diatas merupakan tabel yang diambil dari sebuah data sheet LCD dengan ukuran 2 x 16, namun untuk ukuran lainya tetap sama. Cara mensetting modul LCD :1. Setting port untuk melayani atau port mikro yang akan digunaan untuk

LCD Klik menu File External Modul Setting LCD Maka akan keluar tampilan.

44

Page 45: Topview Simulator 3

Pilih :Select LCD : 2Lines X 16CharacterData Bus Width : 8 BitsBack Light : Beri tanda centang

Klik Port Line Selection

Setting seperti tabel berikut ini.

Control Line Port Line SummaryRS P1.0 RS - P1.0R/W P1.1 R/W - P1.1

45

Page 46: Topview Simulator 3

E P1.2 E - P2.2D0 P2.0 D0 - P2.0D1 P2.1 D1 - P2.1D2 P2.2 D2- P2.2D3 P2.3 D3- P2.3D4 P2.4 D4- P2.4D5 P2.5 D5- P2.5D6 P2.6 D6- P2.6D7 P2.7 D7- P2.7

Setelah selesai akhiri dengan perintah Klik OK.

2. Untuk menampikanya klik menu View External MoDules LCD3. Program yang akan dituliskan sebagai berikut :

$mod51DISPCLR EQU 00000001BFUNCSET EQU 00111000BENTRMOD EQU 00000110BDISPON EQU 00001100B

ORG 0HCLR P1.1JMP INIT_LCD

ORG 30H

INIT_LCD:LCALL HOLDMOV A,#DISPCLRLCALL LCD_CMDMOV A,#FUNCSETLCALL LCD_CMDMOV A,#ENTRMODLCALL LCD_CMDMOV A,#DISPON

46

Page 47: Topview Simulator 3

LCALL LCD_CMD

PROGRAM:MOV A,#80HLCALL LCD_CMDMOV DPTR,#KAL_1LCALL PRINTSTRINGjmp $

PRINTSTRING:CLR AMOVC A,@A+DPTRJZ EXIT_PRINTSTRINGLCALL LCD_DATINC DPTRJMP PRINTSTRING

EXIT_PRINTSTRING:RET

LCD_CMD:PUSH DPHPUSH DPLCLR P1.0SETB P1.2LCALL DELAY_LCDMOV P2,ALCALL DELAY_LCDCLR P1.2LCALL DELAY_LCDSETB P1.2LCALL DELAY_LCDPOP DPLPOP DPH

RET

47

Page 48: Topview Simulator 3

LCD_DAT:PUSH DPHPUSH DPLSETB P1.0SETB P1.2LCALL DELAY_LCDMOV P2,ALCALL DELAY_LCDCLR P1.2LCALL DELAY_LCDSETB P1.2LCALL DELAY_LCDPOP DPLPOP DPHRET

DELAY_LCD:MOV R6,#0

DELAY1: MOV R5,#0DELAY2: INC R5

CJNE R5,#0FH,DELAY2INC R6CJNE R6,#07H,DELAY1RET

HOLD:MOV R6,#0

HOLD1: MOV R5,#0HOLD2: INC R5

CJNE R5,#0FFH,HOLD2INC R6CJNE R6,#0FFH,HOLD1RET

KAL_1: DB 'BLPT Surabaya(@)',0

48

Page 49: Topview Simulator 3

End

4. dari program diatas tersebut kemudian kompile dan jalankan simulasinya. Sedangkan hasil dari program tersebut adalah akan ditampilanya tulisan “BLPT Surabaya(@)” pada LCD di baris 1.

Sedangkan cara untuk menampilan tulisan di baris 2 cukup merubah nilai pada Akumulator = 0c0H

PROGRAM:MOV A,#0c0HLCALL LCD_CMDMOV DPTR,#KAL_1LCALL PRINTSTRINGjmp $

49

Page 50: Topview Simulator 3

LAMPIRAN

Daftar SFR (Special Function Register) $mod51P0 DATA 080H ;PORT 0SP DATA 081H ;STACK POINTERDPL DATA 082H ;DATA POINTER - LOW BYTEDPH DATA 083H ;DATA POINTER - HIGH BYTEDP0L DATA 082H ;DATA POINTER0 - LOW BYTEDP0H DATA 083H ;DATA POINTER0 - HIGH BYTEDP1L DATA 084H ;DATA POINTER1 - LOW BYTEDP1H DATA 085H ;DATA POINTER1 - HIGH BYTESPDR DATA 086H ;SERIAL INTERFACE DATA REGISTERPCON DATA 087H ;POWER CONTROLTCON DATA 088H ;TIMER CONTROLTMOD DATA 089H ;TIMER MODETL0 DATA 08AH ;TIMER 0 - LOW BYTETL1 DATA 08BH ;TIMER 1 - LOW BYTETH0 DATA 08CH ;TIMER 0 - HIGH BYTETH1 DATA 08DH ;TIMER 1 - HIGH BYTEP1 DATA 090H ;PORT 1WMCON DATA 096H ;WATCHDOG TIMER CONTROL REGISTERSCON DATA 098H ;SERIAL PORT CONTROLSBUF DATA 099H ;SERIAL PORT BUFFERP2 DATA 0A0H ;PORT 2IE DATA 0A8H ;INTERRUPT ENABLESPSR DATA 0AAH ;SERIAL INTERFACE STATUS REGISTERP3 DATA 0B0H ;PORT 3IP DATA 0B8H ;INTERRUPT PRIORITYT2CON DATA 0C8H ;TIMER 2 CONTROLT2MOD DATA 0C9H ;TIMER 2 MODERCAP2L DATA 0CAH ;TIMER 2 CAPTURE REGISTER - LOW BYTERCAP2H DATA 0CBH ;TIMER 2 CAPTURE REGISTER - HIGH BYTETL2 DATA 0CCH ;TIMER 2 - LOW BYTETH2 DATA 0CDH ;TIMER 2 - HIGH BYTEPSW DATA 0D0H ;PROGRAM STATUS WORDSPCR DATA 0D5H ;SERIAL INTERFACE CONTROL REGISTERACC DATA 0E0H ;ACCUMULATORB DATA 0F0H ;MULTIPLICATION REGISTERIT0 BIT 088H ;TCON.0 - EXT. INTERRUPT 0 TYPE

50

Page 51: Topview Simulator 3

IE0 BIT 089H ;TCON.1 - EXT. INTERRUPT 0 EDGE FLAGIT1 BIT 08AH ;TCON.2 - EXT. INTERRUPT 1 TYPEIE1 BIT 08BH ;TCON.3 - EXT. INTERRUPT 1 EDGE FLAGTR0 BIT 08CH ;TCON.4 - TIMER 0 ON/OFF CONTROLTF0 BIT 08DH ;TCON.5 - TIMER 0 OVERFLOW FLAGTR1 BIT 08EH ;TCON.6 - TIMER 1 ON/OFF CONTROLTF1 BIT 08FH ;TCON.7 - TIMER 1 OVERFLOW FLAGRI BIT 098H ;SCON.0 - RECEIVE INTERRUPT FLAGTI BIT 099H ;SCON.1 - TRANSMIT INTERRUPT FLAGRB8 BIT 09AH ;SCON.2 - RECEIVE BIT 8TB8 BIT 09BH ;SCON.3 - TRANSMIT BIT 8REN BIT 09CH ;SCON.4 - RECEIVE ENABLESM2 BIT 09DH ;SCON.5 - SERIAL MODE CONTROL BIT 2SM1 BIT 09EH ;SCON.6 - SERIAL MODE CONTROL BIT 1SM0 BIT 09FH ;SCON.7 - SERIAL MODE CONTROL BIT 0EX0 BIT 0A8H ;IE.0 - EXTERNAL INTERRUPT 0 ENABLEET0 BIT 0A9H ;IE.1 - TIMER 0 INTERRUPT ENABLEEX1 BIT 0AAH ;IE.2 - EXTERNAL INTERRUPT 1 ENABLEET1 BIT 0ABH ;IE.3 - TIMER 1 INTERRUPT ENABLEES BIT 0ACH ;IE.4 - SERIAL PORT INTERRUPT ENABLEET2 BIT 0ADH ;IE.5 - TIMER 2 INTERRUPT ENABLEEA BIT 0AFH ;IE.7 - GLOBAL INTERRUPT ENABLERXD BIT 0B0H ;P3.0 - SERIAL PORT RECEIVE INPUTTXD BIT 0B1H ;P3.1 - SERIAL PORT TRANSMIT OUTPUTINT0 BIT 0B2H ;P3.2 - EXTERNAL INTERRUPT 0 INPUTINT1 BIT 0B3H ;P3.3 - EXTERNAL INTERRUPT 1 INPUTT0 BIT 0B4H ;P3.4 - TIMER 0 COUNT INPUTT1 BIT 0B5H ;P3.5 - TIMER 1 COUNT INPUTWR BIT 0B6H ;P3.6 - WRITE CONTROL FOR EXT. MEMORYRD BIT 0B7H ;P3.7 - READ CONTROL FOR EXT. MEMORYPX0 BIT 0B8H ;IP.0 - EXTERNAL INTERRUPT 0 PRIORITYPT0 BIT 0B9H ;IP.1 - TIMER 0 PRIORITYPX1 BIT 0BAH ;IP.2 - EXTERNAL INTERRUPT 1 PRIORITYPT1 BIT 0BBH ;IP.3 - TIMER 1 PRIORITYPS BIT 0BCH ;IP.4 - SERIAL PORT PRIORITYPT2 BIT 0BDH ;IP.5 - TIMER 2 PRIORITYCAP2 BIT 0C8H ;T2CON.0 - CAPTURE OR RELOAD SELECTCNT2 BIT 0C9H ;T2CON.1 - TIMER OR COUNTER SELECTTR2 BIT 0CAH ;T2CON.2 - TIMER 2 ON/OFF CONTROLEXEN2 BIT 0CBH ;T2CON.3 - TIMER 2 EXTERNAL ENABLE FLAGTCLK BIT 0CCH ;T2CON.4 - TRANSMIT CLOCK SELECTRCLK BIT 0CDH ;T2CON.5 - RECEIVE CLOCK SELECTTEXF2 BIT 0CEH ;T2CON.6 - EXTERNAL TRANSITION FLAG

51

Page 52: Topview Simulator 3

TF2 BIT 0CFH ;T2CON.7 - TIMER 2 OVERFLOW FLAGP BIT 0D0H ;PSW.0 - ACCUMULATOR PARITY FLAGOV BIT 0D2H ;PSW.2 - OVERFLOW FLAGRS0 BIT 0D3H ;PSW.3 - REGISTER BANK SELECT 0RS1 BIT 0D4H ;PSW.4 - REGISTER BANK SELECT 1F0 BIT 0D5H ;PSW.5 - FLAG 0AC BIT 0D6H ;PSW.6 - AUXILIARY CARRY FLAGCY BIT 0D7H ;PSW.7 - CARRY FLAG

52

Page 53: Topview Simulator 3

DAFTAR PUSTAKA

Budioko, Totok, 2005, “Belajar dengan mudah dan cepat Pemrograman Bahasa C dengan SDCC (Small Device C Compailer) Pada Mikrokontroler AT89X051/AT89C51/52 Teori Simulasi dan Aplikasi”, Gava Media.

Tim Lab Mikroprosessor Elektronika (LAMEL), “Aplikasi Pemrogramman Mikrokontroler AT89S51 Dalam Bahasa C/C++ & Assembler”, 2006.

53