PICBIT_PLC İLE LOJİK TASARIM. Doç. Dr. Murat UZAM Niğde Üniversitesi Mühendislik-Mimarlık Fakültesi Elektrik-Elektronik Mühendisliği Bölümü



Benzer belgeler
1 ELEKTRONİK KAVRAMLAR

EEM 419-Mikroişlemciler Güz 2017

İÇİNDEKİLER. 1-1 Lojik ve Anahtara Giriş Lojik Kapı Devreleri... 9

BLM 221 MANTIK DEVRELERİ

Deney 3: Asenkron Sayıcılar

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol

T.C. İstanbul Medeniyet Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Elektrik-Elektronik Mühendisliği Bölümü

SAYICILAR. Tetikleme işaretlerinin Sayma yönüne göre Sayma kodlanmasına göre uygulanışına göre. Şekil 52. Sayıcıların Sınıflandırılması

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

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

EEM 419-Mikroişlemciler Güz 2016

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

BÖLÜM 2 SAYI SİSTEMLERİ

T.C. BOZOK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ LOJĐK DEVRELER LABORATUARI DENEY FÖYÜ

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

BÖLÜM 9 (COUNTERS) SAYICILAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır

Bölüm 7 Ardışıl Lojik Devreler

1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek.

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

PICPLC ler için Programlama Arayüzü Geliştirilmesi Developing of a Programming Interface for PICPLCs

TEKNOLOJİ FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ ENDÜSTRİYEL TASARIMDA MODERN KONTROL TEKNİKLERİ PROGRAMLANABİLİR LOJİK DENETLEYİCİLER DENEY FÖYÜ

# 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

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

ArĢ. Gör. Mehmet Zeki KONYAR ArĢ. Gör. Sümeyya ĠLKĠN

SAYISAL UYGULAMALARI DEVRE. Prof. Dr. Hüseyin EKİZ Doç. Dr. Özdemir ÇETİN Arş. Gör. Ziya EKŞİ

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

MİKRODENETLEYİCİ TEMELLİ PLCLER İÇİN PROGRAMLAMA YAZILIMININ GERÇEKLEŞTİRİLMESİ KULLANIM KLAVUZU

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

Deney 6: Ring (Halka) ve Johnson Sayıcılar

Birleşik Devreler ve Kompleks Fonksiyonlar

Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

C-Serisi PLC İleri Seviye Eğitim

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

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.

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil Bahar-Final

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

BÖLÜM Mikrodenetleyicisine Giriş

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

BİLGİSAYAR MİMARİSİ. İkili Kodlama ve Mantık Devreleri. Özer Çelik Matematik-Bilgisayar Bölümü

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Mantık Devreleri EEE

Haftalık Ders Saati Okul Eğitimi Süresi

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

6. Fiziksel gerçeklemede elde edilen sonuç fonksiyonlara ilişkin lojik devre şeması çizilir.

Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

Bu deney çalışmasında kombinasyonel lojik devrelerden decoder incelenecektir.

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

Bölüm 4 Ardışıl Lojik Devre Deneyleri

ELK 204 Mantık Devreleri Laboratuvarı Deney Kitapçığı

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

BÖLÜM 1. ASENKRON MOTORLAR

Deney 2: Flip-Floplar

DENEY 1 BOOLEAN CEBİRİ TEMEL İŞLEMLERİ

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Öğrenim Kazanımları Bu programı başarı ile tamamlayan öğrenci;

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

BÖLÜM 10 KAYDEDİCİLER (REGİSTERS) SAYISAL TASARIM. Bu bölümde aşağıdaki konular anlatılacaktır

(VEYA-DEĞİL kapısı) (Exlusive OR kapısı) (Exlusive NOR kapısı)

Sayıcılar n bitlik bir bilgiyi tutmanın yanısıra her saat çevriminde tuttukları değeri artıran veya azaltan ardışıl devrelerdir.

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

Mantık Devreleri Laboratuarı

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.

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Bölüm 8 Ardışıl Lojik Devre Uygulamaları

Temel elektronik laboratuvarı olarak kullanılmaktadır. Bu laboratuvarda ders alan öğrencilerimiz;

Simatic PLC Eğitim Kataloğu 2013 Sayfa -1

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

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

25. Aşağıdaki çıkarma işlemlerini doğrudan çıkarma yöntemi ile yapınız.

3 Fazlı Motorların Güçlerinin PLC ile Kontrolü. Doç. Dr. Ramazan BAYINDIR

DENEY 8- Flip Flop ve Uygulamaları. Amaç: - Flip Flop çalışma mantığını kavramak

İnönü Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

