Kamis, April 23, 2009
Rabu, April 15, 2009
PANDUAN DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW SIMULATOR (2)
Selanjutnya kita belajar menyalakan LED menggunakan tombol. Aplikasi ini dapat diasumsikan sebagai aplikasi sensor. Tombol sebagai masukan / sensor dan nyala LED sebagai keluaran. Untuk kebutuhan lain, LED dapat diganti dengan relay untuk mengendalikan rangkaian lain.
Mari kita mulai percobaan ini.
1.Jalankan program TopViewSimulator dan load listing program seperti contoh di bawah. Cara load listing program dan compile nya telah dibahas pada pembahasan sebelumnya, lihat. Dan untuk listing programnya dapat diunduh di sini.
2.Pilih menu File → External Modules Setting → Led dan tandai port yang akan digunakan untuk LED yaitu port 1. Lalu tekan OK.
Sampai di sini dulu ya…. Tunggu aksi berikutnya…!
Mari kita mulai percobaan ini.
1.Jalankan program TopViewSimulator dan load listing program seperti contoh di bawah. Cara load listing program dan compile nya telah dibahas pada pembahasan sebelumnya, lihat. Dan untuk listing programnya dapat diunduh di sini.
Gambar 1.
2.Pilih menu File → External Modules Setting → Led dan tandai port yang akan digunakan untuk LED yaitu port 1. Lalu tekan OK.
Gambar 2.
3.Untuk tombol pilih menu File → External Mudules Setting → Keyboard dan tandai port untuk tombol, yaitu port 3. Pada Matrix KeyPad pilih None lalu tekan OK.Gambar 3.
4.Untuk menampilkan LED pilih menu View → External Modules → Led, dan untuk menampilkan tombol pilih menu View → External Modules → Keyboard.Gambar 4.
5.Selanjutnya jalankan programnya, tekan Go To dan isi dengan 00 lalu tekan Execute. Tampak hasilnya seperti di bawah.Gambar 5.
6.Nah, kalian dapat mengembangkannya untuk keperluan lain. Misal P3.0 untuk menghidupkan LED dan P3.1 untuk memadamkannya. Listing programnya silakan unduh di sini.Sampai di sini dulu ya…. Tunggu aksi berikutnya…!
Senin, April 13, 2009
TDW University - Rahasia Menjadi Kaya dan Bertumbuh Semakin Kaya
Kekayaan adalah sama dengan kemampuan untuk terus bertahan hidup
dengan gaya hidup yang ada, tanpa harus bekerja.
Keterangan:
Penelitian yg dilakukan oleh Gallup International menunjukkan bahwa
rata-rata eksekutif ibukota & Asia kaya mampu bertahan 90 hari dengan
gaya hidup yang ada apabila besok dia berhenti kerja. Setelah itu mereka
harus mulai menjual asset atau berhutang.
Kaya adalah relatif. Sebagian orang merasa kaya ketika mempunyai uang
10 juta rupiah. Sebagian orang merasa tidak kaya walaupun sudah memiliki
uang 10 milyar. Menurut majalah Forbes kaya adalah orang yang mempunyai
penghasilan 1 juta US keatas setahunnya. Sedangkan menurut Robert T. Kiyosaki
yang mengutip dari gurunya Buckminster Fuller bahwa kaya adalah bukan berapa
besar active income anda melainkan kaya adalah apabila passive income lebih
besar dari biaya hidup. Yang dimaksud passive income disini adalah uang yang
masuk tanpa harus bekerja.
Sebagai perbandingan Mike Tyson, dia menghasilkan 300 juta USD sewaktu bertinju,
tapi hari ini bangkrut dan masih berhutang 35 juta USD. Maka sebetulnya Mike Tyson
bukan termasuk kaya, termasuk pula di dalam kategori orang yang bukan kaya
adalah orang-orang yang punya penghasilan 1 Juta USD/tahun namun pengeluarannya
1,2 juta USD/tahun.
Pertanyaan penting kali ini adalah:
1.) Bila besok anda berhenti kerja, berapa lama anda dapat bertahan hidup dengan
gaya hidup anda sekarang tanpa harus menjual asset-asset anda?
2.) Lalu bagaimana kita bisa kaya menurut versi Robert T. Kiyosaki dimana passive
income lebih besar dari biaya hidup?
Jadi sebetulnya menurut Robert T. Kiyosaki, kaya adalah bagaimana menciptakan
passive income lebih besar dari biaya hidup.
Cara membuat passive income:
- Royalti dari hak cipta
- Rumah yang disewakan/ dikostkan
- Saham-saham yang menghasilkan deviden
- Reksadana
- Usaha-usaha yang menghasilkan
Buatlah rangkaian rencana sumber pasif income anda. Sesuatu yang anda sukai dan dapat anda
kerjakan sementara anda mengerjakan apa yang anda kerjakan sekarang.
Dan untuk mendapatkan materi tambahan eBook "24 Prinsip Miliarder yang Mencerahkan"
senilai Rp. 250.000,- dan seminar 3 Hari Financial Revolution senilai Rp. 4.933.500,-
oleh Tung Desem Waringin bisa Anda dapatkan di sini
Jadi sebetulnya menurut Robert T. Kiyosaki, kaya adalah bagaimana menciptakan
passive income lebih besar dari biaya hidup.
Cara membuat passive income:
- Royalti dari hak cipta
- Rumah yang disewakan/ dikostkan
- Saham-saham yang menghasilkan deviden
- Reksadana
- Usaha-usaha yang menghasilkan
Buatlah rangkaian rencana sumber pasif income anda. Sesuatu yang anda sukai dan dapat anda
kerjakan sementara anda mengerjakan apa yang anda kerjakan sekarang.
Dan untuk mendapatkan materi tambahan eBook "24 Prinsip Miliarder yang Mencerahkan"
senilai Rp. 250.000,- oleh Tung Desem Waringin bisa Anda dapatkan di sini
dengan gaya hidup yang ada, tanpa harus bekerja.
Keterangan:
Penelitian yg dilakukan oleh Gallup International menunjukkan bahwa
rata-rata eksekutif ibukota & Asia kaya mampu bertahan 90 hari dengan
gaya hidup yang ada apabila besok dia berhenti kerja. Setelah itu mereka
harus mulai menjual asset atau berhutang.
Kaya adalah relatif. Sebagian orang merasa kaya ketika mempunyai uang
10 juta rupiah. Sebagian orang merasa tidak kaya walaupun sudah memiliki
uang 10 milyar. Menurut majalah Forbes kaya adalah orang yang mempunyai
penghasilan 1 juta US keatas setahunnya. Sedangkan menurut Robert T. Kiyosaki
yang mengutip dari gurunya Buckminster Fuller bahwa kaya adalah bukan berapa
besar active income anda melainkan kaya adalah apabila passive income lebih
besar dari biaya hidup. Yang dimaksud passive income disini adalah uang yang
masuk tanpa harus bekerja.
Sebagai perbandingan Mike Tyson, dia menghasilkan 300 juta USD sewaktu bertinju,
tapi hari ini bangkrut dan masih berhutang 35 juta USD. Maka sebetulnya Mike Tyson
bukan termasuk kaya, termasuk pula di dalam kategori orang yang bukan kaya
adalah orang-orang yang punya penghasilan 1 Juta USD/tahun namun pengeluarannya
1,2 juta USD/tahun.
Pertanyaan penting kali ini adalah:
1.) Bila besok anda berhenti kerja, berapa lama anda dapat bertahan hidup dengan
gaya hidup anda sekarang tanpa harus menjual asset-asset anda?
2.) Lalu bagaimana kita bisa kaya menurut versi Robert T. Kiyosaki dimana passive
income lebih besar dari biaya hidup?
Jadi sebetulnya menurut Robert T. Kiyosaki, kaya adalah bagaimana menciptakan
passive income lebih besar dari biaya hidup.
Cara membuat passive income:
- Royalti dari hak cipta
- Rumah yang disewakan/ dikostkan
- Saham-saham yang menghasilkan deviden
- Reksadana
- Usaha-usaha yang menghasilkan
Buatlah rangkaian rencana sumber pasif income anda. Sesuatu yang anda sukai dan dapat anda
kerjakan sementara anda mengerjakan apa yang anda kerjakan sekarang.
Dan untuk mendapatkan materi tambahan eBook "24 Prinsip Miliarder yang Mencerahkan"
senilai Rp. 250.000,- dan seminar 3 Hari Financial Revolution senilai Rp. 4.933.500,-
oleh Tung Desem Waringin bisa Anda dapatkan di sini
Jadi sebetulnya menurut Robert T. Kiyosaki, kaya adalah bagaimana menciptakan
passive income lebih besar dari biaya hidup.
Cara membuat passive income:
- Royalti dari hak cipta
- Rumah yang disewakan/ dikostkan
- Saham-saham yang menghasilkan deviden
- Reksadana
- Usaha-usaha yang menghasilkan
Buatlah rangkaian rencana sumber pasif income anda. Sesuatu yang anda sukai dan dapat anda
kerjakan sementara anda mengerjakan apa yang anda kerjakan sekarang.
Dan untuk mendapatkan materi tambahan eBook "24 Prinsip Miliarder yang Mencerahkan"
senilai Rp. 250.000,- oleh Tung Desem Waringin bisa Anda dapatkan di sini
Jumat, April 10, 2009
PANDUAN DASAR MIKROKONTROLER MENGGUNAKAN TOP VIEW SIMULATOR (1)
Bagi yang baru belajar mikrokontroler mungkin akan sedikit kesulitan jika harus mencoba membuat program dan menjalankannya menggunakan rangkaian mikrokontroler (hardware). Namun kali ini kita akan mencoba menggunakan simulator untuk menjalankan / debugging program mikrokontroler keluarga MCS51. Dengan simulator akan lebih mudah menjalankan program dan tanpa biaya untuk membuat rangkaiannya.
Pertama kita install dulu Top View Simulator nya. Bagi yang belum punya silakan unduh di sini.
1.Jalankan setup.exe dan akan tampil seperti ini.
2.Tekan Next, dan pilih directory tempat menyimpan file sistemnya. Untuk standard nya pada C:\Program file\
3.Tekan Next, Next, dan tunggu hingga proses selesai.
Sebelumnya kita harus punya program assembly. Biasanya program assembly ditulis menggunakan notepad dan disimpan dengan extensi *.asm dan di-compile menggunakan compiler. Untuk compilernya dapat diunduh di sini.
1.Jalankan TopViewSimulator dan akan muncul seperti gambar 3. Pada menu dropdown Select Device pilih Atmel 89C51. Tekan OK.
3.Untuk meng-compile nya sebenarnya dapat dilakukan dengan menggunakan program TopViewSimulator. Karena pada program tersebut sudah ada menu compile file asm.
4.Pindah ke program TopViewSimulator dan pilih menu File → Load Text File dan pilih pada coba.asm
5.Tekan tombol menu Run ASM
6.Jika tidak ada kesalahan maka pada coba.lst terdapat tulisan ASSEMBLY COMPLETE, 0 ERRORS FOUND dan tampil.
7.Pilih menu File → External Modules Setting → Led dan akan muncul form seperti pada gambar 8. pilih port yang akan disambungkan dengan LED misal port 1, centanglah masing-masing bit pada port 1. selnjutnya tekan OK.
8.Selanjutnya adalah menampilkan LED modul tersebut, dengan cara pilih menu View → External Module → Led
9.Nah, langkah terakhir yaitu menjalankannya dengan memilih menu Run → Go To dan akan tampil.
Ooo, ternyata mudah ya…menyenangkan… Oke, sampai di sini dulu aja ya… Qta bertemu lagi di lain kesempatan. Semoga bermanfaat.
Pertama kita install dulu Top View Simulator nya. Bagi yang belum punya silakan unduh di sini.
1.Jalankan setup.exe dan akan tampil seperti ini.
Gambar 1.
2.Tekan Next, dan pilih directory tempat menyimpan file sistemnya. Untuk standard nya pada C:\Program file\
3.Tekan Next, Next, dan tunggu hingga proses selesai.
Gambar 2.
Nah, kita sudah punya simulatornya. Sekarang bagaimana menggunakannya?Sebelumnya kita harus punya program assembly. Biasanya program assembly ditulis menggunakan notepad dan disimpan dengan extensi *.asm dan di-compile menggunakan compiler. Untuk compilernya dapat diunduh di sini.
1.Jalankan TopViewSimulator dan akan muncul seperti gambar 3. Pada menu dropdown Select Device pilih Atmel 89C51. Tekan OK.
Gambar 3.
2.Buka program notepad dan ketik listing programnya, kemudian simpan pada folder ASM51 dengan extensi *.asm. Misal Coba.asm. Dapat diunduh di sini.Gambar 4.
3.Untuk meng-compile nya sebenarnya dapat dilakukan dengan menggunakan program TopViewSimulator. Karena pada program tersebut sudah ada menu compile file asm.
4.Pindah ke program TopViewSimulator dan pilih menu File → Load Text File dan pilih pada coba.asm
Gambar 5.
5.Tekan tombol menu Run ASM
Gambar 6.
6.Jika tidak ada kesalahan maka pada coba.lst terdapat tulisan ASSEMBLY COMPLETE, 0 ERRORS FOUND dan tampil.
Gambar 7.
7.Pilih menu File → External Modules Setting → Led dan akan muncul form seperti pada gambar 8. pilih port yang akan disambungkan dengan LED misal port 1, centanglah masing-masing bit pada port 1. selnjutnya tekan OK.
Gambar 8.
8.Selanjutnya adalah menampilkan LED modul tersebut, dengan cara pilih menu View → External Module → Led
Gambar 9.
9.Nah, langkah terakhir yaitu menjalankannya dengan memilih menu Run → Go To dan akan tampil.
Gambar 10.
Isi dengan 00 karena program yang kita buat berawal dari alamat 00H, selanjutnya tekan ExecuteGambar 11.
Ooo, ternyata mudah ya…menyenangkan… Oke, sampai di sini dulu aja ya… Qta bertemu lagi di lain kesempatan. Semoga bermanfaat.
SELAMAT MENCOBA!!!
Selasa, April 07, 2009
Mengubah Menubar pada MS Word
Menu bar pada Microsoft Word kalo bisa kita ubah, pasti akan lebih menarik dan unik….. kalo kita bosan, tinggal kita edit lagi. so, pasti kamu akan semakin betah bekerja dengan word kamu…
Mungkin trik berikut sudah banyak yang tau, namun diharapkan tulisan ini masih berguna bagi yang belum mengetahui dan baru belajar…
Untuk mengubah nama menu bar pada word sesuai dengan keinginan, ikuti langkah2 berikut:
Mungkin trik berikut sudah banyak yang tau, namun diharapkan tulisan ini masih berguna bagi yang belum mengetahui dan baru belajar…
Untuk mengubah nama menu bar pada word sesuai dengan keinginan, ikuti langkah2 berikut:
Malam Rindu
Malam boleh terang
Malam boleh tanpa hujan
Namun hatiku sedingin malam
Menyandang rindu kekasih pujaan
Merambah merayap malam
Berteman kesunyian
Rasa rindu mengusik hati yang dalam
Apakah mimpi bersua suatu harapan?
Tidak...
Bertemu dan berbagi duka senang
adalah tujuan
Malam boleh tanpa hujan
Namun hatiku sedingin malam
Menyandang rindu kekasih pujaan
Merambah merayap malam
Berteman kesunyian
Rasa rindu mengusik hati yang dalam
Apakah mimpi bersua suatu harapan?
Tidak...
Bertemu dan berbagi duka senang
adalah tujuan
Deras Rindu
Derasnya hujan
Sederas rinduku padamu
Dinginnya malam
Sedingin hatiku yang mendamba kehangatanmu
Tidakkah kau merasakannya sayang…
Sederas rinduku padamu
Dinginnya malam
Sedingin hatiku yang mendamba kehangatanmu
Tidakkah kau merasakannya sayang…
Rindu
Hujan yang membasahi
Menjadikan malam dingin semakin sunyi
Rindu di hati semakin kuat dan menyiksa batinku
Siksa rindu yang indah
Mengingatmu..
Menghadirkan rindu
Mengingatmu..
Adalah sesuatu yang indah
Menjadikan malam dingin semakin sunyi
Rindu di hati semakin kuat dan menyiksa batinku
Siksa rindu yang indah
Mengingatmu..
Menghadirkan rindu
Mengingatmu..
Adalah sesuatu yang indah
Jumat, April 03, 2009
Mencari Kepastian
dalam nyata…
harapanku bagai lukisan
di antara kesenyapan
kesetiaan pun ada
rela kulalui dengan ketidakpastian
tapi kini…
tak sanggup sudah kumenahan dahaga
mengiba kumohon kesejukan
madu atau racun yang engkau sedu
semua kan kureguk
tuk mengakhiri batas penantian
biar pun siksa hati yang kuterima
harapanku bagai lukisan
di antara kesenyapan
kesetiaan pun ada
rela kulalui dengan ketidakpastian
tapi kini…
tak sanggup sudah kumenahan dahaga
mengiba kumohon kesejukan
madu atau racun yang engkau sedu
semua kan kureguk
tuk mengakhiri batas penantian
biar pun siksa hati yang kuterima
Siksa Batin
aku adalah batin
yang tersiksa karena engkau
engkau adalah siksa
yang kau berikan pada batinku
segenap asa dan rasa yang aku punya
ku tumpahkan semua tuk meredam emosi di dada
ingin aku pejamkan mata
dan kala mata ini terbuka
tiada lagi siksa batin yang aku punya
engkau yang di sana
tak tahukah engkau batinku tersiksa
tak tahukah engkau di sini hatiku merana
menantikan sebuah rasa yang tak pasti
berharap dengan sepenuh hati
menanti kehadiranmu di sini
yang tersiksa karena engkau
engkau adalah siksa
yang kau berikan pada batinku
segenap asa dan rasa yang aku punya
ku tumpahkan semua tuk meredam emosi di dada
ingin aku pejamkan mata
dan kala mata ini terbuka
tiada lagi siksa batin yang aku punya
engkau yang di sana
tak tahukah engkau batinku tersiksa
tak tahukah engkau di sini hatiku merana
menantikan sebuah rasa yang tak pasti
berharap dengan sepenuh hati
menanti kehadiranmu di sini
Menampilkan karakter pada LCD 2 x 16 karakter
Modul LCD (Liquid Cristal Display) digunakan sebagai prototype dari sebuah informasi. Agar terhubung dengan mikrokontroler, LCD dilengkapi dengan 8 bit data bus (DB0-DB7) yang digunakan untuk menyalurkan data ASCII (American Standard Code for Information Interchange) maupun perintah pengatur kerjanya.
Modul LCD sendiri terdiri dari display dan chipset, dimana chipset ini sendiri sebenarnya merupakan mikrokontroler. Chipset ini berfungsi untuk mengatur tampilan informasi serta berfungsi mengatur komunikasi dengan mikrokontroler yang memakai tampilan LCD itu. Sehingga pada dasarnya interface yang akan dibuat merupakan komunikasi dua buah mikrokontroler.
Sebelum merancang suatu interface, harus diketahui dahulu susunan pin dari LCD tersebut. Adapun susunan pin serta bentuk dari standard LCD 16 pin beserta fungsi dari masing-masing pin adalah seperti pada gambar 1 berikut:
Gambar 1. LCD 2x16 Karakter
Pada saat terhubung dengan LCD, mikrokontroler dapat mengirimkan instruksi yang harus dilaksanakan ataupun data yang harus ditampilkan. Pengiriman instruksi dan data ke LCD diatur oleh RS (Register Select). Pengiriman perintah (instruksi) dilakukan dengan memberikan logika rendah pada pin RS LCD. Sedangkan jika yang dikirim adalah kode ASCII yang akan ditampilkan, maka pin RS LCD diberikan logika tinggi.
Untuk menandakan akan diadakan pengiriman data ke modul LCD dilakukan dengan memberikan logika rendah pada pin RW LCD. Setelah itu data disiapkan di DB0-DB7, sesaat kemudian pin EN ditinggalkan sesaat. Pada saat pin EN berubah dari tinggi ke rendah, data di DB0-DB7 diterima oleh LCD. Tabel 1 dibawah ini menerangkan susunan pin standard LCD 16 pin.
Untuk membuat suatu karakter tampilan LCD pada suatu posisi tertentu, harus diketahui dulu peta alamat dari LCD itu sendiri. Misalnya diinginkan menulis suatu kata dimulai dari baris kedua kolom pertama, berarti alamat yang dipakai pada LCD adalah 0C0h, tanda h menunjukkan bahwa nilai tersebut dalam kode bilangan heksa desimal. Tabel 2 berikut merupakan peta alamat LCD dengan spesifikasi 2x16 karakter.
Berikut contoh program untuk menampilkan karakter pada LCD 2 x 16:
;---------------------------------------------
;Program untuk menulis ke LCD 16 x 2 karakter
; irf@n Software Corporation
;---------------------------------------------
funcset equ 00111000b
dispon equ 00001100b
gesrkan equ 00000110b
dispclr equ 00000001b
org 0h
clr p3.5
jmp Mulai
;
Write_inst:
mov P1,#0h ; untuk menuliskan
mov P0,R1 ; intruksi ke LCD
setb P1.1
clr P1.1
call Delay
ret
;
Write_data:
mov P1,#01 ; untuk menuliskan
mov P0,R1 ; data ke LCD
setb P1.1
clr P1.1
call Delay
ret
;
Delay: mov R0,#0
Delay1: mov R5,#50h
djnz R5,$
djnz R0,Delay1
ret
;
Ldelay: mov R2,#20h
Ld1: call Delay
djnz R2,Ld1
ret
;
Tulis: mov R4,#3 ; untuk 3 kali penulisan (x 2 baris)
mov DPTR,#Tulisan ; menunjuk ke alamat tulisan
Baris1: mov R3,#16 ; lakukan sebanyak 16 karakter
mov R1,#80h ; pindahkan kursor ke alamat
call Write_inst ; 00h (baris 1 kolom 1)
Tulis1: clr A
movc A,@A+DPTR ; ambil data karakter yang akan dituliskan
mov R1,A ; tuliskan data tersebut
call Write_data ; ke panel LCD
inc DPTR ; menunjuk ke karakter berikutnya
djnz R3,Tulis1
Baris2: mov R3,#16 ; untuk 16 karakter (dalam 1 baris)
mov R1,#0C0h ; pindahkan kursor ke alamat
call Write_inst ; 40h (baris 2 kolom 1)
Tulis2: clr A
movc A,@A+DPTR
mov R1,A
call Write_data
inc DPTR
djnz R3,Tulis2
call Ldelay
djnz R4,Baris1
ret
;
Mulai:
mov R1,#funcset ; inisialisasi
call Write_inst
mov R1,#dispon ; nyalakan LCD
call Write_inst
mov R1,#gesrkan ; set kursor geser kanan setiap menulis
call Write_inst
mov R1,#dispclr ; hapus layar
call Write_inst
Ulang:
call Tulis
jmp Ulang
;
Tulisan:
db ' SELAMAT DATANG '
db ' di '
db ' Laboratorium '
db ' Mikrokontroler '
db ' irf@n Software '
db ' Corporation '
end
Modul LCD sendiri terdiri dari display dan chipset, dimana chipset ini sendiri sebenarnya merupakan mikrokontroler. Chipset ini berfungsi untuk mengatur tampilan informasi serta berfungsi mengatur komunikasi dengan mikrokontroler yang memakai tampilan LCD itu. Sehingga pada dasarnya interface yang akan dibuat merupakan komunikasi dua buah mikrokontroler.
Sebelum merancang suatu interface, harus diketahui dahulu susunan pin dari LCD tersebut. Adapun susunan pin serta bentuk dari standard LCD 16 pin beserta fungsi dari masing-masing pin adalah seperti pada gambar 1 berikut:
Gambar 1. LCD 2x16 Karakter
Pada saat terhubung dengan LCD, mikrokontroler dapat mengirimkan instruksi yang harus dilaksanakan ataupun data yang harus ditampilkan. Pengiriman instruksi dan data ke LCD diatur oleh RS (Register Select). Pengiriman perintah (instruksi) dilakukan dengan memberikan logika rendah pada pin RS LCD. Sedangkan jika yang dikirim adalah kode ASCII yang akan ditampilkan, maka pin RS LCD diberikan logika tinggi.
Untuk menandakan akan diadakan pengiriman data ke modul LCD dilakukan dengan memberikan logika rendah pada pin RW LCD. Setelah itu data disiapkan di DB0-DB7, sesaat kemudian pin EN ditinggalkan sesaat. Pada saat pin EN berubah dari tinggi ke rendah, data di DB0-DB7 diterima oleh LCD. Tabel 1 dibawah ini menerangkan susunan pin standard LCD 16 pin.
No. | Simbol | Level | Fungsi |
---|---|---|---|
1. | Vss | - | power supply 0 volt (GND) |
2. | Vcc | - | power supply 5 volt ± 10% |
3. | Vcc | - | kontras LCD |
4. | Rs | I/O | 1=data; 0=instruksi |
5. | R/W | I/O | 1=baca; 0=tulis |
6. | EN | 1 ke 0 | penyerempak (clock) |
7. | DB0 | I/O | Bus Data |
: | : | : | Bus Data |
14. | DB7 | I/O | Bus Data |
15. | A | - | back light 4 - 42 v 50-200mA |
16. | K | - | back light 0 v (GND) |
Untuk membuat suatu karakter tampilan LCD pada suatu posisi tertentu, harus diketahui dulu peta alamat dari LCD itu sendiri. Misalnya diinginkan menulis suatu kata dimulai dari baris kedua kolom pertama, berarti alamat yang dipakai pada LCD adalah 0C0h, tanda h menunjukkan bahwa nilai tersebut dalam kode bilangan heksa desimal. Tabel 2 berikut merupakan peta alamat LCD dengan spesifikasi 2x16 karakter.
Peta alamat LCD 2 x 16 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F |
C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | CA | CB | CC | CD | CE | CF |
Berikut contoh program untuk menampilkan karakter pada LCD 2 x 16:
;---------------------------------------------
;Program untuk menulis ke LCD 16 x 2 karakter
; irf@n Software Corporation
;---------------------------------------------
funcset equ 00111000b
dispon equ 00001100b
gesrkan equ 00000110b
dispclr equ 00000001b
org 0h
clr p3.5
jmp Mulai
;
Write_inst:
mov P1,#0h ; untuk menuliskan
mov P0,R1 ; intruksi ke LCD
setb P1.1
clr P1.1
call Delay
ret
;
Write_data:
mov P1,#01 ; untuk menuliskan
mov P0,R1 ; data ke LCD
setb P1.1
clr P1.1
call Delay
ret
;
Delay: mov R0,#0
Delay1: mov R5,#50h
djnz R5,$
djnz R0,Delay1
ret
;
Ldelay: mov R2,#20h
Ld1: call Delay
djnz R2,Ld1
ret
;
Tulis: mov R4,#3 ; untuk 3 kali penulisan (x 2 baris)
mov DPTR,#Tulisan ; menunjuk ke alamat tulisan
Baris1: mov R3,#16 ; lakukan sebanyak 16 karakter
mov R1,#80h ; pindahkan kursor ke alamat
call Write_inst ; 00h (baris 1 kolom 1)
Tulis1: clr A
movc A,@A+DPTR ; ambil data karakter yang akan dituliskan
mov R1,A ; tuliskan data tersebut
call Write_data ; ke panel LCD
inc DPTR ; menunjuk ke karakter berikutnya
djnz R3,Tulis1
Baris2: mov R3,#16 ; untuk 16 karakter (dalam 1 baris)
mov R1,#0C0h ; pindahkan kursor ke alamat
call Write_inst ; 40h (baris 2 kolom 1)
Tulis2: clr A
movc A,@A+DPTR
mov R1,A
call Write_data
inc DPTR
djnz R3,Tulis2
call Ldelay
djnz R4,Baris1
ret
;
Mulai:
mov R1,#funcset ; inisialisasi
call Write_inst
mov R1,#dispon ; nyalakan LCD
call Write_inst
mov R1,#gesrkan ; set kursor geser kanan setiap menulis
call Write_inst
mov R1,#dispclr ; hapus layar
call Write_inst
Ulang:
call Tulis
jmp Ulang
;
Tulisan:
db ' SELAMAT DATANG '
db ' di '
db ' Laboratorium '
db ' Mikrokontroler '
db ' irf@n Software '
db ' Corporation '
end
Kamis, April 02, 2009
Lebih Lanjut Tentang Visual Basic
Pada kesempatan kali ini saya mau mencoba menjelaskan tentang statement dasar,operator,ungkapan, dsb yang biasa di pakai dalam Visual Basic.
PENGENAL (Identifier)
Biasa dipakai untuk menyatakan variable,fungsi,tipe data,label konstanta, obyek atau hal lain yang di deklarasikan oleh Programmer. Dalam Penulisannya pengenal harus menggunakan Huruf, Tidak boleh berupa angka atau tanda simbol lain. Misal # , @ , * , dan lain sebagainya. Apabila lebih dari satu kata maka dihubungkan dengan Garis bawah (Misal : Mawar_Kuning).
TIPE DATA
Tipe data dalam Visual Basic antara lain :
1. String Menerima huruf,angka dan simbol-simbol
2. Integer Nilai Jangkauannya -32.768 sampai +32.767
3. Long Nilai Jangkauannya -2.147.438.648 - +2.147.438.647
4. Single Nilai Jangkauannya 3.4×10 -38 sampai 3.4×10 +38
5. Double Nilai Jangkauannya 1,7×10 -308 sampai 1,7×10 +308
6. Byte Nilai Jangkauannya 0 sampai 255
7. Boolean Hanya menerima nilai True dan False
8. Date Menerima tanggal
9. Currency Menerima mata Uang
VARIABLE dan KONSTANTA
Variable merupakan komponen yang penting pada pemrograman.Variable digunakan untuk menyimpan nilai komponen kontrol Atau mengeluarkan nilai pada komponen kontrol dan nilai yang ada Pada variable dapat dirubah. Mendeklarasikan suatu variable harus di dahului oleh kata DIM. Cara mendeklarasikan variable seperti ini :
Code:
Dim nama variable as tipe data
Contoh nya:
Code:
Dim Nama_Programmer as String
Dim Jumlah as Integer
Cara mendefenisikan variable seperti di bawah ini ya.. :
Code:
Nama variable = nilai
Contoh nya:
Code:
Nama_programmer = “Piece Maker”
Gajipokok =250000
OPERATOR
Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi,misalnya untuk menjumlahkan 2 buah bilangan,memberikan nilai pada variable atau membandingkan 2 buah bilangan. Operator mempunyai 3 buah sifat yaitu :
Unary, Operator yang melibatkan sebuah operand (Misal -5)
Binary, Operator yang melibatkan 2 buah operand (Misal a +b)
Ternary, Operator yang melibatkan 3 buah atau lebih operand (Misal 2 – 5 * 2)
OPERATOR ARITMATIKA
1. *, Perkalian Misal 4 * 5
2. /, Pembagian Misal 10 / 2
3 .%, Sisa pembagian Misal 10 % 3
4. +, Penjumlahan Misal 2 + 4
5. -, Pengurangan Misal 4 – 3
6. ++ Penaikan Misal ++z
7. - Penurunan Misal - -y
OPERATOR RELASI
1. = , sama dengan
2. < > , tidak sama
3. >, lebih besar
4. < , lebih kecil 5.>= , lebih besar dari atau sama dengan
6. < = , lebih kecil dari atau sama dengan
Operator logika digunakan untuk menghubungkan 2 buah Ungkapan kondisi menjadi 1 buah ungkapan kondisi.
1. AND , dan
2. OR , atau
3. NOT , tidak
PENCABANGAN
Dalam membuat program biasanya proses dilakukan dengan Berurutan,yaitu dari baris yang di atas sampai baris yang dibawah. Dengan menggunakan proses pencabangan sebuah program dapat Kita kendalikan sesuai keperluan. Jadi enggak harus sesuai urutan baris yang ada, karena dengan Menggunakan proses pencabangan baris dapat dilewati.
Pencabangan dapat di lakukan dengan beberapa cara yaitu :
Code:
a. If kondisi then
statement
End if
b. If kondisi then
Statement 1
Else
Statement 2
End if
c. If kondisi 1 then
Statement 1
ElseIf kondisi 2 then
Statement 2
End if
d. Select Case Kondisi
Case kondisi 1 : Statement 1
Case kondisi 2 : Statement 2
Case kondisi 3 : Statement 3
End Select
PENGULANGAN
Untuk menghindari penulisan yang sama secara berulang kali, Visual Basic mempunyai perintah / statement pengulangan.
Pengulangan dalam Visual Basic menggunakan perintah :
Code:
a. Do While Ungkapan
Pernyataan – pernyataan ;
Loop
b. Do Until Ungkapan
Pernyataan – pernyataan ;
Loop
c. For Variable = Nilai Awal To Nilai akhir
Pernyataan – pernyataan ;
Next Variable
FUNGSI-FUNGSI VISUAL BASIC
Fungsi merupakan Sub Program atao bagian programYang dapat dipanggil berulang kali.Fungsi dapat menerima Suatu Nilai atau mengembalikan suatu Nilai, Fungsi dalam Visual Basic, seperti ini :
Fungsi Numerik
Fungsi numerik berguna buat tipe data Numerik.
a. Abs(Angka) Menghasilkan nilai mutlak
b. Atn(Angka) Cari Nilai Arc Tangen
c. Cos(Angka) Cari Nilai Cosinus
d. Exp(Angka) Cari Nilai Logaritma
e. Int(Angka) Mengambil Bilangan Bulat
f. Len(Kata/Kalimat) Hitung panjang Karakter
g. Round(Digit didepan Membulatkan Nilai Desimal Dan Di belakang koma)
h. Sin(Angka) Cari nilai Sinus
i. Sqr(Angka) Cari nilai Akar Kuadrat
j. Tan(Angka) Cari nilai Tangen
Fungsi String
a. Asc(Karakter) Rubah Karakter jadi Kode ASCII
b. Chr(Angka) Rubah Kode ASCII jadi Karakter
c. Lcase(Karakter) Rubah Huruf Besar jadi Huruf Kecil
d. Ucase(Karakter) Rubah Huruf Kecil jadi Huruf Besar
e. Len(Kata/Kalimat) Hitung panjang Karakter
f. Left(Karakter,Jumlah) Ambil sebagian Karakter dari Kiri
g. Right(Karakter,Jumlah) Ambil sebagian Karakter dari Kanan
h. Mid(Karakter,Posisi, Ambil sebagian Karakter dari Tengah Jumlah)
i. Ltrim(Karakter) Hilangkan Spasi di Kiri Kata/Kalimat
j. Rtrim(Karakter) Hilangkan Spasi di Kanan Kata/Kalimat
k. Str(Angka) Rubah Nilai Numerik jadi String
l. StrReverse(Kata/Kalimat) Membalikan Urutan Kata / Kalimat
Fungsi Tanggal dan Jam
a. Date Ambil tanggal dari komputer
b. Time Ambil waktu dari komputer
c. Now Ambil tanggal,waktu dari komputer
d. DateSerial(Tahun, Rubah Nilai Numerik jadi Tanggal Bulan,Tanggal)
e. TimeSerial(Jam, Rubah Nilai Numerik jadi Waktu Menit,Detik)
f. DateIff(Interval, Membandingkan 2 buah Tanggal1,Tanggal2)
g. Datepart(Interval, Ambil Tanggal,Bulan atao Tahun Tanggal) dari Tanggal.
Interval
PENGENAL (Identifier)
Biasa dipakai untuk menyatakan variable,fungsi,tipe data,label konstanta, obyek atau hal lain yang di deklarasikan oleh Programmer. Dalam Penulisannya pengenal harus menggunakan Huruf, Tidak boleh berupa angka atau tanda simbol lain. Misal # , @ , * , dan lain sebagainya. Apabila lebih dari satu kata maka dihubungkan dengan Garis bawah (Misal : Mawar_Kuning).
TIPE DATA
Tipe data dalam Visual Basic antara lain :
1. String Menerima huruf,angka dan simbol-simbol
2. Integer Nilai Jangkauannya -32.768 sampai +32.767
3. Long Nilai Jangkauannya -2.147.438.648 - +2.147.438.647
4. Single Nilai Jangkauannya 3.4×10 -38 sampai 3.4×10 +38
5. Double Nilai Jangkauannya 1,7×10 -308 sampai 1,7×10 +308
6. Byte Nilai Jangkauannya 0 sampai 255
7. Boolean Hanya menerima nilai True dan False
8. Date Menerima tanggal
9. Currency Menerima mata Uang
VARIABLE dan KONSTANTA
Variable merupakan komponen yang penting pada pemrograman.Variable digunakan untuk menyimpan nilai komponen kontrol Atau mengeluarkan nilai pada komponen kontrol dan nilai yang ada Pada variable dapat dirubah. Mendeklarasikan suatu variable harus di dahului oleh kata DIM. Cara mendeklarasikan variable seperti ini :
Code:
Dim nama variable as tipe data
Contoh nya:
Code:
Dim Nama_Programmer as String
Dim Jumlah as Integer
Cara mendefenisikan variable seperti di bawah ini ya.. :
Code:
Nama variable = nilai
Contoh nya:
Code:
Nama_programmer = “Piece Maker”
Gajipokok =250000
OPERATOR
Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi,misalnya untuk menjumlahkan 2 buah bilangan,memberikan nilai pada variable atau membandingkan 2 buah bilangan. Operator mempunyai 3 buah sifat yaitu :
Unary, Operator yang melibatkan sebuah operand (Misal -5)
Binary, Operator yang melibatkan 2 buah operand (Misal a +b)
Ternary, Operator yang melibatkan 3 buah atau lebih operand (Misal 2 – 5 * 2)
OPERATOR ARITMATIKA
1. *, Perkalian Misal 4 * 5
2. /, Pembagian Misal 10 / 2
3 .%, Sisa pembagian Misal 10 % 3
4. +, Penjumlahan Misal 2 + 4
5. -, Pengurangan Misal 4 – 3
6. ++ Penaikan Misal ++z
7. - Penurunan Misal - -y
OPERATOR RELASI
1. = , sama dengan
2. < > , tidak sama
3. >, lebih besar
4. < , lebih kecil 5.>= , lebih besar dari atau sama dengan
6. < = , lebih kecil dari atau sama dengan
OPERATOR LOGIKA
Operator logika digunakan untuk menghubungkan 2 buah Ungkapan kondisi menjadi 1 buah ungkapan kondisi.
1. AND , dan
2. OR , atau
3. NOT , tidak
PENCABANGAN
Dalam membuat program biasanya proses dilakukan dengan Berurutan,yaitu dari baris yang di atas sampai baris yang dibawah. Dengan menggunakan proses pencabangan sebuah program dapat Kita kendalikan sesuai keperluan. Jadi enggak harus sesuai urutan baris yang ada, karena dengan Menggunakan proses pencabangan baris dapat dilewati.
Pencabangan dapat di lakukan dengan beberapa cara yaitu :
Code:
a. If kondisi then
statement
End if
b. If kondisi then
Statement 1
Else
Statement 2
End if
c. If kondisi 1 then
Statement 1
ElseIf kondisi 2 then
Statement 2
End if
d. Select Case Kondisi
Case kondisi 1 : Statement 1
Case kondisi 2 : Statement 2
Case kondisi 3 : Statement 3
End Select
PENGULANGAN
Untuk menghindari penulisan yang sama secara berulang kali, Visual Basic mempunyai perintah / statement pengulangan.
Pengulangan dalam Visual Basic menggunakan perintah :
Code:
a. Do While Ungkapan
Pernyataan – pernyataan ;
Loop
b. Do Until Ungkapan
Pernyataan – pernyataan ;
Loop
c. For Variable = Nilai Awal To Nilai akhir
Pernyataan – pernyataan ;
Next Variable
FUNGSI-FUNGSI VISUAL BASIC
Fungsi merupakan Sub Program atao bagian programYang dapat dipanggil berulang kali.Fungsi dapat menerima Suatu Nilai atau mengembalikan suatu Nilai, Fungsi dalam Visual Basic, seperti ini :
Fungsi Numerik
Fungsi numerik berguna buat tipe data Numerik.
a. Abs(Angka) Menghasilkan nilai mutlak
b. Atn(Angka) Cari Nilai Arc Tangen
c. Cos(Angka) Cari Nilai Cosinus
d. Exp(Angka) Cari Nilai Logaritma
e. Int(Angka) Mengambil Bilangan Bulat
f. Len(Kata/Kalimat) Hitung panjang Karakter
g. Round(Digit didepan Membulatkan Nilai Desimal Dan Di belakang koma)
h. Sin(Angka) Cari nilai Sinus
i. Sqr(Angka) Cari nilai Akar Kuadrat
j. Tan(Angka) Cari nilai Tangen
Fungsi String
a. Asc(Karakter) Rubah Karakter jadi Kode ASCII
b. Chr(Angka) Rubah Kode ASCII jadi Karakter
c. Lcase(Karakter) Rubah Huruf Besar jadi Huruf Kecil
d. Ucase(Karakter) Rubah Huruf Kecil jadi Huruf Besar
e. Len(Kata/Kalimat) Hitung panjang Karakter
f. Left(Karakter,Jumlah) Ambil sebagian Karakter dari Kiri
g. Right(Karakter,Jumlah) Ambil sebagian Karakter dari Kanan
h. Mid(Karakter,Posisi, Ambil sebagian Karakter dari Tengah Jumlah)
i. Ltrim(Karakter) Hilangkan Spasi di Kiri Kata/Kalimat
j. Rtrim(Karakter) Hilangkan Spasi di Kanan Kata/Kalimat
k. Str(Angka) Rubah Nilai Numerik jadi String
l. StrReverse(Kata/Kalimat) Membalikan Urutan Kata / Kalimat
Fungsi Tanggal dan Jam
a. Date Ambil tanggal dari komputer
b. Time Ambil waktu dari komputer
c. Now Ambil tanggal,waktu dari komputer
d. DateSerial(Tahun, Rubah Nilai Numerik jadi Tanggal Bulan,Tanggal)
e. TimeSerial(Jam, Rubah Nilai Numerik jadi Waktu Menit,Detik)
f. DateIff(Interval, Membandingkan 2 buah Tanggal1,Tanggal2)
g. Datepart(Interval, Ambil Tanggal,Bulan atao Tahun Tanggal) dari Tanggal.
Interval
a. H Jam
b. D Tanggal
c. M Bulan
d. N Menit
e. S Detik
f. Y Hari dalam Tahun
g. W Hari dalam Minggu
h. YYYY Tahun
Fungsi MsgBox
MsgBox di gunakan untuk menampilkan pesan yang menunggu Jawaban dari pemakai (User). Dapat berupa Peringatan, Informasi, Pertanyaan dll.
Sintax dari MsgBox,seperti ini :
Code:
Variable Numerik = MsgBox(“Pesan”[ , Tombol, Icon, Judul])
b. D Tanggal
c. M Bulan
d. N Menit
e. S Detik
f. Y Hari dalam Tahun
g. W Hari dalam Minggu
h. YYYY Tahun
Fungsi MsgBox
MsgBox di gunakan untuk menampilkan pesan yang menunggu Jawaban dari pemakai (User). Dapat berupa Peringatan, Informasi, Pertanyaan dll.
Sintax dari MsgBox,seperti ini :
Code:
Variable Numerik = MsgBox(“Pesan”[ , Tombol, Icon, Judul])
IDE Visual Basic
Kali ini saya akan bercerita tentang Visual Basic. Ada apa sich dengan Visual Basic??
Gosipnya nich…Visual Basic itu sering digandrungi sama para programmer. Dan menurut hasil penelitian saya, sebagian besar mahasiswa yang mengambil jurusan Teknik(informatika dan komputer khususnya) menggunakan “alat” ini untuk menyelesaikan Tugas Akhir mereka termasuk saya(hehe..)
Nah…bagi temen-temen yang belum kenal sama Visual Basic ini dan mungkin ingin mengenalnya, saya akan mencoba menjelaskan sedikit saja.
Visual Basic adalah salah satu tools bahasa pemrograman yang tergabung dalam Visual Studio yang diterbitkan oleh Microsoft.
Gosipnya nich…Visual Basic itu sering digandrungi sama para programmer. Dan menurut hasil penelitian saya, sebagian besar mahasiswa yang mengambil jurusan Teknik(informatika dan komputer khususnya) menggunakan “alat” ini untuk menyelesaikan Tugas Akhir mereka termasuk saya(hehe..)
Nah…bagi temen-temen yang belum kenal sama Visual Basic ini dan mungkin ingin mengenalnya, saya akan mencoba menjelaskan sedikit saja.
Visual Basic adalah salah satu tools bahasa pemrograman yang tergabung dalam Visual Studio yang diterbitkan oleh Microsoft.
Dengan tools ini kita dapat membuat berbagai macam aplikasi. IDE (Integrated Development Environment) adalah bagian Visual Basic yang digunakan untuk menciptakan aplikasi. Untuk lebih jelasnya lihat gambar dibawah ini.
Gambar di atas menunjukkan suatu lingkungan IDE dalam Visual Basic yang terdiri atas beberapa komponen antara lain yaitu: MenuBar, ToolBar, Jendela TooBox, Jendela Form Designer, Jendela Kode Editor, Jendela Project, Jendela Propertis dan Jendela Form Layout. Berikut keterangan tentang komponen-komponen IDE Visual Basic.
MenuBar
Dapat membantu kita dalam memilih tugas-tugas tertentu pada Visual basic seperti memulai,membuka file,menyimpan atau menutup suatu aplikasi.
ToolBar
Fungsinya tidak jauh berbeda dengan MenuBar hanya saja penggunaan ToolBar lebih praktis karena kita tinggal meng-klik salah satu ikon untuk memberikan perintah pada Visual Basic sama halnya dengan ToolBar dalam Ms.Word dan lain sejenisnya.
Jendela ToolBox
Jendela ToolBox berisi komponen yang dapat kita gunakan dalam mendesain interface sebuah aplikasi. Terdapat banyak pilihan komponen dalam jendela ToolBox ini diantaranya: Label, CommandButton, TextBox, CheckBox, ComboBox, ListBox, Timer, Image, Shape, Line, dan masih banyak lagi dengan kegunaan masing-masing.
Jendela Form Designer
Jendela ini ibarat kertas gambar dimana kita dapat merancang atau mendesain sebuah tampilan yang menarik untuk aplikasi yang akan dibangun dengan menggunakan komponen-komponen yang terdapat pada jendela ToolBox.
Jendela Kode Editor
Secara umum digunakan untuk menuliskan kode program dalam pembuatan sebuah aplikasi.
Jendela Project
Digunakan untuk melihat control yang ada didalam form secara hierarki seperti Windows Explorer
Jendela Properties
Digunakan untuk memanipulasi control yang sudah ada dalam form seperti mengubah warna control yang terdapat didalam form, merubah ukuran dan masih banyak lagi. Pada jendela Properties terdapat dua halaman yaitu Alphabetic(menampilkan properties secara alphabetic) dan Categorized(menampilkan properties menurut kategorinya)
Jendela Form Layout
Untuk menampilkan tata letak(layout) form pada projek.
Oke teman-teman saya rasa cerita di atas cukup untuk mengenalkan teman-teman dengan Visual basic. Bagi teman-teman yang ingin bertanya atau menambahkan, silahkan berikan pada kolom komentar.
Terimakasih.
Gambar di atas menunjukkan suatu lingkungan IDE dalam Visual Basic yang terdiri atas beberapa komponen antara lain yaitu: MenuBar, ToolBar, Jendela TooBox, Jendela Form Designer, Jendela Kode Editor, Jendela Project, Jendela Propertis dan Jendela Form Layout. Berikut keterangan tentang komponen-komponen IDE Visual Basic.
MenuBar
Dapat membantu kita dalam memilih tugas-tugas tertentu pada Visual basic seperti memulai,membuka file,menyimpan atau menutup suatu aplikasi.
ToolBar
Fungsinya tidak jauh berbeda dengan MenuBar hanya saja penggunaan ToolBar lebih praktis karena kita tinggal meng-klik salah satu ikon untuk memberikan perintah pada Visual Basic sama halnya dengan ToolBar dalam Ms.Word dan lain sejenisnya.
Jendela ToolBox
Jendela ToolBox berisi komponen yang dapat kita gunakan dalam mendesain interface sebuah aplikasi. Terdapat banyak pilihan komponen dalam jendela ToolBox ini diantaranya: Label, CommandButton, TextBox, CheckBox, ComboBox, ListBox, Timer, Image, Shape, Line, dan masih banyak lagi dengan kegunaan masing-masing.
Jendela Form Designer
Jendela ini ibarat kertas gambar dimana kita dapat merancang atau mendesain sebuah tampilan yang menarik untuk aplikasi yang akan dibangun dengan menggunakan komponen-komponen yang terdapat pada jendela ToolBox.
Jendela Kode Editor
Secara umum digunakan untuk menuliskan kode program dalam pembuatan sebuah aplikasi.
Jendela Project
Digunakan untuk melihat control yang ada didalam form secara hierarki seperti Windows Explorer
Jendela Properties
Digunakan untuk memanipulasi control yang sudah ada dalam form seperti mengubah warna control yang terdapat didalam form, merubah ukuran dan masih banyak lagi. Pada jendela Properties terdapat dua halaman yaitu Alphabetic(menampilkan properties secara alphabetic) dan Categorized(menampilkan properties menurut kategorinya)
Jendela Form Layout
Untuk menampilkan tata letak(layout) form pada projek.
Oke teman-teman saya rasa cerita di atas cukup untuk mengenalkan teman-teman dengan Visual basic. Bagi teman-teman yang ingin bertanya atau menambahkan, silahkan berikan pada kolom komentar.
Terimakasih.
Rabu, April 01, 2009
Puasa Membentuk Kecerdasan Ruhaniah
I. PENGERTIAN KECERDASAN RUHANIAH
Selama ini, manusia cenderung lebih menekankan kecerdasan intelektual (IQ), tanpa mempertimbangkan potensi kecerdasan yang lain dan menganggapnya sebagai satu-satunya kecerdasan yang bisa membawa manusia pada kemajuan. Hal ini justru mengakibatkan terjadinya berbagai kerusakan pada kehidupan manusia.
Kecerdasan ruhaniah akan menuntun manusia untuk bertindak dan bertanggung jawab atas apa yang dilakukannya kepada Tuhan, manusia, dan alam sekitarnya. Bila saja manusia memiliki kecerdasan ruhaniah, maka krisis yang terjadi saat ini bisa teratasi. Namun tidak semua manusia bisa menumbuhkan dan mengembangkan kecerdasan ini tanpa disertai niat dan usaha yang sungguh-sungguh. Salah satu upaya yang bisa dilakukan adalah dengan pelaksanaan ibadah puasa.
Kecerdasan ruhaniah atau Transcendental Intelligence (TQ) adalah kecerdasan yang berpusat pada rasa cinta yang mendalam kepada Allah dan seluruh ciptaan-Nya. Atau kemampuan seseorang untuk mendengarkan hati nuraninya atau bisikan kebenaran yang meng-Ilahi dalam cara dirinya mengambil keputusan atau melakukan pilihan-pilihan, berempati, dan beradaptasi.
Kecerdasan ruhaniah merupakan esensi dari seluruh kecerdasan yang ada, karena berada pada nilai-nilai keimanan kepada Ilahi. Salah satu indikator kecerdasan ruhaniah adalah taqwa. Taqwa atau senses of responsibility, mengandung pengertian tidak hanya sekedar sebagai pengetahuan, namun juga merupakan sebuah dorongan untuk menunjukkan bukti tanggung jawab atas apa yang diketahuinya. Allah SWT telah memerintahkan umat manusia untuk bertaqwa sebagaimana tertuang dalam Al-Qur’an surat Al Ma’idah ayat 93.
II. PUASA SEBAGAI SALAH SATU CARA MENUMBUHKAN KECERDASAN RUHANIAH
Sebagaimana terkandung dalam Al-Qur’an surat Al Ma’idah ayat 93, ada kaitan antara taqwa (tanggung jawab), iman (prinsip), dan amal saleh (achievenebts orientation) yang merupakan indikasi kecerdasan ruhaniah.
Untuk mewujudkan rasa taqwa dan meningkatkan iman, maka manusia harus melakukan satu bentuk amal saleh, yaitu perbuatan yang ditujukan semata-mata untuk Allah dan mengandung nilai-nilai kebaikan. Salah satu bentuk amal saleh yang juga merupakan kewajiban umat islam untuk mengerjakannya adalah puasa.
Puasa merupakan bentuk ibadah kepada Allah yang mengandung pesan moral, tidak hanya masuk ke wilayah pribadi yang bersifat individual dan psikologis, namun juga masuk ke wilayah sosial, politik, ekonomi, dan cultural. Dengan berhenti dari makan, minum, dan menahan segala hawa nafsu yang bisa menggugurkan ibadah puasa, akan menghantarkan umat islam pada sebuah bentuk umat yang saleh dan taqwa. Tetapi, puasa tidak menjamin seseorang pasti menjadi saleh dan taqwa. Hal ini dikarenaka, hasil puasa bergantung pada pengertian dan niat orang yang bersangkutan. Jika seseorang dapat memahami tujuan puasa dan mencoba untuk mencapainya, maka orang tersebut akan menjadi saleh dan taqwa.
Seperti telah disebutkan Allah SWT dalam QS Al Baqarah ayat 183 yang artinya “Hai orang-orang yang beriman, diwajibkan atas kamu berpuasa sebagaimana diwajibkan atas orang-orang sebelum kamu agar kamu bertaqwa”.
Puasa termasuk di dalamnya puasa Ramadhan, merupakan pendidikan tingkat tinggi bagi jiwa. Puasa melatih manusia untuk meninggalkan hawa nafsu yang paling kuat yaitu hawa nafsu perut dan hawa nafsu seksual, dengan tujuan mencapai keridhoan Allah SWT. Oleh karena itu, puasa dipandang sebagai tirai dan pelindung bagi orang muslim dari keterjebakan hawa nafsu di atas. Mengenai ibadah puasa ini, Dr. Ali Abdul Mahmud berpendapat bahwa puasa adalah “sekolah” yang lengkap untuk mendidik jiwa, bahkan jiwa dan jasmani sekaligus.
Hal ini dikarenakan, puasa menahan manusia dari segala hawa nafsu (nafsu perut dan seksual), juga menahan penglihatan, pendengaran, lisan, dan semua anggota tubuh dari perbuatan yang memurkai Allah SWT, sebagaimana menahan hati dan jiwa dari berbagai problematika dunia.
Pada hakekatnya, puasa sebagai sarana bagi manusia untuk membentuk dua hubungan, yaitu hubungan dengan Allah SWT (hablun min Allah) dan hubungan dengan manusia (hablun min al-naas). Dikatakan sebagai pembentuk hubungan dengan Allah SWT, karena puasa mengandung tujuan penghambaan seumur hidup kepada Allah SWT. Manusia lahir sebagai hamba Tuhan dan adanya manusia semata-mata untuk beribadah kepada Allah SWT, sebagaimana dalam QS Adz Dzariyat ayat 56 yang artinya “Dan tidaklah Aku (Allah) ciptakan jin dan manusia melainkan untuk beribadah kepada-Ku”.
Adapun sebagai pembentuk hubungan dengan manusia, karena dengan berpuasa manusia dapat merasakan penderitaan kelaparan orang-orang yang miskin. Sehingga dalam diri orang yang berpuasa, tumbuh solidaritas sosial yang tinggi untuk membantu saudaranya yang lain yang menderita kekurangan. Dengan puasa, seseorang dilatih untuk mengontrol dirinya atau dengan kata lain sebagai latihan kesabaran. Kesabaran inilah yang pada akhirnya bisa digunakan untuk menyelesaikan setiap permasalahan yang muncul dengan hati dan pikiran yang tenang, tanpa tercampur dengan sifat emosi seperti yang terjadi saat ini.
Bagaimanapun juga, puasa merupakan sarana untuk membersihkan hati. Sedangkan hati adalah pusat dari kecerdasan ruhaniah yang perlu mendapatkan pendidikan ruhani. Karena dengan hati, Allah ingin memanusiakan manusia, memulyakannya dari segala makhluk ciptaan-Nya dan karena hati pula, manusia membinatangkan dirinya. Terhinpunnya perasaan moral dalam hati manusia, akan mendorong manusia untuk menampilkan bentuk tindakan yang berorientasi pada prestasi (achievement orientation ; amal saleh), sehingga tumbuhlah kecerdasan ruhaniah yang paling awal yaitu kesadaran untuk bertanggung jawab.
Pada akhirnya, ibadah puasa sebagai bentuk pendidikan ruhani yang bertujuan membentuk kecerdasan ruhaniah, akan memberikan pengaruh kepada diri manusia :
pertama, membersihkan dan menjernihkan jiwa seseorang dari sifat skeptisisme, negativisme, dan sikap menyerah.
kedua, membiasakan seseorang mencintai kebaikan dan memprioritaskan kebenaran karena jiwanya telah bertautan dengan Allah SWT.
ketiga, menjadikan seseorang berpegang teguh pada metode yang telah dipilih Allah SWT sebagai agama untuk seluruh manusia.
keempat, mendorong manusia untuk saling mencintai dan berkasih saying dengan sesamanya.
kelima, merupakan sarana bagi seseorang untuk memperoleh taufiq dalam segala perilakunya, baik perkataan maupun perbuatan.
keenam, mengajar seseorang agar tidak melakukan kesalahan dan tidak melanggar ketentuan islam, baik berupa hukum, syariat maupun etika.
ketujuh, membiasakan ruhani seseorang untuk mencintai kebaikan dan membenci keburukan, sehingga selalu siap melakukan amar ma’ruf nahi munkar.
III. TANGGAPAN DAN KESIMPULAN
Pada kehidupan sekarang ini, manusia tidak hanya memiliki kecerdasan intelektual (IQ), akan tetapi juga harus memiliki kecerdasan ruhaniah atau Transcendental Intelligence (TQ).
Salah satu cara untuk mencerdaskan ruhaniah adalah dengan cara berbuat kebaikan dan beramal saleh, salah satunya adalah berpuasa, tentu saja puasa dengan ikhlas semata-mata hanya karena Allah SWT. Karena dengan berpuasa seseorang dapat melatih untuk mengendalikan diri dari hawa nafsu, melatih kesabaran, menumbuhkan solidaritas sosial yang tinggi dan dapat membersihkan hati.
Puasa merupakan pendidikan ruhaniah yang bertujuan untuk membentuk kecerdasan ruhaniah yang dapat mempengaruhi kehidupan manusia, yaitu :
Dapat membersihkan jiwa.
Dapat membiasakan mencintai kebaikan.
Dapat menjadikan manusia berpegang teguh pada agama Allah.
Mendorong manusia mencintai sesama.
Sebagai sarana untuk memperoleh taufiq.
Mengajarkan untuk menjauhi larangan Allah.
Dapat menumbuhkan sikap amar ma’ruf nahi munkar.
Sebagai penutup, dapatlah kita simpulkan bahwa kecerdasan ruhaniah yang dicapai melalui puasa, bertumpu pada ajaran cinta (mahabbah) yang akan melahirkan sebuah kepedulian yang sangat kuat terhadap moral dan kemanusiaan. Orang yang memiliki kecerdasan ruhaniah akan senantiasa tampil sebagai sosok yang penuh moral cinta dan kasih sayang, mencintai dan ingin dicintai karena Allah SWT. Dengan pemilikan dan penguasaan kecerdasan ruhaniah inilah, maka krisis multidimensi termasuk krisis moral dapat teratasi. Dengan kata lain bahwa dengan puasa dapat membentuk pribadi manusia yang bertanggung jawab, penuh cinta kasih, berjiwa sosial, dan penuh taqqorub dan tawadu’ kepada Allah SWT.
Dipetik dari:
Risalah Jum’at, Edisi 36/XI, 10 Ramadhan 1423 H / 15 Nopember 2002 M.
Selama ini, manusia cenderung lebih menekankan kecerdasan intelektual (IQ), tanpa mempertimbangkan potensi kecerdasan yang lain dan menganggapnya sebagai satu-satunya kecerdasan yang bisa membawa manusia pada kemajuan. Hal ini justru mengakibatkan terjadinya berbagai kerusakan pada kehidupan manusia.
Kecerdasan ruhaniah akan menuntun manusia untuk bertindak dan bertanggung jawab atas apa yang dilakukannya kepada Tuhan, manusia, dan alam sekitarnya. Bila saja manusia memiliki kecerdasan ruhaniah, maka krisis yang terjadi saat ini bisa teratasi. Namun tidak semua manusia bisa menumbuhkan dan mengembangkan kecerdasan ini tanpa disertai niat dan usaha yang sungguh-sungguh. Salah satu upaya yang bisa dilakukan adalah dengan pelaksanaan ibadah puasa.
Kecerdasan ruhaniah atau Transcendental Intelligence (TQ) adalah kecerdasan yang berpusat pada rasa cinta yang mendalam kepada Allah dan seluruh ciptaan-Nya. Atau kemampuan seseorang untuk mendengarkan hati nuraninya atau bisikan kebenaran yang meng-Ilahi dalam cara dirinya mengambil keputusan atau melakukan pilihan-pilihan, berempati, dan beradaptasi.
Kecerdasan ruhaniah merupakan esensi dari seluruh kecerdasan yang ada, karena berada pada nilai-nilai keimanan kepada Ilahi. Salah satu indikator kecerdasan ruhaniah adalah taqwa. Taqwa atau senses of responsibility, mengandung pengertian tidak hanya sekedar sebagai pengetahuan, namun juga merupakan sebuah dorongan untuk menunjukkan bukti tanggung jawab atas apa yang diketahuinya. Allah SWT telah memerintahkan umat manusia untuk bertaqwa sebagaimana tertuang dalam Al-Qur’an surat Al Ma’idah ayat 93.
II. PUASA SEBAGAI SALAH SATU CARA MENUMBUHKAN KECERDASAN RUHANIAH
Sebagaimana terkandung dalam Al-Qur’an surat Al Ma’idah ayat 93, ada kaitan antara taqwa (tanggung jawab), iman (prinsip), dan amal saleh (achievenebts orientation) yang merupakan indikasi kecerdasan ruhaniah.
Untuk mewujudkan rasa taqwa dan meningkatkan iman, maka manusia harus melakukan satu bentuk amal saleh, yaitu perbuatan yang ditujukan semata-mata untuk Allah dan mengandung nilai-nilai kebaikan. Salah satu bentuk amal saleh yang juga merupakan kewajiban umat islam untuk mengerjakannya adalah puasa.
Puasa merupakan bentuk ibadah kepada Allah yang mengandung pesan moral, tidak hanya masuk ke wilayah pribadi yang bersifat individual dan psikologis, namun juga masuk ke wilayah sosial, politik, ekonomi, dan cultural. Dengan berhenti dari makan, minum, dan menahan segala hawa nafsu yang bisa menggugurkan ibadah puasa, akan menghantarkan umat islam pada sebuah bentuk umat yang saleh dan taqwa. Tetapi, puasa tidak menjamin seseorang pasti menjadi saleh dan taqwa. Hal ini dikarenaka, hasil puasa bergantung pada pengertian dan niat orang yang bersangkutan. Jika seseorang dapat memahami tujuan puasa dan mencoba untuk mencapainya, maka orang tersebut akan menjadi saleh dan taqwa.
Seperti telah disebutkan Allah SWT dalam QS Al Baqarah ayat 183 yang artinya “Hai orang-orang yang beriman, diwajibkan atas kamu berpuasa sebagaimana diwajibkan atas orang-orang sebelum kamu agar kamu bertaqwa”.
Puasa termasuk di dalamnya puasa Ramadhan, merupakan pendidikan tingkat tinggi bagi jiwa. Puasa melatih manusia untuk meninggalkan hawa nafsu yang paling kuat yaitu hawa nafsu perut dan hawa nafsu seksual, dengan tujuan mencapai keridhoan Allah SWT. Oleh karena itu, puasa dipandang sebagai tirai dan pelindung bagi orang muslim dari keterjebakan hawa nafsu di atas. Mengenai ibadah puasa ini, Dr. Ali Abdul Mahmud berpendapat bahwa puasa adalah “sekolah” yang lengkap untuk mendidik jiwa, bahkan jiwa dan jasmani sekaligus.
Hal ini dikarenakan, puasa menahan manusia dari segala hawa nafsu (nafsu perut dan seksual), juga menahan penglihatan, pendengaran, lisan, dan semua anggota tubuh dari perbuatan yang memurkai Allah SWT, sebagaimana menahan hati dan jiwa dari berbagai problematika dunia.
Pada hakekatnya, puasa sebagai sarana bagi manusia untuk membentuk dua hubungan, yaitu hubungan dengan Allah SWT (hablun min Allah) dan hubungan dengan manusia (hablun min al-naas). Dikatakan sebagai pembentuk hubungan dengan Allah SWT, karena puasa mengandung tujuan penghambaan seumur hidup kepada Allah SWT. Manusia lahir sebagai hamba Tuhan dan adanya manusia semata-mata untuk beribadah kepada Allah SWT, sebagaimana dalam QS Adz Dzariyat ayat 56 yang artinya “Dan tidaklah Aku (Allah) ciptakan jin dan manusia melainkan untuk beribadah kepada-Ku”.
Adapun sebagai pembentuk hubungan dengan manusia, karena dengan berpuasa manusia dapat merasakan penderitaan kelaparan orang-orang yang miskin. Sehingga dalam diri orang yang berpuasa, tumbuh solidaritas sosial yang tinggi untuk membantu saudaranya yang lain yang menderita kekurangan. Dengan puasa, seseorang dilatih untuk mengontrol dirinya atau dengan kata lain sebagai latihan kesabaran. Kesabaran inilah yang pada akhirnya bisa digunakan untuk menyelesaikan setiap permasalahan yang muncul dengan hati dan pikiran yang tenang, tanpa tercampur dengan sifat emosi seperti yang terjadi saat ini.
Bagaimanapun juga, puasa merupakan sarana untuk membersihkan hati. Sedangkan hati adalah pusat dari kecerdasan ruhaniah yang perlu mendapatkan pendidikan ruhani. Karena dengan hati, Allah ingin memanusiakan manusia, memulyakannya dari segala makhluk ciptaan-Nya dan karena hati pula, manusia membinatangkan dirinya. Terhinpunnya perasaan moral dalam hati manusia, akan mendorong manusia untuk menampilkan bentuk tindakan yang berorientasi pada prestasi (achievement orientation ; amal saleh), sehingga tumbuhlah kecerdasan ruhaniah yang paling awal yaitu kesadaran untuk bertanggung jawab.
Pada akhirnya, ibadah puasa sebagai bentuk pendidikan ruhani yang bertujuan membentuk kecerdasan ruhaniah, akan memberikan pengaruh kepada diri manusia :
pertama, membersihkan dan menjernihkan jiwa seseorang dari sifat skeptisisme, negativisme, dan sikap menyerah.
kedua, membiasakan seseorang mencintai kebaikan dan memprioritaskan kebenaran karena jiwanya telah bertautan dengan Allah SWT.
ketiga, menjadikan seseorang berpegang teguh pada metode yang telah dipilih Allah SWT sebagai agama untuk seluruh manusia.
keempat, mendorong manusia untuk saling mencintai dan berkasih saying dengan sesamanya.
kelima, merupakan sarana bagi seseorang untuk memperoleh taufiq dalam segala perilakunya, baik perkataan maupun perbuatan.
keenam, mengajar seseorang agar tidak melakukan kesalahan dan tidak melanggar ketentuan islam, baik berupa hukum, syariat maupun etika.
ketujuh, membiasakan ruhani seseorang untuk mencintai kebaikan dan membenci keburukan, sehingga selalu siap melakukan amar ma’ruf nahi munkar.
III. TANGGAPAN DAN KESIMPULAN
Pada kehidupan sekarang ini, manusia tidak hanya memiliki kecerdasan intelektual (IQ), akan tetapi juga harus memiliki kecerdasan ruhaniah atau Transcendental Intelligence (TQ).
Salah satu cara untuk mencerdaskan ruhaniah adalah dengan cara berbuat kebaikan dan beramal saleh, salah satunya adalah berpuasa, tentu saja puasa dengan ikhlas semata-mata hanya karena Allah SWT. Karena dengan berpuasa seseorang dapat melatih untuk mengendalikan diri dari hawa nafsu, melatih kesabaran, menumbuhkan solidaritas sosial yang tinggi dan dapat membersihkan hati.
Puasa merupakan pendidikan ruhaniah yang bertujuan untuk membentuk kecerdasan ruhaniah yang dapat mempengaruhi kehidupan manusia, yaitu :
Dapat membersihkan jiwa.
Dapat membiasakan mencintai kebaikan.
Dapat menjadikan manusia berpegang teguh pada agama Allah.
Mendorong manusia mencintai sesama.
Sebagai sarana untuk memperoleh taufiq.
Mengajarkan untuk menjauhi larangan Allah.
Dapat menumbuhkan sikap amar ma’ruf nahi munkar.
Sebagai penutup, dapatlah kita simpulkan bahwa kecerdasan ruhaniah yang dicapai melalui puasa, bertumpu pada ajaran cinta (mahabbah) yang akan melahirkan sebuah kepedulian yang sangat kuat terhadap moral dan kemanusiaan. Orang yang memiliki kecerdasan ruhaniah akan senantiasa tampil sebagai sosok yang penuh moral cinta dan kasih sayang, mencintai dan ingin dicintai karena Allah SWT. Dengan pemilikan dan penguasaan kecerdasan ruhaniah inilah, maka krisis multidimensi termasuk krisis moral dapat teratasi. Dengan kata lain bahwa dengan puasa dapat membentuk pribadi manusia yang bertanggung jawab, penuh cinta kasih, berjiwa sosial, dan penuh taqqorub dan tawadu’ kepada Allah SWT.
Dipetik dari:
Risalah Jum’at, Edisi 36/XI, 10 Ramadhan 1423 H / 15 Nopember 2002 M.
Ketika
Ketika angin bertiup di pucuk-pucuk daun kenari
Pagi berseri tlah kujumpai
Siang hari yang sepi
Sore hari yang mencekam di hati
Kuingin jauh di seberang sana
Ada orang yang sudi berbagi
Antara tangis dan tawa
Pagi berseri tlah kujumpai
Siang hari yang sepi
Sore hari yang mencekam di hati
Kuingin jauh di seberang sana
Ada orang yang sudi berbagi
Antara tangis dan tawa
Menyalakan LED menggunakan tombol
Pada percobaan kali ini kita akan membuat aplikasi pengendalian 8 buah LED yang terhubung pada Port 1 (aktif low) AT89S51 dengan 3 buah tombol pada P3.0 – P3.2 (aktif low). dimana tiap tombol yang ditekan akan memberikan nyala LED yang berbeda-beda.
Berikut programnya:
Org 0h
nop
Mulai: MOV A,P3
CEK: CJNE A,#0FEH,CEK1 ;cek tombol1 (P3.0)
CALL LED_kanan_kiri
SJMP MULAI
CEK1: CJNE A,#0FDH,CEK2 ;cek tombol2 (P3.1)
CALL LED_jalan_dua
SJMP MULAI
CEK2: CJNE A,#0FBH,MULAI ;cek tombol3 (P3.2)
CALL LED_jalan_satu_satu
SJMP MULAI
LED_kanan_kiri:
clr P1.3
clr P1.4
call delay
clr P1.2
clr P1.5
call delay
clr P1.1
clr P1.6
call delay
clr P1.0
clr P1.7
call delay
call delay
call delay
setb P1.0
setb P1.7
call delay
setb P1.1
setb P1.6
call delay
setb P1.2
setb P1.5
call delay
setb P1.3
setb P1.4
call delay
call delay
mov R5,#2
ret
LED_jalan_dua:
Mov R2,#6
Mov A,#11111100B ; Masukkan data 111111100B ke Accumulator
loop1: Mov P1,A ; keluarkan isi Accumulator ke Port 1
RL A ; panggil sub routine Delay
call Delay ; Rotate Accumulator left
DJNZ R2,loop1 ; --<- b7-b6-b5-b4-b3-b2-b1-b0 <-----
MOV R2,#6 ; |-------------->-------------------|
loop2: Mov P1,A ; keluarkan isi Accumulator ke Port 1
RR A
call Delay
DJNZ R2,loop2
djnz R5,LED_jalan_dua
MOV A,#0FFH
MOV P1,A
ret
LED_jalan_satu_satu:
mov dptr,#LED_satu
mov R4,#36
next1: clr A
Movc A,@A+DPTR
cpl A
Mov P1,A
inc dptr
call Delay
djnz R4,next1
call delay
call delay
call delay
mov dptr,#LED_satu
mov R4,#36
next2: mov A,R4
Movc A,@A+DPTR
cpl A
Mov P1,A
call Delay
djnz R4,next2
mov P1,#0FFh
call delay
call delay
call delay
MOV R5,#2
ret
;---------------------------------
; sub routine delay
;---------------------------------
Delay: DJNZ R3,delay ; R3=R3-1 bila <> 0 ke label delay
Djnz R1,Delay ; R1=R1-1 bila <> 0 ke label delay
Ret ; Kembali ke alamat setelah perintah
; 'call Delay'
;-----------------------------------------------------
LED_SATU:
DB 01h,02H,04H,08H,10H,20H,40H,80H
DB 81h,82h,84h,88h,90h,0B0h,0C0h
DB 0C1h,0C2h,0C4h,0C8h,0D0h,0E0h
DB 0E1h,0E2h,0E4h,0E8h,0F0h
DB 0F1h,0F2h,0F4h,0F8h
DB 0F9h,0FBh,0FCh
DB 0FDH,0FEh
DB 0FFh
End
Selamat Mencoba!
Berikut programnya:
Org 0h
nop
Mulai: MOV A,P3
CEK: CJNE A,#0FEH,CEK1 ;cek tombol1 (P3.0)
CALL LED_kanan_kiri
SJMP MULAI
CEK1: CJNE A,#0FDH,CEK2 ;cek tombol2 (P3.1)
CALL LED_jalan_dua
SJMP MULAI
CEK2: CJNE A,#0FBH,MULAI ;cek tombol3 (P3.2)
CALL LED_jalan_satu_satu
SJMP MULAI
LED_kanan_kiri:
clr P1.3
clr P1.4
call delay
clr P1.2
clr P1.5
call delay
clr P1.1
clr P1.6
call delay
clr P1.0
clr P1.7
call delay
call delay
call delay
setb P1.0
setb P1.7
call delay
setb P1.1
setb P1.6
call delay
setb P1.2
setb P1.5
call delay
setb P1.3
setb P1.4
call delay
call delay
mov R5,#2
ret
LED_jalan_dua:
Mov R2,#6
Mov A,#11111100B ; Masukkan data 111111100B ke Accumulator
loop1: Mov P1,A ; keluarkan isi Accumulator ke Port 1
RL A ; panggil sub routine Delay
call Delay ; Rotate Accumulator left
DJNZ R2,loop1 ; --<- b7-b6-b5-b4-b3-b2-b1-b0 <-----
MOV R2,#6 ; |-------------->-------------------|
loop2: Mov P1,A ; keluarkan isi Accumulator ke Port 1
RR A
call Delay
DJNZ R2,loop2
djnz R5,LED_jalan_dua
MOV A,#0FFH
MOV P1,A
ret
LED_jalan_satu_satu:
mov dptr,#LED_satu
mov R4,#36
next1: clr A
Movc A,@A+DPTR
cpl A
Mov P1,A
inc dptr
call Delay
djnz R4,next1
call delay
call delay
call delay
mov dptr,#LED_satu
mov R4,#36
next2: mov A,R4
Movc A,@A+DPTR
cpl A
Mov P1,A
call Delay
djnz R4,next2
mov P1,#0FFh
call delay
call delay
call delay
MOV R5,#2
ret
;---------------------------------
; sub routine delay
;---------------------------------
Delay: DJNZ R3,delay ; R3=R3-1 bila <> 0 ke label delay
Djnz R1,Delay ; R1=R1-1 bila <> 0 ke label delay
Ret ; Kembali ke alamat setelah perintah
; 'call Delay'
;-----------------------------------------------------
LED_SATU:
DB 01h,02H,04H,08H,10H,20H,40H,80H
DB 81h,82h,84h,88h,90h,0B0h,0C0h
DB 0C1h,0C2h,0C4h,0C8h,0D0h,0E0h
DB 0E1h,0E2h,0E4h,0E8h,0F0h
DB 0F1h,0F2h,0F4h,0F8h
DB 0F9h,0FBh,0FCh
DB 0FDH,0FEh
DB 0FFh
End
Selamat Mencoba!