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

Benzer belgeler
PIC 16F877 nin kullanılması

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

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

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

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

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.

Configuration bitleri ve reset durumları hakkında kavramlar

EasyPic 6 Deney Seti Tanıtımı

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

PIC Mikrodenetleyicileri

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

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

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

PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Mikroişlemciler. Microchip PIC

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

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

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

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

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

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

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

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

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

BÖLÜM Mikrodenetleyicisine Giriş

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

BLGM423 Gömülü Sistem Tasarımı

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İ

BQ353 Modbus 8x D.Input 8x Röle Cihazı Kullanım Kılavuzu

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

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

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

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

Çizgi İzleyen Robot Yapımı

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

EEM 419-Mikroişlemciler Güz 2017

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ

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

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

Sistem Programlama. Seri ve Paralel Port Kullanımı:

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

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

DOKUMANLAR

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

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

PIC16F84 VE PIC C LITE COMPILER. Giriş / Çıkış port sayısı. Capture / Comp / PWM

TECO N3 SERİSİ HIZ KONTROL CİHAZLARI

Hacettepe Robot Topluluğu

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

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

ML TFT 5 ARAYÜZ KULLANIM KILAVUZU

XC8 ile PİC uygulamaları

BUTON KONTROLÜ. Pull-Down Bağlantı (Ters Bağlantı) Butona basılmadığında Giriş=1 Butona basıldığında Giriş=0

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

PIC ASSEMBLY VE MAKROLAR

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

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

Q-P 50 B KULLANIM KILAVUZU

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

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

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

KONTROL VE OTOMASYON KULÜBÜ

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

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

EEProm 24C08 UYGULAMA AMAÇ 24C08 MCU_VCC. e r : d e G. Sayfa - 1

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

BÖLÜM 2 2. PROGRAMLAMA MANTIĞI

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

KISA MESAFE RADYO TELEMETRİ CİHAZLARI

# 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

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İ

LCD (Liquid Crystal Display )

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Hacettepe Robot Topluluğu

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

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

Mikroişlemci Programlama Aşamaları

KONFİGÜRASYON BİTLERİ

PIC Programlama. Devrim Çamoğlu

8 li Röle Çıkış Modülü Kullanım Kılavuzu

Mikroişlemcili Sistemler ve Laboratuvarı

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ TEK RENK GRAFİK LCD İLE OYUN UYGULAMASI


Bölüm 18 FBs-6AD Analog Giriş Modülü

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ GÖMÜLÜ SİSTEMLER DENEY FÖYÜ

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İ

KABLOSUZ SERĐ HABERLEŞME UYGULAMALARI VE RF KONTROL

Radyo Frekans Ayarları Klavuzu - ( )

A-PDF Merger DEMO : Purchase from to remove the watermark T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BQ410 Modbus RF Çevirici Kullanım Kılavuzu

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

Elektriksel-Fiziksel Özellikler... 2 Kullanım... 3 Uygulama Örnekleri... 7

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

C-Serisi PLC İleri Seviye Eğitim

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

8 li Çıkış Modülü Kullanım Kılavuzu

Transkript:

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI Bazı pinler çevre birimleri ile çoklanmıştır. Peki bu ne demek? Mesela C portundaki RC6 ve RC7 pinleri seri iletişim için kullanılır. Eğer seri iletişimi kullanırsanız artık bu pinleri genel amaçlı giriş çıkış pini olarak kullanamazsınız. Bunun tersi de geçerlidir. Şimdi şekilde görüldüğü gibi A,B,C,D ve E olmak üzere 5 portu olan pic16f877a nın portlarını tek tek inceleyelim PORTA PortA 6 bit genişliğindedir ve hem giriş hem de çıkış olarak ayarlanabilir. Giriş veya çıkış olarak ayarlamayı TRISA registerından ayarlarız. Karşılık geldiği bite 0 yazılmış ise çıkış, 1 girilmiş ise giriş olarak ayarlanır. Örnekler üzerinden inceleyelim TRISA=0b111110; Yukarıdaki gibi bir kod yazdığımızı varsayalım. 0b ifadesi kendisinden sonra girilecek sayının binary yani sadece 0 ve 1 lerden oluşacağını söyler. PortA 6 bit genişliğinde demiştik. Yani 6 adet pini var ve ben bu 6 pinin giriş mi yoksa çıkış mı olacağını programa bildirmek istiyorum. 1

