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



Benzer belgeler
PIC 16F877 nin kullanılması

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

Birol Çapa Özen Özkaya Güz Dönemi Eğitimleri

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:

KONTROL VE OTOMASYON KULÜBÜ

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

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

PIC TABANLI, 4 BASAMAKLI VE SER

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

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

Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Biyomedikal Mühendisliği, Bölümü Tel:

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

BÖLÜM Mikrodenetleyicisine Giriş

EasyPic 6 Deney Seti Tanıtımı

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

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İ

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

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

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

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

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

C Programlama Dilininin Basit Yapıları

PIC Mikrodenetleyicileri

İletişim Protokolleri (Communication Protocols)

PIC Programlama. Devrim Çamoğlu

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

Mikroişlemciler. Microchip PIC

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

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

Dr. Fatih AY Tel: fatihay@fatihay.net

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

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

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

EEM 419-Mikroişlemciler Güz 2017

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

PROGRAMLAMAYA GİRİŞ DERS 2

BM-311 Bilgisayar Mimarisi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

WIRELESS TECHNOLOGIES Uygulama Notu. ARX-34 ve ATX-34 KULLANARAKDATA GÖNDERMEK VE ALMAK ÇN GEREKL YAZILIM ve DONANIM

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

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

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

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

BÖLÜM 6 Seri Port Đşlemleri

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

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

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

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

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

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

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

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

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

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

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

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

DOKUMANLAR

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

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

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

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

HSancak Nesne Tabanlı Programlama I Ders Notları

RF Tabanlı Sayısal Veri Haberleşmesi

2. SD KARTLAR yıllarında teknolojinin gelişmesiyle daha küçük boyutlu hafıza kartlarına olan ilgi artmıştır. Bu yıllarda mikrosd kartlar

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

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

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER

Bölüm 2 - C ile Programlamaya Giriş

BESLEME KARTI RF ALICI KARTI

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

Hacettepe Robot Topluluğu

LCD (Liquid Crystal Display )

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

Çizgi İzleyen Robot Yapımı

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)

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

C Programlama printf() Fonksiyonu

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

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

C Programlama Dilinde Değişkenler

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

C PROGRAMLAMA D İ L İ

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

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

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

Transkript:

PIC 16F877 VE PIC C LITE COMPILER ÖZELLİKLER Çalışma hızı Program Belleği EEPROM Belleği Kullanıcı RAM Giriş / Çıkış port sayısı Timer A / D çevirici Capture / Comp / PWM Seri çevresel arayüz Paralel slave port USART / SCI PIC16F877 DC-20Mhz 8Kx14 word Flash ROM 256 byte 368 x 8 byte 33 Timer0, Timer1, Timer2 8 kanal 10 bit 16 bit Capture 16 bit Compare 10 bit PWM çözünürlük SPI (Master) ve 12C (Master / Slave) modunda SPI portu (senkron seri port) 8 bit, harici RD,WR ve CS kontrollu 9 bit adresli PIC16F84 DC-10 Mhz 1Kx14 word Flash ROM 64 byte 68 x 8 byte 13 Timer0 YOK YOK YOK YOK YOK GİRİŞ ÇIKIŞ PORTLARI PORTA: Bu port RA0, RA1, RA2, RA3, RA4, RA5 olmak üzere 6 bitliktir. Bu bitler analog / sayısal çevirici olarak konfigüre edilebilmektedir. PORTB: RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 olmak üzere 8 bit genişliğindedir. B portunun tüm bacakları dahili bir dirençle VDD'ye bağlanmıştır. Fakat bu özellik uygulamalarda göz önünde bulundurulmaz. Bu özellik ancak OPTION yazmacının 7. bitini 0 yaparak aktif hale getirilir. PORTC: RC0, RC, RC2, RC3, RC4, RC4, RC5, RC6, RC7 olmak üzere 8 bit kapasitelidir. SPI, Doğrudan bilgisayarla iletişim yapma,yakalama/karşılaştırma ve PWM gibi özel fonksiyonlar yazmaçların ayarlanmasıyla bu portta kullanılır. PORTD: RD0, RD1, RD2, RD3, RD4, RD5, RD6, RD7 olmak üzere 8 bitliktir. Bütün portlar Schmitt Trigger girişlidir PORTE: RE0, RE1, RE2 olmak üzere 3 bit liktir. Bu bacaklarında Schmitt Trigger girişleri vardır.ayrıca her bir bacak analog / sayısal çevirici olarakta kullanımaktadır. Eğer PORTD yi TRISE yazmacının PSPMODE bitini 1 yapıp 8bit genişliğinde mikro işlemci portu olarak kullanırsak (parelel slave port) PORTE bacakları PORTD nin bağlandığı mikroişlemci bus nında sırasıyla OKUMA,YAZMA,CHIP SELECT kontrol girişleri olarak 1

