Aybars Arslan

Console.WriteLine("Hello World");

8051 Assembly Kara Şimşek

Arkadaşlar bu yazımda kara şimsek olarak bilinen led yakma sistemini anlatacağım.

 

Videoda gördüğümüz sistemin benzeri proteusun isis programında çizdiğimiz devre üzerinde gerçekleştireceğiz. Devremiz aşağıdaki at89c51 mikrodenetleyicisinde her port 8 bit olduğundan dolayı her bite 1 adet led bağladım ve aşağıdaki devreyi oluşturdum.

karasimsek

Sonrasında aşağıdaki asm kodumuzu kullandım.

	ORG 100H
	MOV P0,#0FFH
	MOV P1,#0FFH
BASLA:
    CLR P1.7		; clearladım ve p1.7yi yakıyorum başlangıcta
    SETB C			; carry bitimizi 1 yaptık

SAGAGIT:
	 MOV A,P1		; A = #0FFh
	 CALL GECIKME	; görebilmemiz açısından gecikme cağırdım
	 RRC A 			; road right carry
	 MOV P1,A		; A = p1
	 JNB  P1.0,SOLAGIT  ; p1.0 adresindeki veri 0 ise dallan
						; 1 ise devam et
	 JMP SAGAGIT    ; jnb'ye girmezse sagagit etiketine gitmeye devam
SOLAGIT:
	 MOV A,P1       
	 CALL GECIKME
	 RLC A  		; road left carry
	 MOV P1,A  			
	 JNB  P1.7,SAGAGIT  ; p1.7 adresindeki veri 0 ise dallan
						; 1 ise devam et
	 JMP SOLAGIT

GECIKME:
 MOV R1,#50
 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

kodla kalın..

Paylaş !

, ,

One thought on “8051 Assembly Kara Şimşek

Bir Cevap Yazın

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