MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Benzer belgeler
Mikroişlemcili Sistemler ve Laboratuvarı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

BÖLÜM 7 Kesmeler.

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

Ad Soyad: Öğrenci No:

SAUEEE.ORG. Önce C 00 Sonrası C 00

ADCCON1: MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C

Mikrobilgisayar Mimarisi ve Programlama

Kesmeler (Interrupts)

BÖLÜM 6 Seri Port Đşlemleri

TIMER. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Y. Müh. Ayhan Yüksel. (Son güncelleme: Zafer Đşcan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Ayhan Yüksel. (Son güncelleme: Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

DENEY-5. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Şekil. 64 Kelimelik Yığıtın Blok Şeması

MİKROİŞLEMCİ LABORATUARI UYGULAMA ÖRNEKLERİ

MĐKROĐŞLEMCĐLĐ FONKSĐYON ÜRETECĐ

Mikrodenetleyiciler İ ZMİ R 8051 Uygulamaları

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

UYGULAMA-2 1. ÖZET 2. UYGULAMALAR. 2.1 PORT2 nin kullanımı

DENEY III RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

BÖLÜM Mikrodenetleyicisine Giriş

8051 DONANIM ÖZELLİKLERİ

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM in Bellek Organizasyonu

Bölüm 3: Adresleme Modları. Chapter 3: Addressing Modes

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

ADUC814 MİNİKİT. RS-232 Ara Bağlantı Kablosu & ADuC8xx EĞİTİM NOTLARI Bölüm 9

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

8051 Mikrokontrolcü Ailesi

KONFİGÜRASYON BİTLERİ

UYGULAMA 1 24V START CPU V LO. Verilen PLC bağlantısına göre; START butonuna basıldığında Q0.0 çıkışını aktif yapan PLC programını yazınız.

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MTM 305 MİKROİŞLEMCİLER

Alt Programdan Ana Programa Dönüş Adresine Donanım Tarafından Hesaplanması

DENEY II RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

SAYISAL MANTIK LAB. PROJELERİ

14. MİKROİŞLEMCİ PROGRAMLAMA TEKNİKLERİ

DELTA PLC DE ZAMANLAYICILAR

Analog Sayısal Dönüşüm

ZAMANLAYICILAR S de, 4 farklı zamanlayıcı vardır.

Trafik Işık Kontrolü

Teknosem ANASAYFA. Program komut butonları ve program zaman parametrelerinin bulunduğu sayfadır.

BÖLÜM 4. Dahili veri hafıza transfer komutlarının genel yapısı, mov <hedef>, <kaynak> şeklindedir

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

ASSEMBLY DİLİNDE PROGRAMLAMA

8086 Mikroişlemcisi Komut Seti

Deney 4. Gerçek Zamanlı Kesme Uygulamaları

Mikrobilgisayar Donanımı

LCD EKRANIN SÜRÜLMESİ VE FLASH/EE HAFIZASININ KULLANILMASI

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

Basit Işık Kontrolü. 1. Bit, Byte, Word, Double Word kavramları:

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

Geçtiğimiz hafta# Dizisel devrelerin tasarımı# Bu hafta# Örnek: Sekans algılayıcı# Örnek: Sekans algılayıcı# 12/11/12

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

8051 MİMARİSİ. Temel mimari yapısı Şekil 3.1 de görülmekte olan 8051 mikrodenetleyici ailesinin başlıca özellikleri aşağıda verilmiştir.

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı

Şekil 3-1 Ses ve PWM işaretleri arasındaki ilişki

Çok sayıda adım motoru tasarımı olmasına rağmen, bu motorlar iki değişik temel tür altında toplanabilir: değişken relüktanslı veya hibrid yapılı.

BÖLÜM I GİRİŞ. 1- Merkezi İşlem Birimi(Central Processing Unit-CPU) 2- Hafıza (Memory) 3- Giriş/ Çıkış(I/O) Birimleri

MTM 305 MĠKROĠġLEMCĠLER

B.Ç. / E.B. MİKROİŞLEMCİLER

Deney 3: Asenkron Sayıcılar

EEM 419-Mikroişlemciler Güz 2017

MTM 305 MİKROİŞLEMCİLER

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi

Komutların İşlem Süresi

Temel Flip-Flop ve Saklayıcı Yapıları. Mikroişlemciler ve Mikrobilgisayarlar

DENEY 2- Sayıcılar. 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi.

Bölüm 14 FSK Demodülatörleri

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BÖLÜM 1: MİKRODENETLEYİCİLER

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ. Uzaktan Kumanda Edilen Lamba Dimmer inin Gerçekleştirilmesi

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

DENEY-6. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Transkript:

MIKRODENETLEYICILER Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM 5 Zamanlayıcılar

Zamanlayıcı/Sayıcı 3 Zamanlayıcı/Sayıcı Zamanlayıcı: Zaman geciktirici olarak kullanıldığında verilen isim. Sayıcı: Dışarıda gerçekleşen bir olay sayıldığında verilen isim. 8051 T0 ve T1 olmak üzere iki adet 16 bit zamanlayıcıya sahiptir. Çalışma kipleri TMOD yazacından seçilir Çalışmaları TCON yazacından denetlenir. Zamanlayıcının çalışma hızı=fosc/12 dir. 8052 T0 ve T1 ek olarak 16 bit T2 zamanlayıcına sahiptir. T2 zamanlayıcısının çalışma kiplerinin seçimi ve denetimi T2CON yazacından yapılır.

Zamanlayıcı Yazaçları 4 8051 zamanlayıcılar 8 bitlik yazaçlardan oluşur. Bu yazaçlara diğer SFR yazaçları gibi erişilebilir. T0 yazaçları TH0, TL0, T1 yazaçları TH1, TL1. T2 zamanlayıcı yazaçları da SFR bölgesinde yer alır, TH2, TL2, RCAP2L, RCAP2H

8052 de Zamanlayıcı Yazaçları 5 SFR Kullanım Amacı Adres Bit Adresleme TCON Denetim 88H Var TMOD Çalışma kipi belirleme 89H Yok TL0 Zamanlayıcı 0 DDB 8AH Yok TL1 Zamanlayıcı 1 DDB 8BH Yok TH0 Zamanlayıcı 0 YDB 8CH Yok TH1 Zamanlayıcı 1 YDB 8DH Yok T2CON * Zamanlayıcı 2 denetim C8H Var RCAP2L * Zamanlayıcı DDB yakalama CAH Yok RCAP2H * Zamanlayıcı YDB yakalama CBH Yok TL2 * Zamanlayıcı 2 DDB CCH Yok TH2 * Zamanlayıcı 2 YDB CDH Yok * 8051, 8751, 8031 de yoktur. Tablo - 5.1 Zamanlayıcı Yazaçları

BİT ADI Z/S Açıklama 7 GATE 1 Geçit biti kurulduğunda T1 sadece INT1 yüksek seviyede ise çalışır. 6 C/T 1 Sayıcı zamanlayıcı seçme biti, 1 ise sayıcı, 0 ise zamanlayıcı. 5 M1 1 Kip bit 1 (Bakınız Tablo-5.3 e) 4 M0 1 Kip bit 0 (Bakınız Tablo-5.3 e) 3 GATE 0 T0 geçit biti. 2 C/T 0 Sayıcı zamanlayıcı seçme biti, 1 ise sayıcı, 0 ise zamanlayıcı. 1 M1 0 Kip bit 1 (Bakınız Tablo-5.3 e) 0 M0 0 Kip bit 0 (Bakınız Tablo-5.3 e) 6 Tablo-5.2 TMOD yazacının içeriği ve görevleri.

Çalışma Kipleri 7 M1 MO KİP AÇIKLAMA 0 0 0 13 bit zamanlayıcı kipi (8048 kipi olarak ta adlandırılır 0 1 1 16 bit zamanlayıcı kipi. 1 0 2 8 bit yeniden yüklemeli zamanlayıcı kipi. 1 1 3 Ayrık zamanlayıcı kipi. Zamanlayıcı 0; TL0 8 bit zamanlayıcı çalışması zamanlayıcı 0 kip seçme bitleri tarafından denetlenir. TH0 aynı şekilde çalışır fakat zamanlayıcı 1 kip seçme bitleri tarafından denetlenir. Zamanlayıcı 1; çalışmaz. Tablo-5.3 Zamanlayıcı çalışma kipleri.

Zamanlayıcı Denetim Yazacı 8 BİT ADI ADRES AÇIKLAMA TCON.7 TF1 8FH T1 taşma bayrağı, taşma olduğunda kurulur, yazılımla veya donanım tarafından kesme vektör adresine gidildiğinde temizlenir. TCON.6 TR1 8EH T1 çalıştırma/durdurma biti yazılım ile içeriği değişir. TCON.5 TF0 8DH T0 taşma bayrağı. TCON.4 TR0 8CH T0 çalıştırma/durdurma biti. TCON.3 IE1 8BH Dış kesme 1 kenar bayrağı. INT1 girişinde düşen kenar geldiğinde kurulur; yazılım veya CPU kesme vektörüne bağlandığında donanım ile temizlenir. TCON.2 IT1 8AH Dış kesme 1 tip seçme bayrağı. Yazılım ile kurulup temizlenir. kurulduğunda olduğunda INT1 de düşen kenarda kesme bayrağı kurulur; temizlendiğinde düşük seviyede kesme algılanır ve kesme bayrağı kurulur. TCON.1 IE0 89H Dış kesme 0 kenar bayrağı. TCON.0 IT0 88H Dış kesme 0 tip seçme bayrağı. Tablo-5.4 TCON yazacının bitleri ve görevleri.

Kip 0, 13 Bit Zamanlayıcı 9

Kip 1, 16 Bit zamanlayıcı 10

Kip 2, Yeniden Yüklemeli 11

Kip 3 Ayrık Zamanlayıcı 12

13 Zamanlayıcı Giriş ve Çıkış Bacakları 8052, P1 in iki bacağı, zamanlayıcı 2 tetikleme girişi ve vuru çıkışı olarak görevlendirilmiştir. Zamanlayıcı 0 ve 1 in dış tetikleme girişleri

Zamanlayıcıları Kullanma Algoritması 14 1. Çalışma kipini belirle (TMOD) 2. Başlangıç değerini belirle (THX, TLX) 3. Çalıştır (SETB TRX) 4. Zaman aşım bayrağını test et (JNB TFX,$) Evet adım 5 e git Hayır adım 4 e git 5. TFX=0 yap, iş yap. 6. Adım 4 e git (sürekli yapılacaksa), son.

Örnek 1: T0 ı kullanarak P1.5 den sürekli D=%50 olan kare dalga üreten programı kip 2 de yazın (Frekans yüklenen sayı ile değişir) 15 T0D50_K2: Mov TMOD,#00000010b ;T0, kip 2 Mov TH0,#0F2H ;Başlangıç=F2H Mov TL0,#0F2h Setb TR0 ;T0 ı çalıştır. tekrar: Jnb TF0,$ ;TF0 ı zaman aşımı için tara. Clr TF0 ;TF0 bayrağını temizle Cpl P1.5 Sjmp tekrar T0 Sayma Sırası F2 TF0=0 F3 F4.. FE TF0=0 FF TF0=1 TF0=0 TF0=0

Örnek 2: P3.5 teki vuruların sayısını P2 de görüntüle. 16 Say_8: Mov TMOD, #01100000B ;kip 2, C/T=1 Mov TH1, #0 ;0x00-0xFF say. Setb P3.5 ;P3.5 giriş Setb TR1 ;Çalıştır oku: Mov P2, TL1 ; TL1 i oku, P2 de göster Jnb TF1,oku ;TF1 kuruldu mu? Tara. Clr TF1 ;TF1 bayrağını temizle. Inc B ;Taşma oldu ise B yi arttır Sjmp oku ;Sürekli yap.

Yazılım Tabanlı Zamanlayıcılar (Zaman Geciktirme Döngüleri) 17 Zamanlayıcıların yetmediği durumlarda yazılım zamanlayıcısı olarak ta adlandırılan Zaman Geciktirme Döngüleri yazılır. Zamanlayıcılar kullanıldığında aynı anda CPU başka komut yürütebilir. ZGD ile zamanlamada CPU meşgul olduğu için başka komut yürütemez. Zamanlayıcıların yetersiz kaldığı durumlarda ZGD ile birlikte kullanılabilir.

ZGD Algoritması 18 1. Yazaca değer yüklenir 2. Yazaç bir azaltılır 3. Sıfır değilse adım 2 ye git. 4. Sıfır ise son

Akış Diyagramı 19 ZGD1 R1'yi Yedekle R1=Döngü Adedi R1=R1-1 Evet R1>0? Hayır R1'yi Geri Al SON

Tek Döngülü ZGD Komut Saykıl Tekrarlanma Gecikme Zgd_1: PUSH 01h 2 1 2 saykıl MOV R1,#X 1 1 1 saykıl DJNZ R1,$ 2 X 2X saykıl POP 01h 2 1 2 saykıl RET 2 1 2 saykıl T MS = (2X + 7) Saykıl 20

En Küçük ve En Büyük Gecikme 21 En düşük gecikme X=1; TMS = 2.1+7=9 makine saykılı. En yüksek gecikme X=255; TMS = 2.255 + 7=517 makine saykılı.

NOP Ekleyerek Süreyi Uzatmak Komut Saykıl Tekrarlanma Gecikme Zgd_1: PUSH 01h 2 1 2 saykıl MOV R1,#X 1 1 1 saykıl Z1: NOP 1 X X NOP 1 X X DJNZ R1, Z1 2 X 2X saykıl POP 01h 2 1 2 saykıl RET 2 1 2 saykıl T MS = 4X+7 Saykıl 22

1 ms İçin Yazaç Değeri 23 Elde edilmek istenen süre t=1 ms olduğunda ve FOSC=12 MHz ise; Tmakine saykılı=12/12.10 6 = 1 μs TMS=t/T = 1000 μs/1 μs = 1000 makine saykılı 1000 = 4.X+7 X=(1000-7)/4 = 248.25 olarak hesaplanır.

Çift Döngülü ZG Altprogramı Algoritması 1. İkinci Yazaca değer yüklenir 2. Birinci Yazaca değer yüklenir 3. Birinci Yazaç bir azaltılır 4. Birinci yazaç Sıfır değilse adım 3 e git. 5. Sıfır ise, İkinci yazacı bir azalt 6. İkinci yazaç Sıfır değilse adım 2 ye git. 7. Sıfır ise son Evet ZGD2 Yedekle R6=y R7=x R7=R7-1 R7>0 Hayır R6=R6-1 R6>0 Hayır Yedekten Al Evet 1 ms 24

Toplam Makine Saykılının Hesaplanması Komut Saykıl Tekrarlanma Gecikme Zgd_2: PUSH 07h 2 1 2 saykıl PUSH 06h 2 1 2 saykıl MOV R6,#y 1 1 1 saykıl Z2: MOV R7,#x 1 y y saykıl DJNZ R7,$ 2 x.y 2xy saykıl DJNZ R6,Z2 2 y 2y saykıl POP 06h 2 1 2 saykıl POP 07h 2 1 2 saykıl RET 2 1 2 saykıl T MS = 2xy+3y+11 25

Örnek 26 f OSC =8 MHz olan 8051 için 100 ms lik zaman geciktirme altprogramını yazın. T = 12/8.10 6 = 1.5 μs T MS = t / T = 100000 μs / 1.5 μs = 66666.66 saykıl T MS = 66667 saykıl alınabilir. 66667 = 2xy + 3y + 11 X=255 ile çözüme başlanır 66667 = 2.255.y + 3y + 11 66667-11 = 513y y = 129.93 Üste tamamlayarak 130 kabul edilebilir

Devamı 27 Kabul edilen ve bulunan değerler denklemde yerine konur ve hata hesaplanır. 66667 = 2.255.130 + 3.130 + 11 66667 =66701 Hata 34 makine saykılı 1 makine saykılı 1.5 μs olduğuna göre 51 μs lik bir sapma gerçekleşir. Bu değer kullanıldığı uygulamaya bağlı olarak kabul edilebilir.

Devamı 28 Bu hata yaklaşıma devam edilerek küçültülebilir. x = 254 edilirse. 66667 = 2.254.y + 3.y + 11 y = 130.44 alta tamamlanır 130 alınır Sapma -220 üste tamamlanırsa +285 olur. Sapma artmıştır, çözüme devam edilirse hata küçülecektir. Adımları birer birer azaltmak yerine daha yüksek değerle yaklaşım yapılabilir.

ÖRNEK 5.3 P1. 6 ya bir buton, P1.7 ye bir buzzer bağlanmıştır. Butona her basıldığında buzzerı 1 saniye öttüren programı yazın. 29 TUS_BUZ: SETB P1.7 ;başlangıçta buzerı kapat MOV TMOD, #01H ;T0 16 bit zamanlayıcı SETB P1.6 ;Tuşun bağlandığı hattı giriş yap TUS1: JB P1.6,$ ;tuşa basıldı mı? JNB P1.6,$ CLR P1.7 ;buzzerı aç. CALL ZGD1 ;1 saniye buzzer ötsün. SETBP1.7 ;buzzer1 kapat. SJMP TUS1 ;sürekli yap ZGD1: MOV R7,#20 ;50000 X 20=1 saniye ZGD3: MOV TH0,#3CH ;YDB ı yükle. MOV TL0,#0B0H ;DDB ı yükle. SETB TR0 ;zamanlayıcıyı çalıştı ZGD2: JNB TF0,ZGD2 ;zaman aşıldı mı? CLR TF0 ;evet, bayrağı temizle CLR TR0 ;T0 ı durdur. DJNZ R7,ZGD3 ;1 saniye oldu mu? RET ;evet son

Ödev 5: ZGD yazmak 30 100 us 1 ms 100 ms 1 S 1 dakikalık zaman geciktirme döngülerini yazarak simulatörde çalıştırın.

Non-Bistable Sequential Circuits Schmitt Trigger 31 In Out V out V OH V OL V M V M+ V in

Schmitt Trigger Gürültü Yoketme 32

33