GERİLİM KAYNAĞI SAAT (CLOCK) ZAMANLAYICI DEVRELERİ RESET GİRİŞİ WATCHDOG KESME DEVRESİ ANALOG-SAYISAL ÇEVİRİCİ SERİ GİRİŞ ÇIKIŞ EEEPROM BELLEK PWM ÇIKIŞI LCD SÜRÜCÜ UYKU MODU DÜŞÜK AKIMLA ÇALIŞMA GİRİŞ ÇIKIŞ AKIM ÖZELLİKLERİ GENEL OLARAK MİKROKONTROLÖRDE BULUNAN ÖZELLİKLER GERİLİM KAYNAĞI: Birçok mikrokontrolör +5V ile çalışır. Bazı mikrokontrolörler +2.7V gibi düşük gerilimle veya +6V gibi yüksek gerilimle çaşırlar., SAAT(CLOCK): Bütün mikrokontrolörler çalışmaları için bir saat pulsu isterler. Bu puls bir kristal devresi kullanarak çok hassas bir şekilde elde edilebilir. Çok hassas olmayan uygulamalarda direnç ve kapasite kullanmak yeterli olabilir. ZAMANLAYICI (TIMER) DEVRELERİ: Bir zamanlayıcı devresi genellikle hassas bir saat tarafından çalıştırılan bir sayaçtan meydana gelmektedir.birçok uygulamada zamanlayıcıya bir sayı yüklenmekte ve her saat pulsunda bir azaltılmakta veya arttırılmaktadır. RESET GİRİŞİ: Bu giriş sayesinde mikrokontrolöre reset yapılabilir.reset devresi aktive edildiğinde genellikle program belleğin ilk adresinde bulunan komut alınıp işleme konulur. GENEL OLARAK MİKROKONTROLÖRDE BULUNAN ÖZELLİKLER BEKÇİKÖPEK(WATCHDOG): Birçok mikrokontrol sisteminde en az bir tane bekçiköpek devresi mevcuttur. Genellikle 8 bitlik bir zamanlayıcı gibi çalışır. Yazılım tarafından belirli aralıklarla yenilenmesi gerekir.yenilenmediği takdirde mikrokontrolör otomatik reset yapar. KESME (INTERRUPT) DEVRESİ: Kesme devreleri bütün gerçek zaman uygulamalarında büyük önem taşır. Bir kesme neticesinde mikrokontrolör halen yapmakta olduğu işlemi hemen bırakıp kesme için yazılmış olan rutine gider ve burada istenileni yapar.kesme rutininin dönüşünde ise mikrokontrolör kesme öncesi kaldığı yerden devam eder. ANALOG-SAYISAL ÇEVİRİCİ (ADC): Bazı mikrokontrolörlerde analog sayısal çeviriciler bulunmaktadır. Bunlar 8,10 ve 16 bitlik olarak karşımıza çıkmaktadır. SERİ GİRİŞ-ÇIKIŞ: Seri iletişim pc başta olmak üzere birçok uygulamalarda kullanılmaktadır. Genel olarak yazılım sayesinde ve zamanlayıcı devresini kullanarak her mikrokontrolörde seri iletişim kurmak mümkündür.bazı mikrokontrolör sistemleri içerisinde bulunan USART gibi ek bir donanım sayesinde seri iletişimi kolaylaştırmıştır. GENEL OLARAK MİKROKONTROLÖRDE BULUNAN ÖZELLİKLER EEPROM BELLEK:Yazılım sayesinde programlanabilir olup içerisinde yazılmış olan veriyi tutar. Birçok uygulamlarda önem taşıyan bu tip belleği bazı mikrokontrolör sistemlerinde görebiliriz.örneğin 16f84 de 64 bayt EEPROM bellek bulunmaktadır. PWM ÇIKIŞ: Pulse Width Modulation,veya puls genişlik modülasyon çıkışı bazı iletişim ve kontrol uygulamalarında önem taşımaktadır. Birçok pic mikrokontrolörler yazılım ile konfigür olabilen PWM çıkışları sunmaktadırlar. 2

