MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve

Benzer belgeler
Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

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

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

PIC 16F877 nin kullanılması

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

LCD (Liquid Crystal Display)

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

PIC TABANLI, 4 BASAMAKLI VE SER

# 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

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB= BCF STATUS,5 ;bank0 a geçiş

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

LCD (Liquid Crystal Display )

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

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

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

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

8 Ledli Havada Kayan Yazı

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

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

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

Komutların İşlem Süresi

EEM 419-Mikroişlemciler Güz 2017

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

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

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür.

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1

T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİYLE ANALOG İŞLEMLER 523EO0022

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

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

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ELEKTRİK ELEKTRONİK TEKNOLOJİSİ

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

Hacettepe Robot Topluluğu

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

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

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

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

DOKUMANLAR

KONFİGÜRASYON BİTLERİ

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

Mikro denetleyicili Uygulama devresi bileşenleri

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma

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

EasyPic 6 Deney Seti Tanıtımı

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

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

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

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

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

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

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

DC motorların sürülmesi ve sürücü devreleri

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

Mikroişlemciler. Microchip PIC

Microprocessors and Programming

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

Çizgi İzleyen Robot Yapımı

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur:

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir.

Komutların İşlem Süresi

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

PIC Mikrodenetleyicileri

PIC MCU ile UYGULAMALAR

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKÎ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİ-3

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

EEM 419-Mikroişlemciler Güz 2016

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

Mikroislemci Kontrollu Prototip Trafik Lambalari ve Geri Sayici

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

BÖLÜM Mikrodenetleyicisine Giriş

PIC Mikro denetleyiciler ve Programlama. Öğr.Gör.Bülent ÇOBANOĞLU

Prototip Bir PIC Programlama ve Deney Setinin Tasarımı

BESLEME KARTI RF ALICI KARTI

Yrd. Doç.Dr. Bülent ÇOBANOĞLU. Hazırlayan:Yrd.Doç.Dr.Bülent ÇOBANOĞLU 1

ONDOKUZ MAYIS ÜNİVERSİTESİ

ACD BİLGİ İŞLEM ACD KABLOSUZ VERİ TOPLAMA SİSTEMLERİ URT-V2 KABLOSUZ VERİ TOPLAMA TERMİNALİ DONANIM TEKNİK BELGESİ. URT-V2 Terminallerinin

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

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

ÖĞRENME FAALİYETİ-1 ÖĞRENME FAALİYETİ 1

ENDÜSTRİYEL TİP GAZ DEDEKTÖRLERİ. powered by

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

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

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr.

PIC PROG/DEKA PRO-2, Microchip mikro denetleyici ailesinde PIC16 ve PIC18 serisinin

PIC MCU da Komutların İşlem Süresi

PIC16F84A Mikroislemci Denetimli Bir Sayisal Sinyal Üretici Tasarimi

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

Transkript:

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI Muciz ÖZCAN 1 Hidayet GÜNAY 2 1 Selçuk Üniversitesi KONYA 2 MPG Makine Prodüksiyon Grubu Arge- Müh. KONYA Özet Haberleşme, Elektronik, Kontrol ve Otomasyon Teknolojisi Programı öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve bu işlemleri nasıl gerçekleştirebileceklerine ait deneyim kazandırmak önemlidir. Bu çalışmada söz konusu amaca uygun PIC 16F877 kullanılarak bir deney seti tasarlanmış ve gerçekleştirilmiştir. Tasarlanan deney setinde ışık yayan diyot, sıvı kristal ve yedi parçalı gösterge, doğru akım motoru hız kontrolü, devir sayısı ölçümü, adım motor çalıştırılması, A/D dönüşüm, alarm devresi, gibi uygulamalar gerçekleştirilmiştir. Anahtar Kelimeler: Mikrodenetleyici, Mikroişlemci, PIC16F877 DESIGN AND APPLICATIONS DEVELOPMENT KIT MICROCONTROLLER Abstract It is important that the students in branch of Communication, Electronic, Control and Automation Technology have to gain the experience on control process required during their formal training and their industrial life. In this study for this purpose a Peripheral Interface Controller experiment set coded PIC16F877 was designed and manufactured on microprocessor and microcontroller for implementation. Designed set of experiments in the light-emitting diode, seven-piece and liquid crystal display, direct * Corresponding author. Tel: 90.332.2232400; Fax: 90.223 2410185 E-mail address: ozcan@selcuk.edu.tr 307