V-LAB BİLGİSAYAR ARAYÜZLÜ EĞİTİM SETİ

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

BÖLÜM 5 S_BĐT. Komut listesi (STL) Network 1 LD I0.0 S Q0.0, 1

SAYI SİSTEMLERİ ve BOOLE CEBİRİ 1+1=1 ÖĞR.GÖR. GÜNAY TEMÜR - TEKNOLOJİ F. / BİLGİSAYAR MÜH.

KMU MÜHENDİSLİK FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRELER II LABORATUVARI DENEY 1 TOPLAYICILAR - ÇIKARICILAR

NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

BM-311 Bilgisayar Mimarisi

1. Temel lojik kapıların sembollerini ve karakteristiklerini anlamak. 2. Temel lojik kapıların karakteristiklerini ölçmek.

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

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

SAYISAL MANTIK LAB. PROJELERİ

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY RAPORU. Deney No: 3 FF Devreleri

BÖLÜM 8 MANDAL(LATCH) VE FLİP-FLOPLAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır

PIC Mikrodenetleyicileri

7.Yazmaçlar (Registers), Sayıcılar (Counters)

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

HDL Dilleri VHDL. Son olarak, spesifik ASIC teknolojisi için devrenin yerleşimi netlist tanımlamalarından gelen diğer araçlarla oluşturulmuş olunur.

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

PROGRAMLANABİLİR LOJİK DENETLEYİCİ İLE DENEYSEL ENDÜSTRİYEL SİSTEMİN KONTROLÜ

Transkript:

PICBIT_PLC İLE LOJİK TASARIM Doç. Dr. Murat UZAM Niğde Üniversitesi Mühendislik-Mimarlık Fakültesi Elektrik-Elektronik Mühendisliği Bölümü EYLÜL 2008

Bu kitap Niğde Üniversitesi Yayın Komisyonunun 22.04.2008 tarih ve B.30.2.NĞÜ.0.00.00.00/008 sayılı yazısıyla verilen izin sonucunda basılmıştır. 1. Basım: Eylül 2008 ii

Bu kitabı; anne ve babama, çalışmalarımı büyük bir özveri ve sabırla destekleyen eşime ve çocuklarıma, ve bu günlere gelmemde maddi ve manevi emeği geçen tüm hocalarıma ithaf ediyorum. iii

ÖNSÖZ İçinde bulunduğumuz çağda pek çok alanda çok hızlı bilimsel ve teknolojik gelişmelere şahit olmaktayız. Hiç şüphe yok ki bu gelişmelerin temelinde bilgisayar teknolojisi bulunmaktadır. Bilgisayar teknolojisinin temelini de sıfırlar (0) ve birler (1) üzerine kurulmuş olan lojik adı verilen bilim dalı oluşturur. Bu kitap, çıkış noktası olarak lojik derslerinde incelenen konuların uygulamalı olarak öğrenilmesine yardımcı olmak için yazılmıştır. Kitap ayrıca, günümüzde endüstride çok yaygın olarak kullanılan PLC lerin (Programmable Logic Controllers Programlanabilen Lojik Denetleyiciler) anlaşılmasına yardımcı olmayı hedeflemektedir. İlave olarak, kitap günümüzde çok popüler olan PIC mikrodenetleyicilerinin, Assembly dili yardımıyla programlanmaları ile ilgilidir. Bu kitap 1999-2008 yılları arasındaki 10 yıl içerisinde değişik zaman aralıklarında yazar tarafından gerçekleştirilen çok yoğun çalışmalar sonucunda ortaya çıkmıştır. Bu kitabın asıl çıkış noktası PICBIT adındaki yazılımdır. Bu yazılım, bir PIC16F84 mikrodenetleyicisi kullanılarak elde edilmiş olan 5 girişli, 8 çıkışlı bir PLC yi desteklemektedir. Fakat orijinal donanım bazı noktalardan yetersiz kaldığı için bu kitap kapsamında tek bir baskı devre üzerine PICBIT_PLC adı verilen bir donanım gerçekleştirilmiştir. Kitapta uygulama yaparak öğrenme yöntemi esas alınmıştır. Buna göre If we hear, we forget; If we see, we remember; If we do, we understand şeklindeki deyim referans teşkil etmektedir. Bunun anlamı kısaca şu şekildedir: duyduğumuzu çabucak unuturuz; gördüğümüzü hatırlarız; uyguladığımızı ise öğreniriz. Bu bağlamda Niğde Üniversitesi Mühendislik-Mimarlık Fakültesi Elektrik-Elektronik Mühendisliği Bölümünde yürüttüğüm lojik devreler, mikroişlemciler, endüstriyel elektronik, endüstriyel kontrol sistemleri gibi derslerde incelenen konuların uygulamaları, bu kitap kapsamında PICBIT yazılımı ve PICBIT_PLC donanımı yardımıyla gerçekleştirilmektedir. Bu kitaptan istifade etmek için PICBIT_PLC donanımı mutlaka elde edilmelidir. Aksi halde kitaptan yeterince faydalanılamayacaktır. Kitabı genelde dört kısma ayırmak mümkündür. İlk kısım PICBIT yazılımı ve PICBIT_PLC donanımının tanıtılması ve kullanılmasıyla ilgilidir. İkinci kısım PICBIT yazılımı ve PICBIT_PLC donanımının lojik devreler derslerinde incelenen konuların pek çok uygulama yardımıyla öğrenilmesini içermektedir. Üçüncü kısım PICBIT yazılımı ve PICBIT_PLC donanımının PLC derslerinde incelenen konuların pek çok uygulamalar yardımıyla öğrenilmesini içermektedir. Son kısım da PICBIT_PLC donanımından istifade ederek PIC Assembly dilinin öğrenilmesine yardımcı olmayı amaçlamaktadır. Tüm kitapta pratikte çok karşılaşılan bazı problemlerin çözümü hakkında da detaylı bilgi verilmiştir. Bu kitap pek çok eğitim kurumunda verilen pek çok ders için yardımcı kitap niteliği taşımaktadır. Bu kapsamda, Meslek Liselerinin, Teknik Liselerin, Meslek Yüksek Okullarının, Üniversitelerin Teknik Eğitim ve Mühendislik Fakültelerinin, Elektrik, Elektronik ve Bilgisayar bölümlerinde okuyan tüm öğrencilere yardımcı olacak niteliktedir. Ülkemiz son yıllarda bir kalkınma hamlesi yapma gayreti içerisindedir. Bu bağlamda bu çalışmanın ülkemizin kalkınma hamlesine yardımcı olması dileğiyle Doç. Dr. Murat UZAM Ocak 2008, NİĞDE iv