PIC C PROGRAMLAMA PICC- LITE VERİ ÇEŞİTLERİ Pic mikrokontrolör için yazılmış çok sayıda C derleyicileri bulunmaktadır. Örneğin, Forest Electronics firmasının sunduğu FED C,Hi-Tech firmasının ürünü olan PICC ve yine aynı firmanın ürünü olan ve ücretsiz olarak verilen PICC Lite. CCS firmasının PCM ve PCW derleyicileri ve bunun gibi daha birçokları. PICC- Lite sadece 16C84,16F84,16F84A,16F627,12F629,16F877 ve 16F877A PIC mikrokontrolörleri için kullanılabilir. Bunun yanında sadece 2 tane ram bankı desteklemektedir.(2 bank PIC16F84 için yeterli olduğu halde,pic16f877 için yeterli değildir) ve 16F877 ve 16F877A mikrokontrolörleri kullanıldığında ROM kapasitesi 2K olarak sınırlandırılmıştır.ayrıca, Picc-Lite derleyicisinde printf fonksiyonu long ve float veri çeşitleri için kullanılmaz. Bit : Sayılar Boolean 0 veya 1 olabilir. bit flag; Unsigned char:8 bitlik sayılar tanımlanır. 0-255 arası değer alır. Signed char:+128 ve -127 arası sayılar için kullanılır. Unsigned int: 16 bit 0-65535 arası sayılar için kullanılır. Signed int:-32768 ve +32767 arası sayılar için. Long:32 bit işaret içeren sayılar için kullanılır. Unsigned long:32 bit işaretsiz sayılar için kullanılır. Float:24 veya 32 bitlik kayan nokta değişkenler için kullanılır. Double:24 veya 32 bitlik sayılar için kullanılır. Değişkenlere Tanım Esnasında Değer Vermek C programlama dilinde değişkenlere tanım esnasında değer vermek mümkündür. Programda Açıklayıcı Yazılar İki tane / / dan sonra yazılanlar derleyici tarafından dikkate alınmamaktadır. unsigned int temp=10; i=0; // i değişkenini sıfır yap. J=j+2; // j değişkenine 2 ekle. 3

Değişkenlerin Bellekte Saklanması PICC Lite derleyicisinde değişkenler normal olarak RAM bellekte saklanmaktadır. Eğer bir değişkenin değeri sabitse ve program boyunca değişmeyecekse, o değişkeni program belleğinde saklamak mümkündür.bu şekilde kapasitesi sınırlı olan RAM belleği çok kullanılmamış olur. Sabit bir değişkeni program belleğinde saklamak için önüne const komutu ilave edilir. int temp1; const int temp1=12; DİZİLER Diziler benzeri bir takım değişkenleri bir grup altında toplamak için kullanılır. Örneğin; int sonuc[6]; Bu komutla 6 tamsayı tanımlanır ve bu tam sayıların ilki sonuc[0],ikincisi sonuc[1],ve sonuncusu ise sonuc[5] olmaktadır Program Değişken İsimleri Program değişkenleri bir karakter veya alt çizgi ile başlamalı ve bunu takiben istenilen miktarda karakter veya 0-9 arasında sayı kullanılmalıdır.örnek program değişkenleri; size toplam_miktar max5 Static Volatile Persistent Değişkenler Static:genel olarak bir fonksiyonda bulunan ve fonksiyonu her kullanışta değerleri değişmeyen değişkenlerdir. Bu değişkenleri tanımlarken isimleri başına static yazılır. Volatile:bir değişkenin her kullanıldığında eski değerini muhafaza edemeyeceği durumlarda kullanılır.giriş,çıkış ve kesme değişkenleri volatile olmalı. Persistent:Reset anında sıfırlanmasını istemediğimiz değişkenlerin başına koyarız. 4

