PIC Assembly - PIC C PIC16F877A ve PIC16F84A’ya Genel Bakış By Konuk Yazar Posted on 6 Ocak 2015 7 min read 0 0 6,356 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr PIC(Peripheral Interface Controller) ,çevre birimleri denetleyicidir. Aslında genel olarak mikrodenetleyici kategorisindedirler. Mikrodenetleyici ise; içerisinde CPU,RAM, ınput-output, ADC, PWM vs. Olan tümleşik bir sistemderir.içerisindeki koda göre giriş-çıkış birimlerini kontrol edip yönlendiren bir elektronik beyindir. Şu ayrımı yapmadan geçemiyecegim. Pıc in içinde cpu oldugunu söyledim.cpu aslında mikroişlemcidir.mikroişlemciyi tek başına kullanamayız. Hafıza ve diğer kontrol ünitelerini dışarıdan ilave etmemiz gerekmektetir. Bu hem maliyetli hemde hacimsel olarak oldukça büyüktür. 16F877A 8 bitlik bir mikrodenetleyicidir.16fxxx ailesinin en iyisidir.Bu pic’i programlamayı ögrenenler diğer pic’leride kolayca programlayabilirler. 16F877A ‘nin 40 pininden 33 tanesi I/O ( input/output – giriş/çıkış ) pinleridir. PIC16F877; 6 bitlik A portu, her biri 8 bitlik B,C ve D portları ve 3 bitlik E portu olmak üzere 5 porta sahiptir. I/O pinlerinin gerekli konfigürasyonlar yapılarak başka amaçlarla kullanılması da mümkündür. Temel Özellikleri *İşlem hızı max. 20 MHz dir. (bir komut 200 ns hızında çalışmaktadır.) *8 Kword Flash ROM programlama belleği (EEPROM özellikli program belleği), 368 Byte kullanıcı RAM belleği ve 256 Byte EEPROM belleği olmak üzere üç adet bellek bloğu vardır. *8 Kword ‘lük Flash ROM programlama belleği 1000000 kez programlanabilir. *Statik RAM üzerinde 32 adet özel işlem kaydedicisi (SFR – Special Function Register) vardır. *Öğrenilecek gereken her biri 14 bitlik 35 komut vardır. * 8 bitlik veri yolu (databus) vardır. *14 kaynaktan kesme yapabilir. *CMOSFlash EEPROM teknoloji ile düşük güçle yüksek hıza erişebilir. *Enerji verildiğinde sistemi resetleme özelliği (Power-on Reset), *Power-up zamanlayıcı (Power-up Timer) *Osilatör başlatma zamanlayıcısı (Osilatör Start-up Timer) *Özel tip zamanlayıcı (Watch-dog Timer), devre içi RC osilatör *Hata ayıklamada kullanılanabilecek modül (devre içi Debugger) *HS-XT-RC Osilatör seçenekleri *Statik tasarım *Enerji tasarrufu sağlayan uyku modu ( Sleep Mode) özelliği vardır. *Programla kod güvenliği sağlanabilir. *Düşük gerilimli programalama özelliğine sahiptir. *Sadece 5 V giriş ile devre içi seri programlanabilir. *2 pinle programlanabilir. *Program belleğine okuma/yazma özelliği ile erişilebilir. *2,0 V ile 5,0 V arasında değişen geniş işletim aralığına sahiptir. *Kaynak akımı 25 mA dir. *Geniş sıcaklık aralığında ve düşük güçle çalışabilir. *Devre içi iki pin ile hata ayıklama özelliği vardır. *TMR0: 8 bitlik zamanlayıcı, 8 bit önbölücülü *TMR1: Önbölücülü, 16 bit zamanlayıcı, uyuma modundayken dış kristal zamanlayıcıdan kontrolü arttırılabilir. *TMR2: 8 bitlik zamanlayıcı, hem önbölücü hem de sonbölücü sabiti *İki Capture / Compare / PWM modülü *10 bit çok kanallı A/D çevirici *Senkron seri port (SSP), SPI (Master mod) ve I2C (Master Slave) ile birlikte *Paralel Slave Port, 8 bit genişlikte ve dış RD, WR, CS kontrolleri *USART/SCI, 9 bit adres yakalamalı *BOR Reset (Brown Out Reset) özelliği Temel Özellikleri * Çalışma gerilimi 2 V – 5.5 V ‘tur. * 4 MHz – 20 MHz arasındaki hızlarda çalışabilir. * PIC16F84 1 Kbyte ‘lık bir program belleğine sahiptir. Bellek hücrelerinden her birinde 14 bitlik veri saklayabilir. * Program belleği elektriksel olarak yazılıp silinebilir ( flash), programın çalıştığı sırada ise sadece okunabilir. * PIC16F84 ‘ün iki banktan meydana gelen 68×8 byte ‘lık bir RAM belleği vardır. * PIC CPU sunun çalışmasını kontrol eden RAM bellekteki file register ‘lardır. * File register ‘ların haricindeki bellek alanı ise normal RAM bellek olarak kullanılır. * PIC16F84 64 byte ‘lık bir EEPROM veri belleğine sahiptir. * PIC16F84 mikrodenetleyicisinin 13 tane I/O protundan 5 tanesi A portu (RA0 – RA4), 8 tanesi de B portudur (RB0 – RB7). *Portların giriş ve çıkış yönlendirmeleri PIC içerisinde bulunan özel bir yönlendirme registeri olan TRIS registeri ile yapılır.