current motor speed control, speed measurement, step motor running, A / D conversion, alarm circuit, such as applications were carried out. Keywords: Microcontroller, Microprocessor, PIC 16F877 1. Giriş Elektronik ve haberleşme teknolojisi alanında son yılarda meydana gelen hızlı gelişmeler analog sistemlere göre yüksek doğruluk ve hızda işlem yapan mikrodenetleyicilerin çok değişik alanlarda kullanılmalarına olanak sağlamıştır. Mikrodenetleyiciler çalışma hızlarının yüksek olması nedeni ile zamandan fiziksel boyutlarının küçük olması nedeni ile de yerden kazanç sağladıkları bilinmektedir[1, 2]. Mikroişlemciler ve mikrodenetleyiciler günümüzde yaygın olarak kontrol işlemlerini gerçekleştirmek üzere otomasyon uygulamalarında kullanılmaktadır [3, 4, 5, 6, 7]. Günümüzde kullanılan otomasyon uygulama alanları ise bir birinden çok farklı alanları kapsamasına rağmen kontrol işleminin gerçekleştirilmesi açısından aynı temel prensipleri taşımaktadır. Kontrol işlemlerinin gerçekleştirilmesi işlemlerinde bir ev otomasyon sistemi ile araç veya market otomasyonu işlemleri arasında çok büyük farklılıklar yoktur. Bu çalışmada gerçekleştirilen mikrodenetleyici deney setinin mühendisler ve öğrencilerin PIC mikro denetleyicinin tüm özelliklerini kolayca öğrenmesi ve otomatik kontrol uygulamalarını kolayca uygulayabilmesi göz önünde tutularak tasarlanmıştır. 2. Gerçekleştirilen Deney Seti Donanımı Mikro işlemci deney seti tasarımında kullanıcının harici devrelere bağlantı yapabileceği göz önünde tutulmuştur. Bu işlemleri gerçekleştirmek için devre üzerine 308

giriş/çıkış soketleri konmuştur. Şekil 1 de bu amaca uygun olarak geliştirilen deney seti ve donanım elemanları görülmektedir. Deney seti gerçekleştirilirken her bir parça PCB devre üzerinde seri grafik olarak markalanmıştır. 1. Harici besleme (8-16V AC/DC) 2. IC PROG ile seri MCU programlayıcı 3. RS 232C Haberleşme 4. MCU reset butonu 5. DIP40 MCU lar için ZIF soket 6. DIP18 MCU lar için soket 7. 4 MHz Kristal osilatör devresi 8. Analog giriş için potansiyometreler 9. 4 dijit yedi parçalı gösterge 10. 8 li LED gösterge 11. LCD gösterge bağlantısı 12. LCD netlik ayarı 13. Buzzer devresi 14. Mosfet ile PWM uygulaması için DC Motor 15. Optik kodlayıcı 16. Röleler 17. Adım motor 18. ULN 2003 sürücü devresi 19. 4x4 tuş takımı 20. Giriş/Çıkış Terminalleri Şekil 1. PIC Deney Seti Donanımı PCB deki yazılar ise elektronik şemayla ilgili bilgi vermek amacıyla yapılmıştır. Deney seti üzerine 33 adet programlanabilir giriş/çıkış pinine sahip PIC16F877A kullanılabilecek şekilde MCU soketi konulmuştur. Mikroişlemciye yapılabilecek veri giriş/çıkış sayısı 8255 kullanılarak artırılabilir. Kullanıcı isterse 40 pin MCU lar için ZIF soket ve 18 pin MCU lar için entegre soketini de kullanabilir. Tablo 1 de üç değişik tip PIC mikrodenetleyicinin özellikleri verilmiştir. 309