PICC LITE OPERATÖRLERİ () [] Parantez! Lojik NOT ~ Bit tersi +-*/ Aritmetik operatör % modulus ++ artır -- eksilt <<>> shift kayma operatörleri == lojik eşit!= lojik eşit değil Lojik OR && Lojik AND Program Akış Kontrolü if-else For While Do Goto Break Switch-case if-else Koşula bağlı olarak program akışını kontrol eder. if(koşul)komut; if(koşul){ komut; komut,} else{ komut; komut; } 5

for For komutu program içerisinde döngü yapmak için kullanılır.döngü bir veya birtakım komutu birden fazla tekrarlamak maksadıyla kullanılır. for(başla;koşul;artış)komut; for(i=1;i<=10;i++)sayac++; While(koşul)komut; i=0; While(i<10){ komut; i++; } while do Koşul döngünün sonunda kontrol edilir. Koşul doğru olmasa bile döngü en az bir defa çalışmış olur. do{ Komut; }while(); j=0; Do{ Komut; j++;}while(j<5) break Bir döngü içerisinde veya döngü bitmeden döngü dışına çıkmak için kullanılır. While(i<100) { komut; if(j==10)break; } 6

Switch- case Kullanıcı Fonksiyonları Bu komut,çoklu if-else komutu gibi görev yapmaktadır.bir değişken alınır ve bu değişkenin değerine bağlı olarak çeşitli komutlar işlem görür. Switch(sec) { case A : hex=65; break; case B : hex=40; Break;} Ana programdan bağımsız programlardır.her fonksiyonun bir ismi olup istenilirse bir fonksiyon ana programa bilgi aktarabilir.başında void olan fonksiyonlar ana programa bilgi aktaramaz. void ledon() { led=1;} Define ve include Define direktivi program başında kullanılır ve bir makro gibi çalışıp semboller yerine tanımlanan eşitlerini koyar. #define svic0 RA7 Include ile başka bir text dosyasını programımız içerisine alabiliriz. #include myproject.h Değişik Sayı Tabanı Kullanımı Toplam=%0xaf; // toplam=00011111 (heksadesimel) Sum=%o37 ; // sum=011111 (oktal) A=0b00001111 //a=00001111(binary 7

Kesme(interrupt) Picc-lite derleyicisinin kesme için özel fonksiyonu bulunur ve kesme anında program bu fonksiyona gönderilir.kesme fonksiyonu void interrupt ile başlar ve fonksiyona istenilen bir isim verilir. Fonksiyonun herhangi bir parametresi olamaz.kesme fonksiyonu diğer c fonksiyonları tarafından çağrılamaz, fakat diğer fonksiyonları çağırabilir. Kesme Void interrupt kes_servis(void) { komut; } Kesme anında program otomatik olarak bu rutine gider ve rutin sonunda kesmeden dönüp bırakmış olduğu program koduna gider. Kesme Kesme anında kesmenin nereden geldiği tespit edilir.kesme TMR0 zamanlayıcısının taşmasından dolayı oluşmuşsa INTCON yazmacının T0IF biti 1 olur. Aynı şekilde, kesme RB0 pininden dolayı olmuşsa INTCON yazmacının INTF biti 1 olur. Kesmenin mikroişlemci tarafından tanınması için aktif yapılması gerekir. ei() ve di() komutları bütün kesmeleri aktif ve pasif yaparlar. Genel C Program Yapısı En basit C programı 3 satırdan meydana gelmektedir. Main(void) { } Main ana programın başlangıcını gösterir ve program aktiv olarak burdan başlar.köşeli parantezler ana programın başlangıç ve bitiş noktalarını gösterir. 8

