Aybars Arslan

Console.WriteLine("Hello World");

8051 Assembly Binary Olarak Led Yakma

Merhaba Arkadaşlar bugün 8051 mikrodenetleyici ailesinden at89c51 mikrodenetleyicisi üzerinden binary olarak led yakma örneğini paylaşacağım. Öncelikle proteus aracılığıyla devremizi aşağıdaki şekildeki gibi çiziyoruz.

1

 

Ardından sıra keil programında yazacağımız aşağıdaki asm kodlarına geliyor.

 

	org 100h
	mov p2,#00h       ;hepsi sönük
	mov r0,#00h       ; r0 = 0 degeri
basla:	
	mov p2,r0         ; p2 = r0
	call GECIKME      ; mikrodenetleyicimiz cok hızlı calısacağı için
	                  ; binary olarak yanmayı görmemiz acısından gecikme
					  ; isimli alt programı cagırıyorum.
	inc r0            ; ve r0++ arttırıyorum. r0,#01h binary olarak artacak
	jmp basla		  ; baslaya dallanarak sonsuz döngümü oluşturuyorum.

GECIKME:
 MOV R1,#250
 AGAIN:
 MOV R2,#250
 HERE:
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 NOP
 DJNZ R2,HERE
 DJNZ R1,AGAIN
 RET

end

Keil’de asm kodumuzu derledikten sonra hex çıktısını proteustaki mikrodenetleyicimize gömdükten sonra uygulamamızı çalıştırabiliriz.

çalışırken sıralı olarak soldan başlayarak.
1000 0000 = 1
0100 0000 = 2
1100 0000 = 3
0010 0000 = 4
1010 0000 = 5
0110 0000 = 6
1110 0000 = 7….

olarak ledlerimiz yanacaktır. İyi çalışmalar dilerim.

kodla kalın..

Paylaş !

, ,

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir