Pic 16f877 hakkında detaylı bilgi
Öncelikle kısa bir mimarisinden bahsedelim :
Öncelikle kısa bir mimarisinden bahsedelim :
PIC 16F87X ve 16F8X serisi öncelikle, PIC 16CXX ailesinin özelliklerini taşır. PIC 16CXX’de Harvard mimarisi kullanılmıştır. Von Neuman mimarisinde, veri ve program belleğine aynı yoldan erişilebilirken, bu mimaride program belleği ve veri belleğine erişim farklı boylarda yapılır. Veri yolu 8 bit genişliğindedir. Aynı anda, veri belleğine 8 bit genişliğindeki bu yolla erişilirken, program belleğine program yolu ya da adres yolu denilen 14 bit genişliğindeki diğer bir yolla erişilir.
Bunun için PIC 16F87X ve PIC 16F84’de komut kodları, 14 bittir. 14 bitlik program belleğinin her bir adresi, bir komut koduna karşılık gelir. Dolayısıyla her komuta bir çevrim süresinde erişilir ve komut kaydedicisine yüklenir. Komut kaydedicisi, CPU tarafından kullanılan bir kaydedicidir ve dallanma komutları dışındaki bütün komutlar, aynı çevrim süresinde çalıştırılırlar. Bu sırada program sayacı, PC bir artar. Dallanma ya da sapma komutları ise, iki ardışık periyotta çalıştırılır ve program sayacı PC, iki arttırılır.
Merkezi işlem biriminin (CPU) en önemli alt birimlerinden biri, ALU (Aritmetik Logic Unit) olarak adlandırılan aritmetik mantık birimidir. ALU’nun görevi, kendisine yollanan veriler üzerinde, aritmetik ya da mantıksal işlemler yapmaktır. ALU’nun biri W ismi verilen kaydediciden olmak üzere, iki ana girişi vardır. ALU kendisine gelen iki veriyi (işleçler), toplayıp çıkarılabilir. Çeşitli mantık işlemleri yapabilir (and,or, xor gibi).
Mikroişlemcilerde en çok kullanılan kaydedici, “working register”dır. Bu kısaca W olarak adlandırılır. W, aritmetik ve mantık işlemlerinde, iki işlevi bir arada yürütür. İşlemden önce, işlenenlerden birini barındırır. İşlemden sonra ise işlem sonucunu saklar, PIC 16F8X ve 16F87X serisi mikrodenetleyicilerde, komutun sonuna konan 1 veya 0 sayısıyla (d), sonucun W’de ya da başka bir kaydedicisinde tutulacağı mikroişlemciye bildirilir.
Temel Özellikleri :
· CPU azaltılmış komut seti
· RISC temeline dayanır.
· Öğrenilecek 35 komut vardır ve her biri 14 bit uzunluktadır.
· Dallanma komutları iki çevrim (cycle) sürede, diğerleri ise bir çevrimlik sürede uygulanır.
· İşlem hızı 16F877’de DC20MHz’dir. (16F877’de bir komut DC200ns hızında çalışır.)
· Veri yolu (databus) 8 bittir.
· 32 adet SFR (Special Function Register) olarak adlandırılan özel işlem kaydedicisi vardır ve bunlar statik RAM üzerindedir.
· 8 Kword’e kadar artan flash belleği 1 milyon kez programlanabilir.
· 368 Byte’a kadar artan veri belleği (RAM),
· 256 Byte’a kadar artan EEPROM veri belleği vardır.
· Pin çıkışları PIC 16C73B/74B/76 ve 77 ile uyumludur.
· 14 kaynaktan kesme yapabilir.
· Yığın derinliği 8’dir.
· Doğrudan, dolaylı ve göreceli adresleme yapabilir.
· Poweron Reset (Enerji verildiğinde sistemi resetleme özelliği)
· Powerup Timer (Powerup zamanlayıcı)
· Osilatör Startup Timer (Osilatör başlatma zamanlayıcısı)
· Watchdog Timer (Özel tip zamanlayıcı), devre içi RC osilatör
· Programla kod güvenliğinin sağlanabilmesi özelliği
· Devre içi Debugger (Hata ayıklamakta kullanılabilecek modül)
· Düşük gerilimli programlama
· Flash ROM program belleği (EEPROM özellikli program belleği)
· Enerji tasarrufu sağlayan, uyku –Sleep Modu
· Seçimli osilatör özellikleri
· Düşük güçle, yüksek hızla erişilebilen, CMOSFlash EEPROM teknoloji
· Tümüyle statik tasarım
· 2 pinle programlanabilme özelliği
· yalnız 5V girişle, devre içi seri programlanabilme özelliği
· İşlemcinin program belleğine, okuma/yazma özelliği ile erişimi
· 2.0 V – 5.0 V arasında değişen geniş işletim aralığı
· 25 mA’lik kaynak akımı
· Devre içi, iki pin ile hata ayıklama özelliği
· Geniş sıcaklık aralığında çalışabilme özelliği
· Düşük güçle çalışabilme özelliği Çevresel özellikleri ise şöyle sıralanabilir:
· 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 I 2 C (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
· RISC temeline dayanır.
· Öğrenilecek 35 komut vardır ve her biri 14 bit uzunluktadır.
· Dallanma komutları iki çevrim (cycle) sürede, diğerleri ise bir çevrimlik sürede uygulanır.
· İşlem hızı 16F877’de DC20MHz’dir. (16F877’de bir komut DC200ns hızında çalışır.)
· Veri yolu (databus) 8 bittir.
· 32 adet SFR (Special Function Register) olarak adlandırılan özel işlem kaydedicisi vardır ve bunlar statik RAM üzerindedir.
· 8 Kword’e kadar artan flash belleği 1 milyon kez programlanabilir.
· 368 Byte’a kadar artan veri belleği (RAM),
· 256 Byte’a kadar artan EEPROM veri belleği vardır.
· Pin çıkışları PIC 16C73B/74B/76 ve 77 ile uyumludur.
· 14 kaynaktan kesme yapabilir.
· Yığın derinliği 8’dir.
· Doğrudan, dolaylı ve göreceli adresleme yapabilir.
· Poweron Reset (Enerji verildiğinde sistemi resetleme özelliği)
· Powerup Timer (Powerup zamanlayıcı)
· Osilatör Startup Timer (Osilatör başlatma zamanlayıcısı)
· Watchdog Timer (Özel tip zamanlayıcı), devre içi RC osilatör
· Programla kod güvenliğinin sağlanabilmesi özelliği
· Devre içi Debugger (Hata ayıklamakta kullanılabilecek modül)
· Düşük gerilimli programlama
· Flash ROM program belleği (EEPROM özellikli program belleği)
· Enerji tasarrufu sağlayan, uyku –Sleep Modu
· Seçimli osilatör özellikleri
· Düşük güçle, yüksek hızla erişilebilen, CMOSFlash EEPROM teknoloji
· Tümüyle statik tasarım
· 2 pinle programlanabilme özelliği
· yalnız 5V girişle, devre içi seri programlanabilme özelliği
· İşlemcinin program belleğine, okuma/yazma özelliği ile erişimi
· 2.0 V – 5.0 V arasında değişen geniş işletim aralığı
· 25 mA’lik kaynak akımı
· Devre içi, iki pin ile hata ayıklama özelliği
· Geniş sıcaklık aralığında çalışabilme özelliği
· Düşük güçle çalışabilme özelliği Çevresel özellikleri ise şöyle sıralanabilir:
· 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 I 2 C (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
Aşağıdaki resimlerde 16f877 bacakları hakkında bilgiye ulaşabilirsiniz . ilerleyen yazilarimda program lama hakkında bilgi paylaşacağım
0 yorum :
Yorum Gönder