PICC LITE KULLANIMI SERİ İLETİŞİM Seri portun avantajları: 1.Seri kablolar, paralel kablolara göre daha uzun olur. Seri port, lojik değerleri -3 volt ile +25 volt arasında iletebilir. Paralel portta ise "0", 0 volt ile, "1" ise +5 Volt ile iletilir. Dolayısı ile, seri portun 50V maksimum voltaj değişim aralığına sahiptir. Paralel portta ise bu aralık 5 volttur. Bu nedenle kabloda oluşan kayıp, seri portlarda, paralel portlardaki gibi önemli değildir. 2.Seri iletişimde, paralel porta göre çok daha az tel kullanılır. Cihaz ile bilgisayar arasındaki 3 telli kablo seri iletişim için yeterlidir. 3 telli bir kablo, 25 telli bir kabloya göre daha ucuz olacaktır. 3. Daha önce bahsettiğimiz, seri haberleşmeyi kullanan kızı ötesi (infra red) cihazlar veriyi ancak seri olarak iletebilirler. Böyle bir haberleşmenin paralel olması imkansızdır. Seri port ile veri aktarımı Bir linkteki veri akışının kontrolü için, gerekli sinyallerden biri saat (clock) sinyalidir. Hem gönderici, hem de alıcı cihazda, bir bitin ne zaman gönderileceğine veya alınacağına karar verilirken bir saat sinyali kullanılır. Veri gönderen ve alan uçların belli kurallar çerçevesinde haberleşmesi gerekir. Verinin nasıl paketleneceği, bir karekterdeki bit sayısını, verinin ne zaman başlayıp biteceği gibi bilgileri bu kurallar belirler. Bu kurallar çerçevesine, Protokol adı verilir. Eğer veri sadece bir yönde aktarılıyor ise, half duplex, aynı anda her iki yönde aktarılıyorsa, full duplex olarak adlandırılır. İki çeşit seri iletim formatı vardır. Senkron ve Asenkron. Herbiri saatleri farklı şekilde kullanırlar. Senkron gönderimde, her cihaz, kendisi yada dışarıdan bir cihaz tarafından üretilen aynı saat sinyali darbelerini kullanırlar. Saatin frekansı sabit yada düzensiz aralıklarda değişkende olabilir. İletilen her bit, bir saat darbesi geçişinden, yani şekildeki yükselen veya alçalan kenardan sonraki belirli bir zamanda geçerli olur. Senkron formatlar, iletimi başlatırken yada bitirirken, çok çeşitli formatlar kullanırlar. Bunlara start-stop bitleri denir. Fakat uzun mesafeli linklerde senkron format uygun değildir. Çünkü bahsettiğimiz saat sinyalinin iletimi, parazit nedeni ile, ek bir hat gerektirebilir. Bu durumda, Asenkron gönderim kullanılır. Asenkron iletişimlerde, linkte saat hattı bulunmaz. Her uç kendi sinyalini sunmaktadır. Bu iletişimde de, uçların saat frekansında anlaşmaları gerekir. Bu nedenle iletilen her byte 'ta saatleri eşlemek üzere bir start biti ve iletimin bittiğini bildirmek üzere bir stop biti bulunur. Seri iletişimde veri aktarım hızı, saniyedeki bit sayısı (bps-bit per seccond) olarak belirtilir. Veri aktarım hızını belirlemede yaygın olarak kullanılan diğer terim ise baud rate 9

ICPROG 10

PIC İÇİN MİNİMUM PROGRAMLAMA DEVRESİ 11

UÇUK BİR TASARIM PROTEUS VE UYGULAMALAR This pioneering system uses any mobile phone for programming. It consists of a small circuit board with a microphone. You simply hold your mobile near the microphone and enter a programme using the dial-up keypad. The Phone PIC responds to the acoustic tones (DTMF tones) generated by each key and translates these into program instructions. In newer mobiles, the numbers pressed appear on the LCD screen, thus visually recording the start of any program entered. It is even possible to program a PIC at any distance by phoning a third party who then holds the Phone PIC near their own mobile! The Phone PIC will accommodate existing 18 pin PICs such as 16F84 which are supplied partly programmed AT NO EXTRA COST. Because the Phone PIC firmware is in the actual PICs used, the system is future proofed against any possible upgrades. The Phone PIC is supplied ready to run with full instructions and features a ZIF (zero insertion force) socket, making it very easy to move PICs in and out without damage. It should also be noted that the total cost of the Phone PIC system is only about twice the cost of the ZIF itself! Once programmed, the PIC may then be used with our standard or high power project board. Note: phone NOT included. 12