16f877 acil yardım lütfen..

KONDANS

Üye
Katılım
12 Eki 2008
Mesajlar
47
Puanları
1
Yaş
40
:(merhaba arkadaşlar hocamız 16f877 ile bir soru sordu ben mantını anlıyamadım bana yardımcı olursanız çok sevinirim.
soru şöyle,pıc 16f877 nin RAMın 20h ve 39h adresleri arasına 0 dan 15 kadar sayıları yazan sonra bu sayıları toplayıp sonucu 40h adresine yazan ASM programını yazınız.
yardımlarınız için şimdiden teşekkürler
 
Klasik her hocanın sorduğu dolaylı adresleme sorusu:

Eğer pic öğrenme niyetiniz varsa Dolaylı adresleme önemli bir konudur , öğrenmeniz gerekir , yok ben sadece dersten geçeyim yeter derseniz buyrun kodların bir kısımı :

Ram'de 0x20h adresinden 0x39h adresine kadar byte'lara 0'dan 25' kadar sayıları yazan program :

Kod:
		clrf		sayac
		movlw		0x20		
		movwf		[B]FSR[/B]

AAA		movf		sayac,w		; w = sayac
 		movwf		[B]INDF[/B]            ; adres(n)=w
		incf		sayac		; sayac = sayac + 1
		incf		[B]FSR[/B]		; adres(n+1)

		movlw		39		; Son adrese gelindi mi?
		subwf		[B]FSR[/B],w
		btfss		STATUS,Z	
		GOTO		AAA

		; burdan sonra toplama işlemi
 
hocam cevabınız için teşekkür ederim pıcı öğrenmek istiyorum ama bu konuya hiç bakmamıştım daha önce bişey daha sorabilirmiyim peki bu sayıların hepsini toplayıp nasıl 40h adresine yazıcam ?
 
hocam bide 16f877 yi ASM olarak programlamayı öğrenebileceğim bi döküman varsa elinizde paylaşırsanız çok sevinirim şimdiden teşekkürler.
 
evet aslında ileri bir konu fakat bir döngü içinde çoklu işlem yapmamızı sağlıyor.
Gördüğünüz gibi Dolayılı Adresleme FSR ve INDF yazmaçları ile yapılıyor. İşlem yapmak istediğimiz yazmacın adresini FSR'nin içine yazdıktan sonra INDF yaptığımız işlem FSR'nin içine yazılmış olan adrese yapılıyor. Daha sonra FSR'i değiştirip tekrar tekrar yapıyoruz. FSR istediğimiz değere gelince döngüden çıkılıyor.

Toplama işlemi de aynen bu şekilde olacak ilk elemanın adresi FSR'ye yüklendikten sonra içeriği W yazmacına alınıp incf FSR ile bir sonraki elemana geçilecek , w sayısı 2. elemanın üstüne eklendikten sonra döngü başına gidilecek , artık kaç kere yapılacaksa.

Nette çok kaynak var ama maalesef derli toplu kaynak hiç yok , olanlar da ingilizce kaynaklar. Birkaç assembly kitabı almanızı öneririm ve nette kaynak için de picproje.org tabiki
 
altaş yayıncılıkta yayınlanan bir kitap var pic programlamaya giriş diye onu tavsiye edebilirim kardeşim kolay gelsin.
 

Forum istatistikleri

Konular
130,065
Mesajlar
932,701
Kullanıcılar
453,050
Son üye
alperen343

Yeni konular

Geri
Üst