pclath

Başlatan abdullah, 24 Şubat 2003, 13:51:52

abdullah

arkadaşlar pclath registerını pic16f84'te nasıl kullanabilirm.tam olarak açıklayacak biri varmı.teşekkürler

kesmez

16f84 program memory 1kx14 bitten oluşuyor.
1k lık memoriyi adresleyebilmek için PC (program counter) 10bit minimum olmalı.(16 serisinin program counteri PC 13 bitliktir 0-12).. PC=PCL+PCLATCH dan oluşur 8+5=13 bit

2k için 11bit
4k için 12 bit
8k için 13 bit ...

zaten 16 serisinin program memorisi 14 bitlik....
yani bir tek 14. bit program kodu diğer 13 biti prg memory adresi olarak yazıldığında (maximuen adresleme) en fazla 8k pr. mem. areslenebiliyor. buda 18 serisinin neden 16 bitlik olduğunu açıklıyor. yani demek istiyorumki (tahmin çünkü 18 mimarisini bilmiyorum) 18  serisinde 15 bitlik prg mem adreslenebiliyorsa bu piclerde en fazla 32k x16 bit prg mem olacaktır.
dönelim konumuza..

pclatch 5 biti aktif bir registerdir... düşük üç biti 2 üzeri3=8 , bide pcl 8x256=2048 neyaptı .. 2048 adresleme kapasitesi. Pclatch ın 3 ve 4. bitlerini de katarsak 8k adreslenebilen prg. mem.

16f84 te ki pcl registeri (8 bitlik) sadece 256 byte adresliyebiliyor.  1k adresleyebilmek için 2 bite daha ihtiyaç vardır. bu iki bit pclatchın alt iki bitidir. yani 0 ve 1. bitleri.


ayrıntı için midrange tutorial bölüm 6 memory organisation.
"İnned dine indallahil İslam" (2-19)

abdullah

yani  :?:  :?:  :?:  :?:  :?:  :?:  :?:  :?:  :?:  :?: ?

kesmez

p16f84 prg mem 2k dan küçük olduğu için bu registeri kullanmana gerek yok.
"İnned dine indallahil İslam" (2-19)

abdullah

ya ben retlw komutunu kullanmak istiyorum.255 değişik değeri  bir tablodan alacak.o yüzden 1k'lık adresin tamamını kullanmak  istiyorum.o yüzden bu registerın kullanımını öğrenmek istiyorum.bir de 2k'lık bir picle uğraşırsam nasıl kullanabilirim bir örnekle açıklarsan sevinirim.ilgin için teşekkürler dostum ;)

es-es

İşlemci PCLATH registerine dokundırtmaz. yani bu resigtere direk ulaşamazsın. Bu yüzden 16f84 de sadece 256 tane retlw yazabilirsin. oda bu 256 adet retlw nin program kodlarının başında olması şartıyla. pic16f877 de  4 edet page olduğu için her page başına 256 adet retlw yazabilirsin, yani pic16f877 de bile  256*4=1024 tene retlw kullanabilirsin.  :?

baba

Bu konuyla ilgili microchip in uygulama notu var arkadaşlar.İncelerseniz yararı olabilir.

Implementing a Table Read
AN556

http://www.microchip.com/download/appnote/pic16/00556e.pdf
ÖĞRENDİKÇE    CAHİLLİĞİM       ARTIYOR.

abdullah

sağolun beyler.mesele halolmuştur.herkese kolay gelsin :lol:  :lol:  :lol:  :lol:  :lol:  ;)  ;)  ;)