PİC16F628'DE Bulunan Yazılımı Güncelleme

Başlatan sozkarabacak, 13 Nisan 2009, 18:50:48

sozkarabacak

Selamlar,

Elimizde üzerinde pic16f628 olan bir devre var . Bu devredeki pic işlemcisini sökmeden yaptığımız harici başka bir devre ile bu işlemcinin yazılımında değer değiştirmek istiyoruz. Diyelim ki bu bir dtmf devresi şifreyi yaptığımız üzerinde key pad olan bir devre ile güncellemek istiyoruz. Bu konu ile ilgili bilgilere internette arama motoruna ne yazarsak ulaşabiliriz. Bu iş PİCBASİC dili ile yapılabilir mi?
http://picasaweb.google.com/33elektronik http://www.33elektronik.tr.cx MSN: [email]sukruozkarabacak@hotmail.com[/email]

Maxim

usart, seri haberleşme ile olamazmı mesela ?

fofo

maxiboost un dediği gibi bu işi en kolay yoldan PIC in usart ını kullanarak seri iletişimle yaparsın. PBP ile  yapılabilir.

Tagli

Yalnız bu şekilde program hafızasına müdahele edilemez çünkü 16F628'in kendi program hafızasına yazma (ve de okuma) özelliği yok. Seri iletişim ile EEPROM'daki değerlerin güncellenmesi sağlanabilir. Veya bilgisayardan bağımsız bir programlama devresi yapılabilir ama bunun için Microchip'in konu hakkındaki kaynaklarını baya bir çalışmak lazım.
Gökçe Tağlıoğlu

sezgin05

PicKit2 clone sistemide düşünülebilir.

Maxim

Alıntı yapılan: "Tagli"Yalnız bu şekilde program hafızasına müdahele edilemez çünkü 16F628'in kendi program hafızasına yazma (ve de okuma) özelliği yok. Seri iletişim ile EEPROM'daki değerlerin güncellenmesi sağlanabilir. Veya bilgisayardan bağımsız bir programlama devresi yapılabilir ama bunun için Microchip'in konu hakkındaki kaynaklarını baya bir çalışmak lazım.

biraz daha açarmısın taglı , tam anlamadım ,
teşekkürler

Tagli

@maxiboost, şimdi bakıyorum da galiba ben olayı yanlış anlamışım. "İşlemcinin yazılımında değer değiştirmek istiyoruz" ifadesini PIC'in içindeki programda bir yer değiştirilecek gibi düşündüm. Sen USART deyince de aklıma bootloader benzeri birşey geldi. Haliyle de yazdığım mesaj saçma olmuş. Özür dilerim.

Sanırım olay aslında bir değişkende tutulan değeri dışarıdan müdahele ile değiştirmekten ibaret. Bu durumda evet, USART bu iş için uygun gözüküyor.
Gökçe Tağlıoğlu

Maxim


sezgin05

Evet olay anlaşılmıştır.USART ile halledilir.

sozkarabacak

Bir örnek üzerinden sorumu tekrar sorayım ilgilenen arkadaşlara ayrıca teşekkür ediyorum.
Alıntı Yap

'********************   TANIMLAR   ******************************  
@ DEVICE pic16F628                                                    
@ DEVICE pic16F628, WDT_OFF              
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT              
@ DEVICE pic16F628, PROTECT_OFF
'***************************************************************
DEFINE SHIFT_PAUSEUS 10
'***********************  DEĞİŞKEN VE SABİTLER  ******************  
DTT  VAR PORTA.1  
CL   VAR PORTA.0  
LE   VAR PORTA.2    
CMCON=7        
TRISA=%11111000  
TRISB=%11111111  
GONDER:
DTT=0:CL=0:LE=0                  
SHIFTOUT DTT,CL,1,[0\1,320\13,1\1]
PulsOut LE,10
PAUSE 50                      
SHIFTOUT DTT,CL,1,[97\11,80\7,0\1]    
PulsOut LE,10                    
PAUSE 50
DTT=%0:CL=%0:LE=%0
return                                        
End

Yukarıdaki yazılım MB1502 PLL entegresini kontrol etmekte.
SHIFTOUT DTT,CL,1,[97\11,80\7,0\1] yazılımın bu kısmındaki 97 ve 80 değerleri pll'in kitleneceği frekansı belirlemekte. Amacım devrenin frekansını bilgisayar olmadan değiştirebilmek. Bir lcd ekranlı devre ile gerekli frekansı gönder butonuna basınca değiştirmek. Bu devre bir ara kablo ile devreye bağlanacak ve işlemden sonra çıkarılacak şekilde olmasını düşünüyorum. Program gönderme kısmındada 16f628 kullanmamız olanaklı mı?
http://picasaweb.google.com/33elektronik http://www.33elektronik.tr.cx MSN: [email]sukruozkarabacak@hotmail.com[/email]

ahmet2004

Değiştireceğiniz değişkenleri Picin eepromunda tutun.

Sonra kablo ile bağlanarak devredeki eepromdaki bu

değişkenleri değiştirin.