Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: lazut08 - 26 Aralık 2013, 16:53:55

Başlık: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: lazut08 - 26 Aralık 2013, 16:53:55
Herkese merhaba arkadaşlar.Uzaktan bluettooth ile kontrollü projemiz için  kullandığımız 16f877 entegresinde pwm için  2 bacak olduğu için pic16f777 entegresini aldık.proje için yazıdığımız kodu pic 16f877 için çalıştırdık ancak programı 16f777 için tekrar oluşturduğumuzda oluşan hex dosyasını entegreye atarken programlayıcı(diy150) fuse error 0x2008 Good 0x03FBC Bad 0X3FFF gibi bir hata veriyor.programıda atamıyor bu yüzden.Acaba sebebi  ne olabilir   :-\
(http://u1312.hizliresim.com/1j/u/vwrtp.jpg) (http://bit.ly/c25MCx)

#include <16F777.h>
#device adc=8
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV45                   //Brownout reset at 4.5V
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOFCMEN                  //Fail-safe clock monitor disabled
#FUSES NOIESO                   //Internal External Switch Over mode disabled
#FUSES NOBORSEN                 //See Datasheet

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#int_RDA
char a;
char b;
char c;
char r;

void  RDA_isr(void)
{
disable_interrupts(INT_RDA);
}



void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF|ADC_TAD_MUL_0);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DIV_BY_16,255,1);
   setup_ccp1(CCP_PWM);
   setup_ccp2(CCP_PWM);
   setup_ccp3(CCP_PWM);
   set_pwm1_duty(0);
   set_pwm2_duty(0);
   set_pwm3_duty(0);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
while(1)
{
r=getc();
if(r=='G')
{
a=getc();
b=getc();
c=getc();
set_pwm1_duty((a-48)*100+(b-48)*10+c-48);
}
else if(r=='R')
{
a=getc();
b=getc();
c=getc();
set_pwm2_duty((a-48)*100+(b-48)*10+c-48);
}
else if(r=='B')
{
a=getc();
b=getc();
c=getc();
set_pwm3_duty((a-48)*100+(b-48)*10+c-48);
}
}}
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: Mr.Java - 26 Aralık 2013, 17:37:45
#include <16F877A.h>
#device adc=8
#FUSES NOWDT      //No Watch Dog Timer
#FUSES HS         //Highspeed Osc > 4mhz
#FUSES PUT        //Power Up Timer
#FUSES NOPROTECT  //Code not protected from reading
#FUSES NODEBUG    //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP      //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD      //No EE protection

bu şekil denermisin.Ayrıca program size uygun olarak fuse ayarlarını good olarak hex olrak vermiş.Datasheetten bakabilirsin tek tek fuse ayarlarına.Aklıma gelen ilk şey kristal tipi nedir ?
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: lazut08 - 26 Aralık 2013, 17:54:45
kullanmam gereken entegre 777 3 pwm lazım bana . 877 de 2 pwm var onla çalışıyor zaten.  4mhz harici kristal kullanıyorum. teşekkürkler
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: Mr.Java - 26 Aralık 2013, 21:53:57
Pardon gözümden kaçmış işlemci türü  ::)

CCS bilmiyorum fakat destekliyordur paylaşacağım komut satırını..

CONFIG1 = 0x3869
CONFIG2 = 0x0043

Bu şekilde yazıp deneyebilirmisiniz ?
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: pwm.c - 26 Aralık 2013, 22:41:22
hex dosyasının yazılamaması ile derleyicinin ne alakası var?
sorun donanımsal da olabilir. belki PIC bozuktur. birde ICSP ile programlamayı dene bakalım.
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: OG - 26 Aralık 2013, 22:56:10
K128 listesinde olmasına rağmen 16f777 yi programlayamıyor, muhtemelen K150 de öyledir. PicKit2 öneririm.
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: Mr.Java - 26 Aralık 2013, 23:20:13
@pwm.c
Şöyle ki k150 yanlış fuse ayarlarında hata veriyor,yazmıyor.Sorun derleyicide değil
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: lazut08 - 27 Aralık 2013, 01:09:58
Arkadaşlar öncelikle herkese teşekkür ederim değerli cevaplarınız için icsp moddada aynı hatayı veriyor malesef.Pickit2 im olmadığı için deneyemedim.ancak pwm ler bazen doğru çalışıyor bazen doğru çalışmıyor.Buda büyük ihtimal düzgün programlayamadığından. fuse ayarlarından neyi değiştirmeliyim acaba  yanlışsa ?
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: Mr.Java - 27 Aralık 2013, 14:19:17
OSC=XT
Watchdog=off
PWT=OFF
MCLR=ON
Brown-out=on
Brown-out reset voltage=4.5V
Debug=off
CCP2 Multiplex=CCP2 on RC1
Flash code protected=off
fail-safe clock=ON
Internal external switch=ON
Brown-out reset software=ON

denermisin bu şekilde
Başlık: Ynt: PIC 16F777 RGB LED PWM fuse error hatası
Gönderen: lazut08 - 28 Aralık 2013, 00:24:45
Hocam malesef o şekildede olmadı yine teşekkür ederim bilgiler için.

mesaj birleştirme:: 28 Aralık 2013, 00:50:54

Arkadaşlar sonunda oldu galiba ilginç bi şekilde programı chip selector kısmından 16f777 yerine 16f767 ye atarmış gibi  attım.sorunsuz bi şekilde programladı.Şimdi çalışıyor.Daha iyi bi programlayıcı şart galiba.Herkese tekrar teşekkür ederim bilgiler için.