KİTABIN KULLANIMI Kitabın çok geniş okuyucu kitlesine hitap etmesi düşünüldüğünden kimi konularda çok fazla detay verilmiştir. Bu tür durumlarda eğer okuyucu bu detayların fazla olduğu kanaatindeyse bu kısımları atlayıp kendisi için farklı ya da yeni olan konulara geçmelidir. Genellikle konular kısa bir anlatımdan sonra uygulamalarla incelenmektedir. Tabii ki yapılan uygulamalar PICBIT_PLC donanımının girişçıkış sayısı dikkate alınarak seçilmiştir. Bu sebepten bazı konuların uygulamaları istenildiği gibi olmamıştır. Bu bağlamda okuyucu, kitapta incelenen uygulamaları PICBIT_PLC donanımının müsaade ettiği çerçevede, kendisi istediği şekilde çeşitlendirip çoğaltabilir. Kitap bir önceki kısımda ifade edildiği gibi kapsam olarak dört kısma ayrılmıştır. İlk kısım PICBIT yazılımı ve PICBIT_PLC donanımının tanıtılması ve kullanılmasıyla ilgilidir. İkinci kısım lojik devreler derslerinde incelenen konuların öğrenilmesini içermektedir. Üçüncü kısım PLC lerin öğrenilmesini içermektedir. Son kısım da PICBIT_PLC donanımından istifade ederek PIC Assembly dilinin öğrenilmesine yardımcı olmayı amaçlamaktadır. Bu kısımlar, kitabı oluşturan bölümler dikkate alındığı zaman aşağıdaki gibi gruplandırılabilir: 1nci kısım: PICBIT yazılımı ve PICBIT_PLC donanımının tanıtılması Bölüm 1: PICBIT_PLC donanımına ait şema bu bölümde verilmektedir. Ayrıca bu bölümde PICBIT yazılımı ve PICBIT_PLC donanımı ile çalışmak için gerekli olan diğer donanım ve yazılımdan bahsedilmektedir. Bölüm 2: PICBIT yazılımının çalıştırılması ve bu yazılımdaki menüler detaylı olarak bu bölümde anlatılmaktadır. Bölüm 3: PICBIT yazılımında kullanılan elementlerle ilgili detaylı bir inceleme bu bölümde mevcuttur. Ayrıca PICBIT kullanımına yardımcı olacak bazı ipuçlarına bu bölümde yer verilmiştir. Bölüm 4: PICBIT yazılımıyla beraber gelen on bir tane örnek program bu kısımda incelenmektedir. 2nci kısım: lojik devreler konularının incelenmesi Bölüm 5: Bu kısımda PICBIT yazılımı ve PICBIT_PLC donanımı kullanılarak lojik devreler dersleriyle ilgili pek çok konunun pratik uygulamaları değişik örneklerle incelenmektedir. 3ncü kısım: PLC lerin öğrenilmesi Bölüm 6: Bu bölümde PLC nin ne anlama geldiği ve PLC lerin çalışması kısaca incelendikten sonra PICBIT yazılımı ve PICBIT_PLC donanımı yardımıyla PLC programlama teknikleri anlatılmaktadır. Bu bölümün ikinci kısmında pek çok problem ve bunların PLC yardımıyla çözümlerine ait uygulamalar yer almaktadır. 4ncü kısım: PIC Assembly dilinin öğrenilmesi Bölüm 7: Bu bölümde, PICBIT_PLC donanımından istifade ederek PIC Assembly dilinin öğrenilmesine yardımcı olmak amaçlanmaktadır. Buna göre öncelikle PIC Assembly dilindeki komutlar uygulamalarla incelenmektedir. Daha sonra PICBIT yazılımında kullanılan PICBIT makroları detaylı olarak anlatılmıştır. Ayrıca pratikte çok önemli bir problem olan kontak atlaması problemi tanıtılmış ve bu problemin çözümü ile ilgili açıklamalar da bu bölümde verilmiştir. Son olarak, Ek-A da step (adım) motorlar hakkında bazı açıklamalar verilmiştir. v