Tablo 1 PIC Mikrodenetleyiciler ve özellikleri[8] Özellikler PIC18F452/442 PIC16F877 PIC16F876 Çalışma Hızı DC-4Mhz DC-20Mhz DC-4Mhz Program Belleği 16Kx8192(442) 8Kx14bit Flash ROM 8Kx14bit Flash ROM 32Kx16384(452) EEPROM 256 byte 256 byte 256 byte Kullanıcı Ram 768 byte(442) 368 byte 368 byte 1536 byte(452) Giriş/Çıkış PortA,PortB,PortC, PortA,PortB,PortC, PortA,PortB,PortC, Portları PortD, PortE PortD, PortE Timer Timer0,Timer1, Timer2,Timer3 Timer0,Timer1, Timer2 Timer0,Timer1, Timer2 Kesme Kaynağı 20 adet 14 adet 13 adet A/D Çevirici 13 kanal 10 bit 8 kanal 10 bit 5 kanal 10 bit Seri arayüz PSP,I 2 C,SPI I 2 C,SPI I 2 C,SPI 3. Deney Seti Üzerinde Yapılabilecek Uygulamalar Program yazımı aşamasında PIC in hangi portların giriş hangi portların çıkış olarak kullanılacağı önceden belirlenmelidir. Deney seti üzerinde bulunan uygulama devrelerini giriş ve çıkış uygulamaları olmak aşağıda belirtildiği şekilde iki gruba ayırabiliriz 1. Deney seti üzerinde yapılabilecek veri girişi uygulamaları; 4X4 Matris Tuş Takımı Uygulaması Analog/Dijital Veri girişi Uygulaması Optik kodlayıcı Uygulaması RS 232 giriş/çıkış Uygulaması 2. Deney seti üzerinde yapılabilecek veri çıkışı uygulamaları; Gösterge Uygulamaları (LED Bar, Yedi Parçalı Gösterge, LCD Gösterge) Röle Uygulaması Buzer Devresi Uygulaması Step Motor Sürme Uygulaması DC Motor Çalıştırma 310

3.1. Deney seti üzerinde yapılabilecek veri girişi uygulamaları Deney seti üzerinde yapılabilecek veri girişi uygulamaları ve kullanılan çevre donanım elemanların PIC e bağlantı şeması Şekil 2 de verilmiştir. Gerçekleştirilen deney setine dışarıdan bir tuş takımı ile veya seri port üzerinden veri girişi yapılabilir. Dışarıdan mikroişlemciye Analog veri girişi için potansiyometreler kullanılmıştır. Bir optik kodlayıcı ile çalışmakta olan motora ait dönme bilgisi(hızı) algılanması sağlanmıştır. Mühendislik uygulamalarda sık sık karşılaşılan problemlerden biri de bir mikroişlemciye dışarıdan bir tuş takımı yardımı ile veri girilmesidir. Örneğin bir kontrol sisteminde kumanda edilecek bir saha cihazına ait önceden belirlenen verilerin girilmesi uygulaması bu tip bir uygulamadır. Şekil 2. Deney seti üzerindeki yapılabilecek veri girişi uygulamaları 311