0b ifadesinden sonra 5 adet 1, 1 adet 0 yazılmış. En sağdaki bit 0.bittir ve sola doğru 1. bit 2.bit şeklinde devam eder. Sonuç olarak yazdığımız kodda Port Anın 0. biti çıkış olarak diğer pinler ise giriş olarak ayarlandı. Bu kodu farklı şekillerde de yazabiliriz. TRISA=0xFE; buradaki 0x ifadesi kendinden sonra gelecek sayının hex tabanda yani 16 lık sayı sisteminde yazılacağını söylemektedir. FE ifadesi ise yukarıdaki binary tabandaki sayının hex tabanına çevrilmiş halidir. Aslında xc8 dilinde bu ayarı yapmanın daha kolay ve kullanışlı bir yöntemi var. Örneğin sadece PortA nın 0. pini ile ilgileniyorsunuz. O halde TRISAbits.TRISA0=0; şeklinde bir kod yazarak sadece ilgili pini giriş veya çıkış olarak ayarlayabilirsiniz. İfade biraz uzun görünse de xc8 size bu konuda yardımcı oluyor. TRISAbits ifadesinden sonra. koyduğunuzda size şekildeki gibi yardımcı bir kutucuk çıkarıyor ve istediğiniz biti seçebiliyorsunuz Aslında bu özellik tüm registerlarda mevcuttur. Çıkış olarak ayarladığımız pinlere bilgi yazarken ve giriş olarak ayarladığımız pinlerden bilgi okurken PORT ifadesi kullanılır. Örneğin az önce çıkış olarak ayarladığımız A0 pinine 1 değerini girelim. Bunun için yine az önce kullandığımız metodu kullanalım PORTAbits.RA0=1; Bu koddan sonra RA0 pininde 5V bulunacaktır. Bir de giriş olarak ayarladığımız bir pinin okunmasına bakalım. static bit x=0; TRISAbits.TRISA0=1; // A0 biti giriş x=portabits.ra0; okuyacağımız datanın büyüklüğüne uygun bir data tipi tanımlamamız gerekmektedir. Yukarıdaki kodda sadece 1 bit büyüklüğünde data okuyacağımız için 1 bit büyüklüğünde olan 2

bit data tipi tanımlanmıştır. Daha büyük bir data tipi de tanımlayabilirdik ancak program hafızasından tasarruf etmek her zaman daha iyidir. Burada kural en azından eşit büyüklükte olmasıdır. Aşağıdaki tabloda data tiplerinin büyüklüğü verilmiştir. Ancak bit data tipinin kullanımında biraz cins bir durum vardır. eğer bit data tipini main fonksiyonun içinde tanımlamak isterseniz static bit olarak tanımlamanız gerekmektedir. Eğer global olarak tanımlarsanız yalnız bit yazmanız yeterli olacaktır. A Portunun kendine has özelliklerine gelelim RA4 pini Timer0 modülü için ayrılmıştır. ( timer konusunda anlatılacaktır ) RA4 pini open drain output özelliğine sahiptir. Peki nedir bu? Pinin çıkış bacağı, P-Mos ile N-Mos mosfetleri arasında bulunmaktadır. Eğer çıkışı open-drain ayarlarsanız, pin bacağı GND'ye bağlanır. VDD ile arasında sonsuz empedans oluşur. Bu durumda pini high olarak çıkış vermek için dışarıdan pull-up dirençleri eklemeniz gerekmektedir. Peki bu özellik bizim ne işimize yarayacak? Bu özellikle, çıkışa bağlanacak olan devre elemanının daha fazla akım çekmesi sağlanabilmektedir. Röle gibi akım gerektiren devre elemanlarını sürmek için kullanılır. Akım mikroişlemciden değil, pull-up direnci üzerinden çekilir. İyi güzel de pull-up nedir? Pull up yukarı çekmek demektir. Burada yukarı dediğimiz +V dir. Yani mikrodenetleyiciyi beslediğiniz gerilim seviyesidir. Bir girişe pull-up direnç bağla dediklerinde, girişten +V hattına bir direnç bağlayacaksın demektir. 4K7, 10K gibi bir direnç kullanılır genellikle. Şimdi amaca göre RA4 pini nasıl bağlanır ona bakalım. 3