İÇİNDEKİLER sayfa BÖLÜM 1 - PICBIT VE PICBIT_PLC YE GİRİŞ... 1 1.1. PICBIT ve PICBIT_PLC ile Çalışmak İçin Yapılması Gerekenler... 5 1.2. PICBIT_PLC İçin Örnek Programlama Devreleri... 6 1.3. PICBIT_PLC yi Programlamak İçin Kullanılabilecek Örnek Bir Seri Port PIC Programlama Donanımı ve Bu Donanımı Destekleyen Yazılımlar... 7 BÖLÜM 2 - PICBIT PROGRAMININ ÇALIŞTIRILMASI VE MENÜLER... 9 2.1. File Menüsü... 10 2.2. Tools Menüsü... 13 2.3. Compile Menüsü... 15 2.4. Hardware Menüsü... 17 2.5. Help Menüsü... 19 BÖLÜM 3 - PICBIT PROGRAMINDA KULLANILAN ELEMENTLER... 23 3.1. IN Elementi... 23 3.2. IN-NOT Elementi... 25 3.3. OUT Elementi... 26 3.4. OUT-NOT Elementi... 27 3.5. AND Elementi... 29 3.6. AND-NOT Elementi... 30 3.7. NAND Kapısı... 32 3.8. OR Elementi... 33 3.9. OR-NOT Elementi... 34 3.10. NOR Kapısı... 35 3.11. XOR Elementi... 36 3.12. XOR-NOT Elementi... 38 3.13. I/O Elementi... 40 3.14. I/O-NOT Elementi... 40 3.15. SET Elementi... 42 3.16. RESET Elementi... 43 3.17. LAT(CH) Elementi... 44 3.18. INV-LAT(CH) Elementi... 45 3.19. DFF Elementi... 46 3.20. COUNTER Elementi... 48 3.21. MONOFLOP Elementi... 51 3.22. IMPULSE Elementi... 53 3.23. INCLUDE Elementi... 56 3.24. STEPPER Elementleri... 60 3.25. PICBIT Kullanımında Bazı İpuçları... 64 BÖLÜM 4 - PICBIT ÖRNEKLERİ... 68 4.1. EX1... 68 4.2. EX2... 68 4.3. EX3... 68 4.4. EX4... 69 4.5. EX5... 69 vi