Tasarlanan PIC 16F877A deney setinde mikroişlemcinin B portu Matris tuş takımı girişi için kullanılmıştır. Kesmeler mikrodenetleyicinin ani olarak cevap vermesi gereken bazı özel durumlarda kullanılır. Bu durumlar seri porttan bilgi alınması, zamanlayıcılardan birinin taşmış olması veya RB0 ila RB3 girişlerinden birinin değişmesi durumu olabilir. Kesme işlemi olmadığında mikrodenetleyici içerisinde bulunan yazılımı yürütür. Bir kesme olması durumunda mikrodenetleyici bu değişimi fark eder ana programın çalışmasını durdurur ve kesmeye ait özel alt programı çalıştırır. Kesme türüne bağlı olarak uygun alt programların önceden tanımlanması gerekir. Kesmeye ait alt program işletildikten sonra mikrodenetleyici ana programda kaldığı yerden programı yürütmeye devam eder. Genellikle tuş taraması işlemini gerçekleştirme işlemi şu şekilde yapılır. PIC 16F877A portundaki RB0 ila RB3 girişi arasındaki sütunlarından birisi sırayla CLEAR yapılır ve RB4 ila RB7arasındaki girişlerinden hangisinin CLEAR olduğuna bakılarak basılan tuş belirlenmeye çalışılır. Girişleri serbest bırakmamak için mikroişlemci içinde bulunan dirençler artı beslemeye bağlanmalıdır. Bu işlem option kaydedicisinin ilgili biti aktif edilerek yapılır. PIC 16F877A nın B portuna bağlı olan tuşlardan hangisine basıldığı bilgisini (0x00 dan 0x0F ye) işlemcinin D portuna bağlı ledlerde gösteren yazılım uygulaması Tablo 2 de verilmiştir. Bu program C, PICBasicpro, PIC Assembly, Jal vb. programlarda hazırlanabileceği gibi PICBit, Parsic vb. hazır paket programlar ile de hazırlanabilir. Bu çalışmadaki programlar MPLAB Tools V7.60 da hazırlanmıştır[8]. 312

Tablo 2 retlw 0x08 list p=16f877a btfss portb,5 #include <p16f877a.inc> retlw 0x04 sayac1 equ 0x70 btfss portb,4 sayac2 equ 0x71 retlw 0x00 ;***************************** movlw B'11111101' bsf status,rp0 movwf portb movlw b'11110000' btfss portb,7 movwf trisb retlw 0x0D movlw b'00000000' btfss portb,6 movwf trisd retlw 0x09 bsf option_reg,not_rbpu btfss portb,5 bcf status,rp0 retlw 0x05 clrw btfss portb,4 basla retlw 0x01 call tustakımı_oku movlw B'11111011' movwf portd movwf portb btfss portb,7 goto basla retlw 0x0E tustakımı_oku btfss portb,6 movlw B'11111110' retlw 0x0A movwf portb btfss portb,5 btfss portb,7 retlw 0x06 retlw 0x0C btfss portb,4 btfss portb,6 retlw 0x02 movlw B'11110111' movwf portb btfss portb,7 retlw 0x0F btfss portb,6 retlw 0x0B btfss portb,5 retlw 0x07 btfss portb,4 retlw 0x03 goto tustakımı_oku ;--------------------------------------- gecikme movlw d'255' movwf sayac1 movwf sayac2 dongu decfsz sayac1,f goto dongu decfsz sayac2,f goto dongu return ;**************************** END Mikrodenetleyicide bulunan analog girişler yardımı ile kontrol ortamında meydana gelen fiziksel büyüklüklerdeki (Açı, hız, gerilim, ivme, akım, sıcaklık, nem vb.) değişimler bir algılayıcı yardımı ile kolayca algılanabilir. Fiziksel büyüklükleri ölçen algılayıcılar çıkışlarında analog sinyal üretirler. Algılayıcıdan gelen analog sinyal mikrodenetleyici tarafından dijital koda dönüştürülerek kontrol algoritmasında değerlendirilir. Deney seti üzerine bir potansiyometreden analog sinyalin üretilmesi sağlanmıştır. Deney seti üzerinde mikrodenetleyicinin analog girişlerinden biri olan RA0 girişine analog sinyal uygulanmıştır. Söz konusu girişe uygulanan analog sinyali sayısal koda dönüştürüp D portuna bağlı LED lerde gösteren uygulama programı Tablo 3 de verilmiştir. 313