RA4 pini hariç tüm PORTA pinlerinin analog giriş özelliği vardır. Pic Power-on Reset durumunda yani ilk açılışta bu pinler analog olarak ayarlıdır. Eğer analog bir işlem yapmayacak isek bu pinler ( analog konusunda da anlatılacağı gibi) ADCON0=0x00; ADCON1=0x07; kodları ile digital olarak ayarlanır. 4

Analog pinlerden okuma yapabilmek için bu pinler TRISA registerından mutlaka giriş olarak ayarlanmalıdır. PORTA da ayrıca comparator modülü vardır. ( ilk aşamada pek kullanmadığımız bir modül olduğundan kursta süre yeterse en son anlatılacaktır) PORTB PortB 8 bit genişliğinde ve hem giriş hem de çıkış olarak ayarlanabilir. PortB de giriş çıkış ayarı benzer şekilde TRISB register ı ile yapılır. Yine aynı şekilde okuma ve yazma işlemi de PORTB register ı ile yapılır. PortB nin kendine has özelliklerine bir göz atalım RB3,RB6 ve RB7 pinleri düşük güç programlama için kullanılabilir. PortB nin her pininde pull-up bağlantısı bulunmaktadır. Örneğin bir butondan veri almak istediğinizde pull-up veya pull-down bağlantısı kurmanız gerekmektedir. Bu tarz durumlarda PortB nin kendi içinde pull-up bağlantısı bulunmaktadır. Yazılım ile bu özelliği aktif etmeniz yeterli olacaktır. ( buton uygulamasında ayrıntıya girilecek) PortB nin son 4 pininde ( RB4,RB5,RB6,RB7) değişim kesmesi vardır (kesmeler konusunda işlenecek) RB0 pin girişinde external interrupt özelliği bulunmaktadır ( kesmeler konusunda anlatılacaktır) PORTC PortC 8 bit genişliğinde ve hem giriş hem de çıkış olarak ayarlanabilir. PortC de giriş çıkış ayarı benzer şekilde TRISC register ı ile yapılır. Yine aynı şekilde okuma ve yazma işlemi de PORTC register ı ile yapılır. PortB nin kendine has özelliklerine bir göz atalım. RC0 ve RC1 pini timer1 modülü için ayrılmıştır RC1 ve RC2 pinlerinde capture/compare/pwm modülü bulunmaktadır ( PWM konusunda değinilecektir RC3, RC4, RC5 pinleri I2C ve SPI modüllerinde kullanılır RC6 ve RC7 USART haberleşme modülünde kullanılır ( seri haberleşme konusunda anlatılacaktır) PORTD PortD 8 bit genişliğinde ve hem giriş hem de çıkış olarak ayarlanabilir. PortD de giriş çıkış ayarı benzer şekilde TRISD register ı ile yapılır. Yine aynı şekilde okuma ve yazma işlemi de PORTD register ı ile yapılır. PortD nin kendine has özelliklerine bir göz atalım. Bu port komple 8 bit genişliğinde olan Parallel Slave Port işlemi için kullanılabilir. Bu modu aktifleştirmek için TRISE register ının 4.biti olan PSPMODE biti aktif edilmelidir. 5

PORTE PortE 3 bit genişliğinde ve hem giriş hem de çıkış olarak ayarlanabilir. TRISE registerının ilk 3 biti bu pinleri giriş çıkış olarak ayarlamak için kullanılırken son 4 biti PSPMODE un ayar işlemleri için kullanılır. ( Kurs planında bu konu yoktur ancak zaman kalırsa işlenecektir) 6