sayfa 4.6. EX6... 69 4.7. EX7... 70 4.8. EX8... 70 4.9. SEQUENZER... 74 4.10. SEQLATCH... 75 4.11. SEQ_RST... 75 BÖLÜM 5 - PICBIT İLE LOJİK DEVRE TASARIMI... 77 5.1. Lojik (Boole) Fonksiyonların Lojik Kapılarla Gerçekleştirilmesi... 77 5.1.1. Miniterimlerin Toplamı... 79 5.1.2. Maksiterimlerin Çarpımı... 80 5.1.3. Muhtemel Lojik Kapı Kombinasyonları... 84 5.1.4. NAND ve NOR Kapılarının Eşdeğerleri... 92 5.2. Kombinasyonel (Combinational) Devreler... 96 5.2.1. Aritmetik Devreler... 97 5.2.1.1. Yarım Toplayıcı (Half Adder-HA)... 97 5.2.1.2. Tam Toplayıcı (Full Adder-FA)... 98 5.2.1.3. Paralel Toplayıcı (Parallel Adder-PA)... 99 5.2.1.4. Yarım Çıkarıcı (Half Subtractor-HS)... 101 5.2.1.5. Tam Çıkarıcı (Full Subtractor-FS)... 102 5.2.2. Kod Dönüştürücüler (Code Convertors)... 103 5.2.3. Kodlayıcılar (Encoders)... 105 5.2.4. Kod Çözücüler (Decoders)... 106 5.2.5. Karşılaştırıcılar (Comparators)... 118 5.2.6. Data Seçiciler (Multiplexers)... 121 5.2.7. Data Dağıtıcılar (Demultiplexers)... 122 5.3. Flip-Floplar... 125 5.3.1. R-S Flip-Flop... 126 5.3.1.1. Temel R-S Flip-Flop Devreleri... 126 5.3.1.2. Lojik 1 Seviye Tetiklemeli R-S Flip-Flop... 128 5.3.1.3. Lojik 0 Seviye Tetiklemeli R-S Flip-Flop... 131 5.3.2. D Flip-Flop... 133 5.3.2.1. Lojik 1 Seviye Tetiklemeli D Flip-Flop... 133 5.3.2.2. Lojik 0 Seviye Tetiklemeli D Flip-Flop... 135 5.3.2.3. Yükselen Kenar Tetiklemeli D Flip-Flop... 137 5.3.2.4. Düşen Kenar Tetiklemeli D Flip-Flop... 139 5.3.2.5. D Flip-Flopta Asenkron Girişler... 140 5.3.3. J-K Flip-Flop... 142 5.3.3.1. Lojik 1 Seviye Tetiklemeli J-K Flip-Flop... 142 5.3.3.2. Lojik 0 Seviye Tetiklemeli J-K Flip-Flop... 145 5.3.3.3. Yükselen Kenar Tetiklemeli J-K Flip-Flop... 147 5.3.3.4. Düşen Kenar Tetiklemeli J-K Flip-Flop... 149 5.3.3.5. JK Flip-Flopta Asenkron Girişler... 151 5.3.4. T Flip-Flop... 153 5.3.4.1. Lojik 1 Seviye Tetiklemeli T Flip-Flop... 153 5.3.4.2. Lojik 0 Seviye Tetiklemeli T Flip-Flop... 155 5.3.4.3. Yükselen Kenar Tetiklemeli T Flip-Flop... 157 5.3.4.4. Düşen Kenar Tetiklemeli T Flip-Flop... 159 5.3.4.5. T Flip-Flopta Asenkron Girişler... 161 vii