Tablo 3 list p=16f877a #include <p16f877a.inc> BASLA SAYAC1 EQU 0X70 MOVF ADRESH,W SAYAC2 EQU 0X71 MOVWF PORTD ;************************ CALL GECIKME * movlw b'00000101' clrf status movwf ADCON0 bsf status,rp0 bekle movlw b'00001110' btfsc ADCON0,2 movwf adcon1 goto bekle bsf trisa,0 GOTO BASLA clrf trisd ;--------------------------------------- bcf status rp0 GECIKME movlw d'100' movwf SAYAC1 movwf SAYAC2 s2 decfsz SAYAC1,f goto s2 decfsz SAYAC2,f goto s2 return ;*************************** * Çeşitli ortamlardan elde edilen veya ölçülen fiziksel büyüklüklerin, değerlendirmek amacıyla merkezi işlem noktasına gönderilmesi günümüzde gittikçe önem kazanmaktadır[9]. Verinin bir noktadan diğer bir noktaya aktarılması gereken sistemlere çevresel ölçüm düzenekleri, fiziksel deney ölçüm sistemleri, endüstriyel ölçüm sistemleri örnek olarak verilebilir. Bu işlem mikrodenetleyicilerde haberleşme portu (RS232) yardımıyla gerçekleştirilebilir. Mikrodenetleyicilerde RS232 arayüzü ile iki mikrodenetleyici arasında veya bir mikrodenetleyici ile bir bilgisayar arasında, iki iletken ile 10 metre mesafeye kadar seri veri iletişimi gerçekleştirilebilir[10]. Eğer kullanılacak mikrodenetleyicide çevre birimi (UART) içerisinde bulunuyorsa bilgisayarlarda bulunan RS232 ara yüzünü kolayca kullanabiliriz. Tasarlanan deney setinde kullanılan PIC16F877 UART birimine sahiptir. Bu arabirim aynen Timer0 da olduğu gibi geri planda seri veri alış verişi yaparken, PIC ana program üzerinde çalışmaya devam eder. Deney setinde kullanılan mikrodenetleyicinin bilgisayar ile haberleşmesi için mikrodenetleyici seri haberleşme veri giriş/çıkış sinyalleri seviye olarak RS232 seviyesinde değildir. Deney seti tasarımında mikrodenetleyici seri haberleşme veri giriş/çıkış sinyalleri Max232 entegresiyle RS232 314

sinyal seviyesine dönüştürülmüştür. ASCII A karakterini seri porta gönderen ve seri porttan gelen veriyi D portuna bağlı LED lerde gösteren program Tablo 4 de verilmiştir (8 bit asenkron haberleşme, pariti biti yok, baudrate=9600, Osilatör frekansı 4MHz için). Tablo 4 listp=16f877a #include <p16f877a.inc> ;*************************** bsf status,5 clrf trisd MOVLW b'00100100' movwf TXSTA MOVLW d'25' MOVWF SPBRG bcf status,5 basla bekle clrf portd MOVLW b'10010000' movwf RCSTA MOVLW 'A' movwf txreg bsf status,5 btfsc txsta,trmt goto bekle bcf status,5 btfss pir1,rcif goto basla movf rcreg,w movwf portd bcf pir1,rcif goto basla ;*********************** END 3.2. Deney seti üzerindeki yapılabilecek veri çıkışı uygulamaları Deney seti üzerinde yapılabilecek veri çıkışı uygulamaları ve kullanılan çevre donanım elemanların PIC e bağlantı şeması Şekil 3 de verilmiştir. PIC 16F877A entegrenin D portuna 8 adet LED, LCD ekran, 7 parçalı gösterge Şekil 3 de gösterildiği gibi bağlanmıştır. LED uygulaması ile mikroişlemcinin herhangi bir çıkışının bit ve Word olarak nasıl kontrol edilebileceği kolayca görsel ve uygulamalı olarak öğrenilebilir. 7 parçalı gösterge uygulaması ile Decimal ve Hexadecimal olarak bir veri dışarıya gösterilebilir. LCD uygulaması ile rakamsal işlemlere ilaveten alfabetik karakterler de gösterilebilir. Deney setinde bulunan LCD göstergesi yazılacak kontrol algoritmaları yardımı ile kumanda edilen siteme ait anlık veri değişimleri gösterilerek görsellik artırılabilir. 315

