Bir robot projesi yapıcam ve microcontroller olarak pic 16f877 kullanmaya karar verdim. Programlama kartını hazır aldım, hem 16f877 hem de 16f84 programlıyor.
PICC Lite ile deneme amaçlı ufak bir program yazdım ve 16f877 e yukledim. Program RB0 a baglı ledi yakacaktı sadece, fakat bu işi bir turlu yaptıramadım alete. Bitane de 16f84 almıştım aynı programı ona yukledim sorunsuz çalışıyo.
Acaba aldığım 16f877 mi bozuk? Bozuk olup olmadığını nasıl anlarım?
Eğer PIC16F877'nin A portuna bağladıysan bu ucu öncelikle sayısal G/Ç ayarlamalısın. Çünkü bu uçlar aynı zamansa Analog/Sayısal dönüşütürücü için de kullanılabiliyor. Bir de bazı programlama yazılımları veri yazılmasa bile bazen programın PIC'e yazıldığını söylüyor. Bu konularda dikkatli olmak lazım.
A portuna değil B portuna bağladım. Programı pice atmak için icprog programını kullanıyorum.
Kristal ve besleme uçlarına dikkat ettiysen ve "fuse" ayarlarını doğru yaptıysan sorun çıkmaması gerekir. 877'de 84'den farklı fuse ayaları vardır bunlara dikkat et. İlk aşamada sadece "Power on Reset" ve "Brown out Detect" i aktif ederek programla. Kodda hata yapmadığına da emin ol
fuse ayarları 16f877 seçince default ne geliyosa o, ben ellemedim hiç. "Power on Reset" ve "Brown out Detect"i nasıl aktif yapıcam ben oyle bir seçenenk göremedim.
Programı kitaptan yazdım altı üstü:
#include <pic.h> main (void) { TRISB = 0; PORTB = 0xFF; for (;;); }
Programlamadan önce bilgisayarda simülasyonunu yapmak en iyisi
IC-Prog kullanıyorsan sol tarafta "Configuration" başlığı altında birşeyler olmalı PWRT ve BOD seçenekleri tiklemen yeter. Diğer tikleri kaldır. Ayrıca osilatör seçimini de doğru yap.