Searching

Belum menemukan yang Anda cari, mungkin kata kunci Anda kurang tepat atau masih salah. Coba masukkan lagi kata kunci Anda yang baru pada fasilitas searching di Blog ini untuk lebih lengkap, search in database this blog :

Perhatian

Untuk tampilan gambar yang lebih jelas, Anda dapat klik langsung pada gambar yang ada. Selamat menjelajah !
More Read :

Saturday, February 24, 2007

3.3. Running LED


Gambar 3.5. Rangkaian interface 8 x LED


;Percobaaan 3.3.1,Listing Program Interface 8 x LED

;pada listing berikut ini anda akan melihat empat buah LED yang menyala secara

;bergantian high byte terlebih dahulu kemudian akan disusul oleh low byte

;frekuensi pergantian ini dapat anda atur melalui subrutine delay

;LED Flip-Flop

Org 0h

Nop

Start: Mov P1,# 00001111b; mengeluarkan data 00001111b ke P0

Acall delay ; memanggil subrutine delay

Mov P1,#11110000b; mengeluarkan data 11110000b ke P0

Acall delay ; memanggil subrutine delay

Sjmp Start ; meloncat ke label start->Looping Forever

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

;Subrutin Delay

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

Delay: Mov R0,#0FFh ; isi register R0 dengan 5

Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh

Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh

DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini

DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0

Ret ; tidak nol

end



;Percobaan 3.3.2, Interface 8 X LED

;Rencanakan program untuk RUNNING LED dari kiri ke kanan atau sebaliknya

;dengan mengeluarkan logika '0' secara bergantian pada port P0, mulai port P0.0

;sampai dengan P0.7 dan seterusnya

;Percobaan 3.3.3, Interface 8 X LED, RUNNING LED dengan mnemonic RL

;Listing program berikut merupakan contoh menghidupkan LED secara bergantian

;dari arah kiri

;Instruksi RL akan menggeser data pada akumulator ke kiri sebanyak 1 bit

Org 0h

Mov A, #11111110b

Start:

Mov P1,A

Acall delay ; memanggil subrutine delay

RL A

Sjmp Start ; meloncat ke label start->Looping Forever

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

;Subrutin Delay

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

Delay: Mov R0,#0FFh ; isi register R0 dengan 5

Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh

Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh

DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini

DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0

Ret ; tidak nol

end



;Percobaan 3.3.4, Interface 8 X LED

;Rencanakan program untuk RUNNING LED dengan mnemonic RR

;untuk menjalankan LED bergantian dari arah kanan


;Percobaan 3.3.5, Interface 8 X LED

;Menghidupkan LED secara bergantian dari kiri ke kanan dan kembali ke kiri

;pada listing program berikut, LED akan bergeser ke kiri sampai pada bit 7

;setelah itu LED akan segera bergeser ke kanan sampai pada bit 0

;pada listing program ini, digunakan CJNE untuk mendeteksi apakah logika '0'

;sudah pada bit 7 atau bit 0 dan pergerakan LED ini diatur oleh delay

Org 0h

Nop

Mov A, #11111110b ; isi accumulator dengan data 11111110b

Start: Mov P1,A ; copy isi accumulator ke port P1

Acall delay ; memanggil subrutine delay

RL A ; putar isi accumulator ke kiri

CJNE A,#01111111b,Start ; bandingkan A dengan 01111111b bila tidak sama

; lompat ke label Start

Again: Mov P1,A ; copy isi accumulator ke Port P1

Acall delay ; memanggil subrutine delay

RR A ; putar isi accumulator ke kiri

CJNE A,#11111110b,Again ; bandingkan A dengan 11111110b bila tidak sama

SJMP Start ; meloncat ke label start->Looping Forever

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

;Subrutin Delay

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

Delay: Mov R0,#255 ; isi register R0 dengan 5

Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh

Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh

DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini

DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0

Ret ; tidak nol

end

;Percobaan 3.3.6.

;Bar LED naik turun

;pada listing program berikut ini anda akan menyaksikan sebuah demo LED

;yang menyerupai lampu VU pada sistem audio, yang bergerak naik dan turun

Org 0h
Mulai: Mov A,#01111111B ; Masukkan data 11111111B ke Accumulator
MOV R4,#8
cek1: Mov P1,A ; keluarkan isi Accumulator ke Port 1
CLR C
RRC A ; panggil sub routine Delay
Acall Delay ; Rotate Accumulator left with carry
DJNZ R4,cek1
MOV R4,#8
cek2: SETB C
RLC A
Mov P1,A
Acall Delay
DJNZ R4,cek2
Sjmp mulai
;==============

;Subrutin Delay

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

Delay: Mov R0,#255 ; isi register R0 dengan 255

Delay1:Mov R1,#0FFh ; isi register R1 dengan FFh

Delay2:Mov R2,#0FFh ; isi register R2 dengan FFh

DJNZ R2,$ ; kurangi R2 dengan 1 dan loncat ke baris ini

DJNZ R0,Delay1 ; kurangi R0 dengan 1 dan loncat ke delay1 bila R0

Ret ; tidak nol

end

No comments:

Disclaimer


Blog ini tidak bertanggung jawab atas kesalahan atas program yang Anda download ataupun sesuatu hal yang berhubungan dengan materi-materi yang ada. Terima kasih atas saran dan kritik yang membangun. Non profit blog. Untuk lebih lanjut hub Webmaster di : agencs@yahoo.com


"All Links In This Blog Is Temporary Link"

NO SPAM AND VIOLATED CONTENT

Generated®


Banner IP Browser

Lihat gambar di bawah ini, ingin punya yang seperti ini juga. Anda bisa pasang banner ini di blog Anda atau posting Anda. Bisa deteksi IP Adress, Browser.

Tulis code ini di footer blog kamu atau posting kamu. Copy (CTRL+C) Paste (CTRL+V) at this script.
Coba Deh, Kuueereeen lho ....
 


Creative Commons License
Powered by Blogger | Created and Maintained by Generated
Blogger Beta Template by GeckoandFly and Blogcrowds | Design by Andreas Viklund
This workis licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Malaysia License.
Best viewed in Firefox 1.5+ at 1024x768 or higher resolution
Copyright 2007 Content by BIZON network
Hosting Reseller Reviews cydots.com - Free Domains!