Şekil 3. Deney seti üzerindeki yapılabilecek veri çıkışı uygulamaları D portunu başka işlemler (Yedi parçalı ve LCD Gösterge) için de kullanabilmek için Ledlerin ortak ucu beslemenin negatif hattına bir atlama ile bağlanmıştır. LED uygulaması ile mikroişlemcinin herhangi bir çıkışının bit ve Word olarak nasıl kontrol edilebileceği kolayca görsel ve uygulamalı olarak öğrenilebilir. PIC 16F877A nın D portuna bağlı ledleri yakarak binary olarak 0 dan 255 e saydıran bir örnek program Tablo 5 de verilmiştir. Tablo 5 list p=16f877a #include <p16f877a.inc> sayac1 equ 0x70 sayac2 equ 0x71 ;*************************** CLRF PORTD bsf status,5 clrf trisd bcf status,5 basla incf portd,f goto basla gecikme movlw d'255' movwf sayac1 movwf sayac2 dongu decfsz sayac1,f goto dongu decfsz sayac2,f goto dongu return ;*********************** END 316

PORTC nin 4. bitine bağlı röleyi açtıktan bir süre sonra diğer (PORTC nin 5. bitindeki) röleyi aktif eden program Tablo 6 da verilmiştir. Tablo 6 list p=16f877a gecikme #include <p16f877a.inc> movlw d'255' sayac1 equ 0x70 movwf sayac1 sayac2 equ 0x71 bsf portc,5 movwf sayac2 ;************************* dongu bsf status,5 decfsz sayac1,f bcf trisc,4 goto dongu bcf trisc,5 bcf portc,5 decfsz sayac2,f bcf status,5 bcf portc,4 goto dongu basla bekle return bsf portc,4 goto bekle ;************************ * PORTA nın 5. bitine bağlı buzzer dan alarm veren program Tablo 7 de (ADCON1 kaydediciden PORTA dijital olarak ayarlanmalıdır) verilmiştir. Tablo 7 list p=16f877a #include <p16f877.inc> sayac1 equ 0x70 ;****PROGRAM***************** bsf status,rp0 movlw b'00000110' movwf adcon1 bcf trisa,5 bcf status,rp0 basla bsf porta,5 bcf porta,5 goto basla ;---GECIKME ALT PROGRAMI--------- gecikme movlw d'255' movwf sayac1 dongu decfsz sayac1,f goto dongu return ;******************************* END Deney seti üzerindeki Step motoru bir yöne döndüren program Tablo 8 de verilmiştir. Tablo 8 list p=16f877a #include <p16f877a.inc> sayac1 equ 0x70 sayac2 equ 0x71 sayac equ 0x72 bsf status,rp0 clrf trisc bcf status,rp0 basla movlw d'4' movwf sayac step movf sayac,w call CEV_TAB_STEP movwf portc clrf portc decfsz sayac,f goto step goto basla CEV_TAB_STEP ADDWF PCL,F RETLW b'00000000' RETLW b'00001000' RETLW b'00000100' RETLW b'00000010' RETLW b'00000001' 317 gecikme movlw d'100' movwf sayac1 movwf sayac2 s2 decfsz sayac1,f goto s2 decfsz sayac2,f goto s2 return END