sayfa 5.3.5. Flip-flop ların Birbirine Dönüştürülmesi... 163 5.3.5.1. D Flip-Flop tan J-K Flip-Flop Elde Etmek... 163 5.3.5.2. D Flip-Flop tan T Flip-Flop Elde Etmek... 164 5.3.5.3. J-K Flip-Flop tan D Flip-Flop Elde Etmek... 167 5.3.5.4. J-K Flip-Flop tan T Flip-Flop Elde Etmek... 167 5.3.5.5. T Flip-Flop tan D Flip-Flop Elde Etmek... 167 5.3.5.6. T Flip-Flop tan J-K Flip-Flop Elde Etmek... 168 5.4. Sayıcılar (Counters)... 169 5.4.1. Asenkron Sayıcılar... 169 5.4.1.1. İkili (Binary) Asenkron Sayıcılar... 169 5.4.1.1.1. Yukarı Sayan İkili (Binary) Asenkron Sayıcılar... 169 5.4.1.1.2. Aşağı Sayan İkili (Binary) Asenkron Sayıcılar... 174 5.4.1.1.3. Yukarı/Aşağı Sayan İkili (Binary) Asenkron Sayıcılar... 176 5.4.1.2. Sıfırlamalı ve Kurmalı Asenkron Sayıcılar... 179 5.4.1.2.1. S ve R Asenkron Girişli 4 Bitlik Yukarı Sayan İkili Asenkron Sayıcı.. 180 5.4.1.2.2. Sıfırlamalı 4 bitlik Yukarı Sayan İkili Asenkron Sayıcı... 184 5.4.1.2.3. Belirli Bir Değere Kadar Yukarı Sayan 4 Bitlik Sıfırlamalı Asenkron Sayıcı... 185 5.4.1.2.4. Belirli Bir Değerden Başlayıp Yukarı Sayan 4 Bitlik Kurmalı Asenkron Sayıcı... 187 5.4.1.2.5. Yukarı Sayan 4 Bitlik Çok Seçenekli Kurmalı Asenkron Sayıcı.. 189 5.4.1.2.6. Belirli Sınırlar Arasında Yukarı Sayan 4 Bitlik Kurmalı Asenkron Sayıcı... 190 5.4.2. Senkron Sayıcılar... 192 5.4.2.1. 4 Bitlik (Mod-16) Senkron Yukarı Sayıcı... 193 5.4.2.2. BCD (Mod-10) Senkron Yukarı Sayıcı... 195 5.4.2.3. 4 Bitlik Senkron Yukarı/Aşağı Sayıcı... 196 5.4.2.4. Senkron Sayıcı Tasarımı... 198 5.4.2.5. Senkron Sayıcı Tasarımı İçin Alternatif Bir Yöntem... 206 5.5. Shift Registerler... 215 5.5.1. Seri Girişli Seri Çıkışlı Shift Register... 215 5.5.2. Seri Girişli Paralel Çıkışlı Shift Register... 219 5.5.3. Paralel Girişli Seri Çıkışlı Shift Register... 221 5.5.4. Paralel Girişli Paralel Çıkışlı Register... 227 5.5.5. İki Yönlü Shift Register... 228 5.5.6. Shift Register Sayıcıları... 231 5.5.6.1. Halka Sayıcı (Ring Counter)... 231 5.5.6.2. Johnson Sayıcısı... 233 5.5.7. Shift Register Kullanımına Bir Örnek Seri Bilgi Transferi... 235 5.6. Hafıza Devreleri... 238 5.6.1. 4 2 SRAM... 239 5.6.2. 16 8 ROM... 246 5.7. Sıralı (Sequential) Devreler... 251 5.7.1. D Flip-Floplar Kullanarak Senkron Sıralı Devrelerin Tasarımı... 253 5.7.2. D Flip-Floplar Kullanılan Yöntem İçin Tasarım Örneği... 253 5.7.3. Her Durum İçin Bir D Flip-Flop Kullanarak Senkron Sıralı Devrelerin Tasarımı... 259 5.7.4. Her Durum İçin Bir D Flip-Flop Kullanılan Yöntem İçin Tasarım Örneği... 260 viii

sayfa 5.7.5. Data Seçiciler (Multiplexer) Kullanarak Senkron Sıralı Devrelerin Tasarımı.. 265 5.7.6. Data Seçiciler (Multiplexer) Kullanılan Yöntem İçin Tasarım Örneği... 265 5.7.7. ROM Kullanarak Senkron Sıralı Devrelerin Tasarımı... 272 5.7.8. ROM Kullanılan Yöntem İçin Tasarım Örneği... 273 5.7.9. Uygulama Örneği (İkili Şifre Çözücü Devre)... 280 BÖLÜM 6 - PICBIT İLE PLC ÖĞRENELİM... 286 6.1. Programlanabilir Lojik Denetleyicilerin Tanımı ve Çalışma Prensibi... 286 6.2. Röle ve Kontaktörlerin Çalışma Prensibi... 287 6.3. Merdiven Diyagramı (Ladder Diagram) Programlar... 288 6.4. Lojik Kapıların Merdiven Diyagramı Karşılıkları ve PICBITte Gerçekleştirilmeleri 293 6.4.1. AND Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi. 294 6.4.2. OR Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi... 295 6.4.3. NOT Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi. 296 6.4.4. NAND Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi... 297 6.4.5. NOR Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi 298 6.4.6. EXOR Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi... 300 6.4.7. EXNOR Kapısı, Basamak Diyagramı Karşılığı ve PICBIT te Gerçekleştirilmesi... 300 6.5. Zaman Röleleri... 301 6.5.1. Düz Zaman Rölesi (On Delay Timer)... 301 6.5.1.1. MONOFLOP Elementi ile Düz Zaman Rölesi Elde Etmek... 302 6.5.1.2. CNT Elementi ile Düz Zaman Rölesi Elde Etmek... 303 6.5.2. Ters Zaman Rölesi (Off Delay Timer)... 304 6.5.2.1. MONOFLOP Elementi ile Ters Zaman Rölesi Elde Etmek... 305 6.5.2.2. CNT Elementi ile Ters Zaman Rölesi Elde Etmek... 306 6.5.3. Osilatör Zaman Rölesi... 307 6.5.3.1. TIMER Elementi ile Osilatör Zaman Rölesi Elde Etmek... 308 6.5.3.2. TIMER ve CNT Elementleri ile Osilatör Zaman Rölesi Elde Etmek... 309 6.5.4. Puls Zaman Rölesi (Puls Timer)... 310 6.5.4.1. MONOFLOP Elementi ile Puls Zaman Rölesi Elde Etmek... 311 6.5.4.2. CNT Elementi ile Puls Zaman Rölesi Elde Etmek... 312 6.6. Sayıcılar... 313 6.7. PLC Programlama Teknikleri ve PICBITte Gerçekleştirilmeleri... 315 6.7.1. Çoğunluk Devresi... 315 6.7.2. Osilatör... 319 6.7.3. Sürekli 1 ve Sürekli 0 Olan Kontaklar... 322 6.7.4. Tek Atım Devreleri... 324 6.7.5. R-S Flip-Flop... 329 6.7.6. D Flip-Flop... 330 6.7.7. T Flip-Flop... 335 6.7.8. J-K Flip-Flop... 341 6.7.9. 4 Bitlik Senkron Sayıcı Devresi... 346 6.7.10. 4 Bitlik Seri Girişli Paralel Çıkışlı Shift Register Devresi... 349 6.8. Uygulama Örnekleri... 352 6.8.1. Start/Stop Devresi 1... 353 6.8.2. Start/Stop Devresi 2... 354 ix

