Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Microchip Pic Serisi
Yazar Mesaj
Metalzap
Tarih: 03.09.2006, 19:19 Mesaj konusu: Abiler 3 sorum var yardım edebilirmisiniz ?

ortalama yükseltme sınavında çıkan 3 soru var ve ben onları yapamadım :( :( büyük ihtimal sizler bilirsiniz rica etsem bana yardımcı olabilirmisiniz ?Haftaya tekrar sınav var ve buna benzer çıkacak diplomamı almam için bu sınavı geçmem gerek yoksa üniversiteye giremicem... :( :( :cry: :cry:
Neyse abiler sorular şu şekilde :
-------------------------------------------------------------------------------------------------------------------------------------------------
SORU 1-) İndirekt adresleme metodu ile RAM bölgesinin 23h - 58h arasına 00h bilgisini kaydeden programı yazınız
SORU 2-) İç EEPROM bölgesinin 15h nolu adresine 28h bilgisini kaydeden programı yazınız
SORU 3-) PortB'deki analog/dijital çeviriciden gelen bilgiler 00h - 16h arasında ise PortB'deki tüm Ledleri söndüren ,16h - 34h
arasında ise RB0'daki Ledi yakan ,34h 'ın üzerinde ise RB1'deki Ledi yakan programı yazınız
-------------------------------------------------------------------------------------------------------------------------------------------------
Metalzap
Tarih: 05.09.2006, 19:31 Mesaj konusu: ....

sevgili admin bu başlığı silebilirmisin...bi işe yaradığı yok..zaten böle bişey istemem hata çünkü kimse kimseye boş yere ne bilgisin paylaşır nede verir heleki böle bi konuda kimse kise için program yazmaz..sizden istediğim programların tamamını yazmanız değildi programın girişi rutinini yazmanız bile yeterli olurdu (port ayarları haricinde)...Ama tabi ben bi hata yaptım yardım istemekle:(:(
nesye genede teşekkürler başlığa 38 kere bakılmış
saygılar...
gevv
Tarih: 05.09.2006, 20:26 Mesaj konusu:

iyide Metalzap bu sorular kolay cevap verilecek syler degil cogu kişi için bilgisi olanlarda cevap verecektir merak etme daha kacgun olduki konuyu acalı
admin
Tarih: 05.09.2006, 20:31 Mesaj konusu:

Bak daha 4 güğn varmış.
Hem direk cevapları istemediğinide, yol göstermenin yeterli olucağını belirtmişsin
Cevap vericekler çıkar, dursun konu.

Bir de soruda eksikler var, kod hangi işlemci için ve hangi dilde yazılacak?
Metalzap
Tarih: 05.09.2006, 23:14 Mesaj konusu:

abiler kusura bakmayın sert çıktıysam özürdilerim...
PIC16F84 mikroişlemcisi için kodlar Assambler dilinde [asm]
scream
Tarih: 06.09.2006, 10:47 Mesaj konusu: @Metalzap

Öncelikle ilk mesajında eksik bilgi vermişsin ve birazda yapın gibi bir tavır var açıkçası. Ama sonraki mesajında yol gösterseniz bile yeterli diyorsun.

Neyse kaç yıldır piclerle uğraşıyorum ancak 1. sorundaki bir şeye hiç ihtiyacım olmadı. İşte sınav sorusu!

1. Örnek 4-2’de endirekt adresleme kullanılarak yapılmış 20h-2Fh RAM yerlerini temizlemekte kullanılan basit bir program gösterilmiştir.


ÖRNEK 4-2:Endirekt Adresleme Kullanılarak
RAM’in Temizlenmesi


mowlw 0x20 ; başlangıç adresi
movwf FSR ; indirect adresleme için kullanılan register'a yükle
NEXT clrf INDF ; FSR'nin gösterdiği yeri sil
incf FSR ; adresi arttır
btfss FSR ,4 ; tüm istenen alan siindi mi?
goto NEXT ; Bitmediyse devam
CONTINUE
: ;çıkış

0x20 ----> '00100000'
0x2F ----> '00101111'
:--> 4.bit



yine 1. ve 2. sorun için yararlanabileceğin, içindeörnek olan dosyayı ekliyorum.

3. için 16f84 bir adc modülüne sahip değildir. Bu yüzden harici bir adc kullanıldığını varsayar ve gelen bilgiyi

sorudaki gibi şöyle yapabilirsin:

Movlw gelen ;gelen adc den okunan değer
Sublw 0x16 ;0x16-gelen
Btfss Status,0 ;Carry var mı?
goto sil
Movlw gelen
Sublw 0x34 ;0x34-gelen
Btfss Status,0 ;Carry var mı?
goto rb0yak
movlw 0x02
movwf portb
return

tb0yak:
movlw 0x01
movwf portb
return

sil:
clrf portb ;gelen küçükse portb yi temizle
return
Metalzap
Tarih: 06.09.2006, 18:28 Mesaj konusu: --> scream

ALLAAAHH...abim benim:D:D nasıl sevindiğimi anlatamam öncelikle çok çok çok çok sağol uğraş verdiğin için ilgileniğin için:D:D:D
zira mesajında şunları sölemişsin :
"" Öncelikle ilk mesajında eksik bilgi vermişsin ve birazda yapın gibi bir tavır var açıkçası. Ama sonraki mesajında yol gösterseniz bile yeterli diyorsun. ""
-İlk mesajımdaki eksik bilgiyi 2.mesajımda tamamladım
-Yapım gereği yaptığım tavırdan dolayı abilerimden ÖZÜRdiledim !!
-Kimseden ses çıkmayınca anladım ki bu işler böyle olmuyor..Staj yaptığım yerde ustam bana derdi.."Kimse kimseye boş yere bilgi vermez..Özellikle bu gibi elektronik konularında..çünkü çoğu insan para kazanmak ister beyin yorar" diye .. o aklıma geldi ve haklı olduğunu anladım..Zira bana vereceğinz örnek rutünler bile yeterli olurdu anlatabildimmi..:)
Zaten bizim hocayı anlatsam tanımak istemezsiniz....neyse bunlar burda konuşulcak konular değil....
Tekrardan çok çok teşkkür ederim scream nedesem azdır..:D:D:D
ahuahaha...:D:D havalara uçtum yahu:D:D:D
kolay gelsin..saygılar...:D
ibrsel
Tarih: 02.11.2006, 14:51 Mesaj konusu: Buda Basic kodları

Gerçi arkadaşlar sorularını yanıtlamış ASM de ,belki işine yarayabilir diye Basic kodlarını da ben vereyim dedim:

C2)
@ device pic16F84a,XT_osc
a var byte: a=$28 ' a değişkenini oluştur ve hex 28 sayısını a değişkenine aktar..

Basla:
write 15,a ' eepromun 15 nolu adresine a değişkeninin değerini yaz
pause 10 ' 10 ms bekle
end ' programı bitir


C3) 16F84 te ADC yok,bu yüzde 16F877 veya 16F88 kullanabilirsin.

@device pic16F877a,xt_osc
DEFINE ADC_BITS 8 'A/D çevirim sonucu kaç bit olacak
DEFINE ADC_CLOCK 3 'Clock kaynağı (3=rc)
DEFINE ADC_SAMPLEUS 50 'Şarj zamanı mikro saniye cinsinden.
'-------------------------------------------------------------------------------
ADCON1=%00001110 '7. bit 1 yapıldı 10 bit sonuç almak için. 8 bit işlem için 7 biti 0 yap
'-------------------------------------------------------------------------------
deger VAR WORD
trisb=0
basla:

BASLA:
ADCIN 0,deger ' analog sinyali oku deger değişkenine aktar
pause 10
if deger>=$0 and deger<$16 then portb=0
if deger>=$16 and deger<$34 then portb.0=1
if deger>=$34 then portb.1=1
goto BASLA
Elektrotekno.com Ana Sayfa Microchip Pic Serisi
1. sayfa (Toplam 1 sayfa)

Abiler 3 sorum var yardım edebilirmisiniz ?

Gizlilik Politikası

PLC programming