Mikrodenetleyicide bulunan bir çevresel birimde PWM (Pulse Width Modulation) yani darbe genişlik modülasyon birimidir. Bu birim sayesinde mikrodenetleyici tarafından üretilen 8 bitlik sayısal kod (decimal olarak 0 ila 255 arasında değişir) analog sinyale dönüştürülebilir. Bu işlem ise mikrodenetleyici çıkışı 0 voltta tutma ile 5 voltta tutma süreleri ayarlanarak ilgili çıkışın gerilim değeri ayarlanabilir. hesabı: Mikrodenetleyicide PWM sinyalin periyodunun PR2 kaydedici değerine göre PWM Periyodu = [(PR2) + 1] 4 TOSC (TMR2 ön skala değeri) Dutycycle değerinin CCPR1L e göre hesabı: PWM Duty Cycle =(CCPR1L:CCP1CON<5:4>) TOSC (TMR2 ön skala değeri) dır[11]. Buna göre DC Motoru istenen hızda döndüren program Tablo 9 da verilmiştir. Tablo 9 list p=16f877a #include <p16f877.inc> sayac1 equ 0x70 sayac2 equ 0x71 ;************************ bsf status,rp0 bsf trisc,0 bcf trisc,2 MOVLW d'255' MOVWF PR2 Bcf status,rp0 MOVLW b'00001100' MOVWF CCP1CON MOVLW B'00000100' MOVWF T2CON Movl d'100' movwf ccpr11 bekle goto bekle ; ************************** END 4. Sonuçlar Bu çalışmada Selçuk Üniversitesi Haberleşme, Elektronik, Kontrol ve Otomasyon Teknolojisi programlarında okuyan öğrencilerin Mikroişlemciler Dersi ve Mikroişlemciler/ Mikrodenetleyiciler derslerinde öğrendikleri konuları uygulamalı olarak gerçekleştirebilmeleri için bir deney seti 318

tasarlanmış ve gerçekleştirilmiştir. Geliştirilen deney seti uygulamada öğrenciler tarafından bir yıldır başarı ile kullanılmaktadır. Deney seti okulumuzun kendi imkân ve olanakları ile gerçekleştirildiğinden maliyeti de oldukça düşük olmuştur. Deney seti küçük gerilimle (5V) çalıştığından öğrencilerin çalışması esnasında bir tehlikeli durum oluşmamaktadır. Geliştirilen mikrodenetleyiciler deney seti ile çok değişik uygulama ve araştırma çalışmalarını gerçekleştirmek de mümkün olduğundan akademik çalışmalarda yapılacak yazılım geliştirme uygulamalarında da rahatlıkla kullanılabilmektedir. Tasarımı yapılan ve gerçekleştirilen mikrodenetleyici deney seti yardımı ile sistem yalnızca donanımla değil aynı zamanda yazılım ile de desteklendiğinden hem kullanım kapasitesi genişletilebilmeye imkân sağlanmış hem de kontrol strajisi esnek bir deney seti olmuştur. Kaynaklar [1] Predko M., Handbook of Microcontrollers, McGraw-Hill, 1998 [2] Iovine J., PIC Microcontroller Project Book, McGraw-Hill, 2000. [3] Gedikpınar, M.,Çavaş, M., Karbon monoksit Gazının Algılanması ve PIC Mikrodenetleyici Destekli Güvenlik Sistemi Tasarımı, KSÜ Fen ve Mühendislik Dergisi, 9(1),2006 [4] Kelly, Graeme, Home Automation Past, Present, Future, Electronics Australia, Vol. 59, Iss.2, p 76-81 [5] Özcan, M., Ürkmez, A., Seri DC Motor Tahrikli Tramvaylarda yolverme İşleminin Mikroişlemci ile Kontrolü, S.Ü. Elek.-Elektr. Müh. ABD Yüksek Lisans Tezi, 1996 319

[6] Özcan, M., Ürkmez, A., Tramvay Motorlarına Otomatik Yolverme Sistemi, Elektrik-Elektronik Bilgisayar Mühendisliği 7. Ulusal Kongresi, 2, 7, 368-371,ODTÜ, 3-14 Eylül 1997, ANKARA [7] Yalçınkaya, F.ve ark., Mikrodenetleyici ve X-10 Temelli Akıllı ev Tasarımı, Akıllı Sistemlerde Yenilikler ve Uygulamaları Sempozyumu,ASYU-INISTA,2004 [8] http://support.microchip.com: MPLAB Tools v7.60, Microchip [9] Yamaçlı, S., ve ark., Ethernet Üzerinden Veri Aktaran Sıcaklık/Nem Ölçüm İstasyonu Tasarımı ve Uygulaması, 2. Uzaktan Algılama ve Coğrafi Bilgi Sistemleri Sempozyumu-2008, Kayseri [10] Gerçek, C., Her Yönüyle Seri Port, Bileşim A.Ş.,İstanbul, 2000 [11] http://www.microchip.com 320