sayfa 6.8.3. Tek Butonla Start/Stop devresi... 355 6.8.4. Bilgi Yarışması Problemi 1... 355 6.8.5. Bilgi Yarışması Problemi 2... 358 6.8.6. Merdiven Otomatiği Problemi 1... 362 6.8.7. Merdiven Otomatiği Problemi 2... 363 6.8.8. Trafik Işığı Kontrolu 1... 366 6.8.9. Trafik Işığı Kontrolu 2... 370 6.8.10. Trafik Işığı Kontrolu 3... 373 6.8.11. Endüstriyel Kapı Kontrolu 1... 377 6.8.12. Endüstriyel Kapı Kontrolu 2... 379 6.8.13. Kutu Dolum Problemi 1... 382 6.8.14. Kutu Dolum Problemi 2... 384 6.8.15. Kutu Dolum Problemi 3... 387 6.8.16. Kutu Dolum Problemi 4... 391 6.8.17. Sıvı Karıştırma Problemi... 395 6.8.18. Renk Ayrım Sistemi... 399 6.8.19. Yürüyen Işıklar 1... 403 6.8.20. Yürüyen Işıklar 2... 406 6.8.21. Yürüyen Işıklar 3... 408 6.8.22. Yürüyen Işıklar 4... 411 6.8.23. Yürüyen Işıklar 5... 415 6.8.24. Yürüyen Işıklar 6... 420 BÖLÜM 7 - PICBIT_PLC İLE PIC ASSEMBLY ÖĞRENELİM... 424 7.1. MPLAB IDE PIC Assembly Programı Geliştirme Ortamı... 424 7.2. PIC Assembly Program Örnekleri... 425 7.2.1. Port A ve Port B nin Giriş ya da Çıkış Olarak Düzenlenmesi... 425 7.2.1.1. ornek1_1.asm... 425 7.2.1.2. ornek1_2.asm... 426 7.2.1.3. ornek1_3.asm... 427 7.2.2. Bit Test, Bit Set, Bit Reset Örnekleri... 428 7.2.2.1. ornek2_1.asm... 428 7.2.2.2. ornek2_2.asm... 429 7.2.2.3. ornek2_3.asm... 430 7.2.2.4. ornek2_4.asm... 431 7.2.3. Sayaç Kullanarak Döngü Düzenlemek... 432 7.2.3.1. ornek3_1.asm... 432 7.2.3.2. ornek3_2.asm... 433 7.2.4. Zaman Gecikmesi Elde Etmek... 434 7.2.4.1. Zaman Gecikmesi Elde Etmek İçin Kullanılan 1. Grup Yöntemlere Ait Örnekler... 434 7.2.4.1.1. ornek4_1.asm... 434 7.2.4.1.2. ornek4_2.asm... 435 7.2.4.1.3. ornek4_3.asm... 437 7.2.4.2. Zaman Gecikmesi Elde Etmek İçin Kullanılan 2. Yönteme Ait Örnekler... 438 7.2.4.2.1. ornek4_4.asm... 438 7.2.4.2.2. ornek4_5.asm... 440 7.2.4.2.3. ornek4_6.asm... 442 x

