Transcript DERS11

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