DERS DERS 1111
PIC 16F84PIC 16F84 ile ALT PROGRAMLARIN ve ile ALT PROGRAMLARIN ve
ÇEVRİM TABLOLARININ KULLANIMIÇEVRİM TABLOLARININ KULLANIMI
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 2
İÇERİKİÇERİK
Alt ProgramAlt Program
Çevrim TablolarıÇevrim Tabloları
Program Sayıcı ( Program Counter – PC )Program Sayıcı ( Program Counter – PC )
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 3
ALT PROGRAMALT PROGRAM• Bir program içerisinde sıkça tekrar edilmesi Bir program içerisinde sıkça tekrar edilmesi
gereken program parçaları olabilir.gereken program parçaları olabilir.
• Bunların her defasında tekrar tekrar Bunların her defasında tekrar tekrar yazılmasındansa bir kere bir ALT yazılmasındansa bir kere bir ALT PROGRAM olarak hazırlanıp her gerekli PROGRAM olarak hazırlanıp her gerekli olduğunda çağrılması yaygın bir uygulamadır.olduğunda çağrılması yaygın bir uygulamadır.
• Alt Programı CALL komutu ile çağrılır ve Alt Programı CALL komutu ile çağrılır ve RETURN komutu ile de Ana Programa geri RETURN komutu ile de Ana Programa geri dönülür.dönülür.
• Bu işlemin yapılması ve geri planda Bu işlemin yapılması ve geri planda gerçekleştirilen diğer işlemler yedi farklı gerçekleştirilen diğer işlemler yedi farklı adımda incelenebilirler.adımda incelenebilirler.
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 4
Alt programın işletilmesi adımları, Mikrodenetleyiciler ve PIC Prog., sayfa 104
ALT PROGRAMALT PROGRAM
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 5
ALT PROGRAMALT PROGRAM1.1. Ana program işletilirken CALL komutu ile alt program Ana program işletilirken CALL komutu ile alt program
talep çağrılır.talep çağrılır.
2.2. Proram Counter (PC) registerına alt programın Proram Counter (PC) registerına alt programın başlangıç adresi kaydedilir.başlangıç adresi kaydedilir.
3.3. CALL komutunu takip eden komutun yer aldığı CALL komutunu takip eden komutun yer aldığı program adresi Stack Registerına (veya SP- Stack program adresi Stack Registerına (veya SP- Stack Pointer) kaydedilir.Pointer) kaydedilir.
4.4. Programın işletilmesi PC kontrolünde lat programdan Programın işletilmesi PC kontrolünde lat programdan devam eder.devam eder.
5.5. RETURN komutu ile alt programın sonuna gelindiği RETURN komutu ile alt programın sonuna gelindiği belirtilir.belirtilir.
6.6. Alt programdan Ana programa geri dönmek içim SP ‘de Alt programdan Ana programa geri dönmek içim SP ‘de kayıtlı olan geri dönülecek program bellek adresi PC kayıtlı olan geri dönülecek program bellek adresi PC registerına geri yüklenir.registerına geri yüklenir.
7.7. Dolayısıyla ana programa kalındığı yerden devam edilir.Dolayısıyla ana programa kalındığı yerden devam edilir.
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 6
ÇEVRİM TABLOLARI ( lookup table )ÇEVRİM TABLOLARI ( lookup table )
• Bazı programların işletilmesi esnasında verilmiş bir Bazı programların işletilmesi esnasında verilmiş bir kodun başka bir koda dönüştürülmesi gerekli olabilir.kodun başka bir koda dönüştürülmesi gerekli olabilir.
• Mesela bir ürünün fiyatının ilgili ürünün kodu ile Mesela bir ürünün fiyatının ilgili ürünün kodu ile işleştirildiği bir fiyat listesi bunun bir örneği olabilir.işleştirildiği bir fiyat listesi bunun bir örneği olabilir.
• Ancak 7 parçalı LED display kullanımı bizim bakış Ancak 7 parçalı LED display kullanımı bizim bakış açımızdan daha klasik bir örnektir.açımızdan daha klasik bir örnektir.
• Burada belirli bir sırada dizili 7 adet çubuk şeklindeki Burada belirli bir sırada dizili 7 adet çubuk şeklindeki LED in istenilen sayısal değere karşılık gelen yanma veya LED in istenilen sayısal değere karşılık gelen yanma veya yanmama bilgilerinden oluşan binary bilgi yanmama bilgilerinden oluşan binary bilgi karşılıklarının dönüşümü yapılmaktadır.karşılıklarının dönüşümü yapılmaktadır.
• Dolayısıyla bu örnekteDolayısıyla bu örnekte
sayısal değersayısal değer binary bit kombinasyonubinary bit kombinasyonu
dönüşümü yapılmaktadır.dönüşümü yapılmaktadır.
• Temelde bu dönüşüme kodlama denmektedir. Yani bu Temelde bu dönüşüme kodlama denmektedir. Yani bu dönüşüm tabloları ile aslında bir kodlama yapılmaktadır. dönüşüm tabloları ile aslında bir kodlama yapılmaktadır.
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 7
7 parçalı display ile kullanılacak çevrim tablosu, Mikrodenetleyiciler ve PIC Prog., sayfa 137
ÇEVRİM TABLOLARIÇEVRİM TABLOLARI
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 8
7 parçalı displayin ve PIC16F84 bağlantı şeması, Mikrodenetleyiciler ve PIC Prog., sayfa 138
ÇEVRİM TABLOLARIÇEVRİM TABLOLARI
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 9
Program Sayıcı ( Program Counter – PC )Program Sayıcı ( Program Counter – PC )
Program sayıcı program bellek adresinde işlemcininProgram sayıcı program bellek adresinde işlemcinin
sıradaki işleteceği komutunun yer aldığı bir tane 13-bitsıradaki işleteceği komutunun yer aldığı bir tane 13-bit
uzunluğundaki bellek hücresidir. uzunluğundaki bellek hücresidir.
PC ile saklanan bilgi 13-bit uzunlukta olduğu için bir tane PC ile saklanan bilgi 13-bit uzunlukta olduğu için bir tane
8-bit uznluktaki file register yeterli olmadığından iki adet8-bit uznluktaki file register yeterli olmadığından iki adet
file register ile bu bilgi kullanılabilmektedir.file register ile bu bilgi kullanılabilmektedir.
Aslında bizim kullnadığımız PIC modeli olan 16F84A içinAslında bizim kullnadığımız PIC modeli olan 16F84A için
bu bilgi toplamda 10 bit uzunluktan fazla olması grekmez.bu bilgi toplamda 10 bit uzunluktan fazla olması grekmez.
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 10
PIC16F84 ile PC’nin kullanımı, Mikrodenetleyiciler ve PIC Prog., sayfa 138
Program Sayıcı ( Program Counter – PC )Program Sayıcı ( Program Counter – PC )
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 11
Program Sayıcı ( Program Counter – PC )Program Sayıcı ( Program Counter – PC )
• PIC programlarında PC’nin alt 8-bitlik kısmına PCL adı PIC programlarında PC’nin alt 8-bitlik kısmına PCL adı verilir ve 02h RAM adresindeki bir YAZILABİLİR ve verilir ve 02h RAM adresindeki bir YAZILABİLİR ve OKUNABİLİR file register olarak kullanılır.OKUNABİLİR file register olarak kullanılır.
• PC’nin üst 5-bitlik (3-bit) kısmına da PCH adı verilir ve PC’nin üst 5-bitlik (3-bit) kısmına da PCH adı verilir ve buna direkt olarak ulaşmak mümkün değidir. Buna buna direkt olarak ulaşmak mümkün değidir. Buna sadece RAM belleğin 0Ah ve 8Ah adreslerinde yer alan sadece RAM belleğin 0Ah ve 8Ah adreslerinde yer alan PCLATH saklayıcısı vasıtasılyla ulaşılabilir.PCLATH saklayıcısı vasıtasılyla ulaşılabilir.
• PCLATH sadece 0.-4.bitleri OKUNABİLEN ve PCLATH sadece 0.-4.bitleri OKUNABİLEN ve YAZILABİLEN geri kalan bitleri hep 0 OKUNABİLEN YAZILABİLEN geri kalan bitleri hep 0 OKUNABİLEN bir saklayıcıdır. bir saklayıcıdır.
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 12
Program Sayıcı ( Program Counter – PC )Program Sayıcı ( Program Counter – PC )
• PC’ye bir program bellek adres değeri girmenin iki PC’ye bir program bellek adres değeri girmenin iki farklı yolu vardır.farklı yolu vardır.
1.1. Bu ilk yaklaşımda PCL değeri direkt ilgili Bu ilk yaklaşımda PCL değeri direkt ilgili saklayıcının (PCL) değeri değiştirilerek ve de PCH saklayıcının (PCL) değeri değiştirilerek ve de PCH değeri de PCLATH saklayıcısının değeri değiştirilerek değeri de PCLATH saklayıcısının değeri değiştirilerek yapılır.yapılır.
PIC16F84 ile PC’nin kullanımı, Mikrodenetleyiciler ve PIC Prog., sayfa 139
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 13
Program Sayıcı ( Program Counter – PC )Program Sayıcı ( Program Counter – PC )
• PC’ye bir program bellek adres değeri girmenin iki PC’ye bir program bellek adres değeri girmenin iki farklı yolu vardır.farklı yolu vardır.
2.2. İkinci yaklaşımda ise programda bir CALL veya İkinci yaklaşımda ise programda bir CALL veya GOTO komutu çalıştırıldığında alt 11-bit direkt GOTO komutu çalıştırıldığında alt 11-bit direkt komut opcode’undan geriye kalan üst iki bit ise komut opcode’undan geriye kalan üst iki bit ise PCLATH saklayıcısından (hangi page olduğunu PCLATH saklayıcısından (hangi page olduğunu belirlemek için) getirilir. belirlemek için) getirilir.
PIC16F84 ile PC’nin kullanımı, Mikrodenetleyiciler ve PIC Prog., sayfa 140
Dr. Emin Argun Oral, Atatürk Üniversitesi 2008
Ders 9, Slayt 14
ÇEVRİM ÇEVRİM TABLOLARITABLOLARI
PIC16F84 ile çevrim tablolarının kullanımına örnek, Mikrodenet- leyiciler ve PIC Prog., sayfa 143
DERS DERS 1111PIC 16F84PIC 16F84 ile ALT PROGRAMLARIN ve ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMIÇEVRİM TABLOLARININ KULLANIMI
- SON- SON --
-KaynakKaynak: : Mikrodenetleyiciler ve PIC Prog., Orhan ALTINBAŞAK, ISBN 975-883-409-6Mikrodenetleyiciler ve PIC Prog., Orhan ALTINBAŞAK, ISBN 975-883-409-6