sayfa 7.2.5. Bazı PIC Assembly Komutlarının Kullanımı... 445 7.2.5.1. SUBLW Komutunun Kullanımı ornek5_1.asm... 445 7.2.5.2. SUBWF Komutunun Kullanımı ornek5_2.asm... 446 7.2.5.3. SUBWF Komutunun Kullanımı ornek5_3.asm... 447 7.2.5.4. ADDLW Komutunun Kullanımı ornek5_4.asm... 448 7.2.5.5. ADDWF Komutunun Kullanımı ornek5_5.asm... 450 7.2.5.6. ANDLW Komutunun Kullanımı ornek5_6.asm... 451 7.2.5.7. ANDWF Komutunun Kullanımı ornek5_7.asm... 453 7.2.5.8. IORLW Komutunun Kullanımı ornek5_8.asm... 454 7.2.5.9. IORWF Komutunun Kullanımı ornek5_9.asm... 455 7.2.5.10. XORLW Komutunun Kullanımı ornek5_10.asm... 456 7.2.5.11. XORWF Komutunun Kullanımı ornek5_11.asm... 457 7.2.5.12. COMF Komutunun Kullanımı ornek5_12.asm... 458 7.2.5.13. SWAPF Komutunun Kullanımı ornek5_13.asm... 460 7.2.5.14. RLF Komutunun Kullanımı ornek5_14.asm... 461 7.2.5.15. RRF Komutunun Kullanımı ornek5_15.asm... 463 7.2.5.16. RLF ve RRF Komutlarının Kullanımı ornek5_16.asm... 465 7.2.5.17. RETLW Komutunun Kullanımı ornek5_17.asm... 467 7.2.6. TMR0 ın Kullanılması... 468 7.2.7.1. TMR0 Sayıcısı 1 ornek6_1.asm... 468 7.2.7.2. TMR0 Sayıcısı 2 ornek6_2.asm... 470 7.2.7. PICBIT Makroları... 471 7.2.7.1. Temel PICBIT Makroları... 472 7.2.7.1.1. Tanımlar Dosyası... 475 7.2.7.1.2. Temel Program... 477 7.2.7.1.3. ld, ld_not, inv, out, out_not, in_out, inv_out Makrolarının Kullanımı - ornek7_1.asm... 478 7.2.7.1.4. or, or_not ve nor Makrolarının Kullanımı - ornek7_2.asm 481 7.2.7.1.5. and, and_not ve nand Makrolarının Kullanımı - ornek7_3.asm... 483 7.2.7.1.6. xor, xor_not ve xnor Makrolarının Kullanımı - ornek7_4.asm... 486 7.2.7.2. _set ve _reset Makroları... 488 7.2.7.3. latch ve inv_lat Makroları... 491 7.2.7.4. r_edge ve f_edge Makroları... 493 7.2.7.5. dff ve idff Makroları... 498 7.2.7.6. ctr08 Makrosu... 502 7.2.7.7. ctr16 Makrosu... 506 7.2.7.8. mflop08 Makrosu... 511 7.2.7.9. mflop16 Makrosu... 516 7.2.7.10. dzr08 Makrosu... 521 7.2.7.11. dzr16 Makrosu... 526 7.2.7.12. stepp_1 Makrosu... 531 7.2.7.13. stepp_2 Makrosu... 539 7.2.8. Kontak Atlaması Problemini Gidermek... 547 7.2.8.1. Kontak Atlaması Problemiyle Yüzleşelim ornek8_1.asm... 549 7.2.8.2. Kontak Atlaması Probleminin Çözümü 1 ornek8_2.asm... 553 7.2.8.3. Kontak Atlaması Probleminin Çözümü 2 ornek8_3.asm... 559 7.2.8.4. Kontak Atlaması Probleminin Çözümü 3 ornek8_4.asm... 566 xi

sayfa 7.2.8.5. Kontak Atlaması Probleminin Çözümü 4 ornek8_5.asm... 573 7.2.9. EEPROM dan Bilgi Okumak ve EEPROM a Bilgi Yazmak... 581 7.2.9.1. EEPROM dan Bilgi Okumak ornek9_1.asm... 581 7.2.9.2. EEPROM a Bilgi Yazmak ve EEPROM dan Bilgi Okumak 1 ornek9_2.asm... 584 7.2.9.3. EEPROM a Bilgi Yazmak ve EEPROM dan Bilgi Okumak 2 ornek9_3.asm... 586 7.2.9.4. EEPROM a Bilgi Yazmak ve EEPROM dan Bilgi Okumak 3 ornek9_4.asm... 593 EK -A - STEP MOTORLAR... 598 Step Motorların Genel Karakteristikleri... 598 Step Motor Türleri... 599 Tek Kutuplu (unipolar) Sabit Mıknatıslı Step Motor... 599 İki Kutuplu (bipolar) Sabit Mıknatıslı Step Motor... 601 Universal Sabit Mıknatıslı Step Motor... 603 Değişken Relüktanslı Step Motorlar... 603 Bilinmeyen Step Motorun Karakteristiklerini Tanımlama... 604 KAYNAKÇA... 606 DİZİN... 607 xii