Gönderen Konu: Bazı clon pickit2`lerde olabilen bir eksiklik  (Okunma sayısı 28408 defa)

Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Bazı clon pickit2`lerde olabilen bir eksiklik
« : 25 Şubat 2011, 08:36:39 »
Arkadaşlar orjinal başlık 16F628A katili bir program yazdım
fakat sonra işin aslının (bazı) klon pickit2 lerin bir özelliğinin çalışmaması yüzünden olduğu ortaya çıktı.
"USE VPP FIRST PROGRAM ENTRY" özelliği
O yüzden konu başlığını Bazı kopya pickit2`lerde olabilen bir eksiklik olarak değiştiriyorum.
Bu başlık konuya daha uygun olacak ve daha dikkat çekecektir.
@Maxim
---------------------------------------------------------------------------------


Merhaba arkadaşlar

Deneme amaçlı USART - TIMER1 içeren bir program yazdım, Pickit 2 ile 16F628A ya aktardım, pickit 2 doğrulama yaparken yazma işlemi bitti ve Verified of ile başlayan bir hata mesajı verdi. işlemci artık tanınmaz duruma geldi. Bu denemeler yazklaşık 10 kadar işlemcinin aynı şekilde bozulmasına sebep oldu.
Aynı pickit 2 ve yeni 16F628A ile başka programlar yazılıp silinebiliyor, aşağıdaki program yüklenip yazma gerçekleştikten sonra işlemci tanınmaz hale geliyor.

Pickit 2 de sorun yok çünkü bir kaç farklı işlemciyi de denedim bozmuyor, 18F452, 12F675, 16F628A ile aynı yükleme pin yapısına sahip 16F84 de de sorun yok.

Denemek için 628A kalmadı, sizce sorun nedir ?

Kod: [Seç]
Device    = 16F628A
Xtal    =   20

On_Interrupt GoTo DEVAM
 
    'LCD_DTPin = PORTB.4
    'LCD_RSPin = PORTA.1
    'LCD_ENPin = PORTA.0
    'LCD_Interface = 4
    'LCD_Lines = 4
    'LCD_Type = 0
    'Reminders = FALSE
    'All_Digital = TRUE
   
    CMCON=7   ' dıjıtal iptal, giriş-çıkış yap
    Config      INTRC_OSC_CLKOUT,_ ' Internal Oscillator
                WDT_OFF,_             ' Enable watch dog timer
                MCLRE_OFF,_           ' Enable MCLR pin
                BODEN_OFF,_           ' Enable brown out detect
                LVP_OFF,_            ' Disable Low voltage programming mode   
                DATA_CP_OFF,_        ' Disable data code protect
                CP_OFF               ' Disable code protect
                '
               
                CMCON   =   %00000111         'Turn off comparators
                TRISA   =   %11111111
                TRISB   =   %10000000 ' All port B outputs
'______________________________________________________________________________                                               
 Rsout_Mode = TRUE
 Rsout_Pace = 10
 
'//////////////USART///////////////////////////////////////////////////////////
 'Declare Hserial_Baud 1200
 Declare Hserial_RCSTA = %10010000 ' Enable serial port and continuous receive
 Declare Hserial_TXSTA = %00100000
 SPBRG = 32
 Declare Hserial_Clear   =   On

'//////////////////////////////INTERRUPTS//////////////////////////////////////
'********************************************************************         
                'USART RX
    Symbol RX9D = RCSTA.0 ' 9th bit of received data (Can be parity bit)
    Symbol OERR = RCSTA.1 ' Overrun Error Enable
    Symbol FERR = RCSTA.2 ' Framing Error Enable
    Symbol ADEN = RCSTA.3 ' Address Detect Enable
    Symbol CREN = RCSTA.4 ' Continuous Receive Enable
    Symbol SREN = RCSTA.5 ' Single Receive Enable
    Symbol RX9 = RCSTA.6  ' 9-bit Receive Enable
    Symbol SPEN = RCSTA.7 ' Serial Port Enable
   
    SPEN    =   1'Serial port enabled
    RX9     =   0'Selects 8-bit reception
    SREN    =   0'Asynchronous mode Don’t care                   
    CREN    =   1'Asynchronous mode 1 = Enables continuous receive
    ADEN    =   0'Asynchronous mode 8-bit (RX9=0)Unused in this mode
    FERR    =   0'No framing error
    OERR    =   0'No overrun error
    RX9D    =   0'9th bit of received data (Can be PARITY bit)
   
                  'USART TX
    Symbol TX9D = TXSTA.0 ' 9th bit of transmit data. Can be parity bit.
    TX9D    =   0   
    Symbol TRMT = TXSTA.1 ' Transmit Shift Register Status
    TRMT    =   0
    Symbol BRGH = TXSTA.2 ' High Baud Rate Select
    BRGH    =   0         'DÜŞÜK HIZ
    Symbol SYNC = TXSTA.4 ' USART Mode Select
    SYNC    =   0 
    Symbol TXEN = TXSTA.5 ' Transmit Enable
    TXEN    =   1
    Symbol TX9 = TXSTA.6  ' 9-bit Transmit Enable
    TX9 =   0 
    Symbol CSRC = TXSTA.7 ' Clock Source Select
    CSRC    =   0 
    Symbol RCIE = PIE1.5   ' USART Receive Interrupt Enable
    Set RCIE
    Symbol RCIF = PIR1.5   ' USART Receive Interrupt Flag   
    Clear   RCIF       
    Input   PORTB.1     'UART RX
         
'________________TIMER1 INTERRUPT AYARLI____________________________________

Symbol PEIE = INTCON.6 ' Peripheral Interrupt Enable
Symbol GIE = INTCON.7  ' Global Interrupt Enable
PEIE    =   1
GIE =   0

Symbol TMR1ON = T1CON.0     ' Timer1 ON
Symbol TMR1CS = T1CON.1     ' Timer1 Clock Source Select
Symbol NOT_T1SYNC = T1CON.2 ' Timer1 External Clock Input Synchronization Control
Symbol T1INSYNC = T1CON.2   ' Timer1 External Clock Input Synchronization Control
Symbol T1SYNC = T1CON.2     ' Timer1 External Clock Input Synchronization Control
Symbol T1OSCEN = T1CON.3    ' Timer1 Oscillator Enable Control
Symbol T1CKPS0 = T1CON.4    ' Timer1 Input Clock Prescale Select bits
Symbol T1CKPS1 = T1CON.5    ' Timer1 Input Clock Prescale Select bits

TMR1ON  =   1
TMR1CS  =   1
T1INSYNC    =   0
T1SYNC  =   0
T1OSCEN =   1     
T1CKPS0 =   0
T1CKPS1 =   0   

Symbol TMR1IE = PIE1.0 ' TMR1 Overflow Interrupt Enable
TMR1IE  =   1
Symbol TMR1IF = PIR1.0 ' TMR1 Overflow Interrupt Flag bit
TMR1IF  =   0
Dim Timer1 As TMR1L.Word   

'_____________PORT AYAR_____________________________
Input    PORTA
'___________________________________________________
       
    Dim    FREQ    As  Word   
    Dim TIME    As  Word
    TIME    =   0
   
DelayMS 100   
    Timer1    =   65530
    'TMR1h   =   254      '|
    'TMR1l   =   0      '|       TIMER1  KUR

BASLA: 
    GIE =   1 
   
    DelayUS 500
   
    While   RCIF    =   1         
        RCIF    =   0           
        HRSIn FREQ                   
    Wend       
   
    GoTo    BASLA
       
DEVAM:
    TMR1IF  =   0   
   
    Select  TIME
    Case    0
    Timer1  =   63896
    TIME    =   1
    Case    1
    Timer1  =   63896
    TIME    =   0
    EndSelect   
   
    Resume
    Context Restore   
    Stop

« Son Düzenleme: 20 Mart 2014, 23:34:08 Gönderen: Maxim »

Çevrimdışı t2

  • Profesyonel Üye
  • *****
  • İleti: 5456
Ynt: 16F628A katili bir program yazdım
« Yanıtla #1 : 25 Şubat 2011, 08:41:25 »
Pk2 menüsünden Tools > Use Vpp First ...
seçelim.  düzelme ihtimali var.

Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #2 : 25 Şubat 2011, 08:43:07 »
@t2
Device not detected bunu denemiştim.

Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #3 : 25 Şubat 2011, 08:46:46 »
imkanı olan lütfen denesin

Çevrimdışı t2

  • Profesyonel Üye
  • *****
  • İleti: 5456
Ynt: 16F628A katili bir program yazdım
« Yanıtla #4 : 25 Şubat 2011, 08:47:22 »
INTRC_OSC_CLKOUT,_

seçtiğin için programlama yapmaya başlarken işlemci kendiliğinden çalışıyor olabilir.


Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #5 : 25 Şubat 2011, 08:58:02 »
programlama voltajı normal, LVP hiç kullanmadım, Pickit 2 arızalı olma ihtimali düşük bence diğer pic lere yazıp siliyor. Evet işlemcide  program çalışıyor olabilir ama tanımsız hale gelecek kadar arıza hiç olmadı.
başka bir pickit ile denenmesi şart, bir arkadaş dener belki

pickit 2 programını tekrar kurdum, sorun devam ediyor

Çevrimdışı Maxim

  • Profesyonel Üye
  • *****
  • İleti: 5423
Ynt: 16F628A katili bir program yazdım
« Yanıtla #6 : 25 Şubat 2011, 09:07:38 »
denedim valla pic uçtu !

Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #7 : 25 Şubat 2011, 09:09:30 »
@Maxim
Pic için üzgünüm , denemek ki programda bir şey var

Çevrimdışı Maxim

  • Profesyonel Üye
  • *****
  • İleti: 5423
Ynt: 16F628A katili bir program yazdım
« Yanıtla #8 : 25 Şubat 2011, 09:11:46 »
bu config tanımların biraz tuhaf

Çevrimdışı OG

  • Global Moderator
  • Profesyonel Üye
  • *****
  • İleti: 9228
    • http://www.cekud.org.tr
Ynt: 16F628A katili bir program yazdım
« Yanıtla #9 : 25 Şubat 2011, 09:12:03 »
Device    = 16F628A
Xtal    =   20

altına

delayms 100

gibi bir şey ekleyin

On_Interrupt GoTo DEVAM

satırını da tanımlamaların altına alın yani
'//////////////////////////////INTERRUPTS//////////////////////////////////////
satırının üstüne.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #10 : 25 Şubat 2011, 09:19:25 »
@MAXIM
evet config ler öyle kalmış , arızaya sebep olabilir mi ki ?
Ben deneyemiyorum , birisi çözer mi diye bekliyorum sadece
Statik elektirikten çok pic yaktım ama böylesi ilk defa oluyor

Çevrimdışı Maxim

  • Profesyonel Üye
  • *****
  • İleti: 5423
Ynt: 16F628A katili bir program yazdım
« Yanıtla #11 : 25 Şubat 2011, 09:19:57 »
haydaa 2. picte gitti, valla denemem bir daha

programda şöyle bir değişiklik yaptım
config satırını düzenledim ve yukarı aldım,
birde cmcon satırlarını kaldırdım olmadı..

Kod: [Seç]

Device    = 16F628A
Xtal    =   20
Config BOREN_OFF, CP_OFF, DATA_CP_OFF, PWRTE_OFF, WDT_OFF, LVP_OFF, MCLRE_OFF, INTRC_OSC_NOCLKOUT


On_Interrupt GoTo DEVAM
 

    TRISA   =   %11111111
    TRISB   =   %10000000 ' All port B outputs
'______________________________________________________________________________                                               
 Rsout_Mode = TRUE
 Rsout_Pace = 10
 
'//////////////USART///////////////////////////////////////////////////////////
 'Declare Hserial_Baud 1200
 Declare Hserial_RCSTA = %10010000 ' Enable serial port and continuous receive
 Declare Hserial_TXSTA = %00100000
 SPBRG = 32
 Declare Hserial_Clear   =   On

'//////////////////////////////INTERRUPTS//////////////////////////////////////
'********************************************************************         
                'USART RX
    Symbol RX9D = RCSTA.0 ' 9th bit of received data (Can be parity bit)
    Symbol OERR = RCSTA.1 ' Overrun Error Enable
    Symbol FERR = RCSTA.2 ' Framing Error Enable
    Symbol ADEN = RCSTA.3 ' Address Detect Enable
    Symbol CREN = RCSTA.4 ' Continuous Receive Enable
    Symbol SREN = RCSTA.5 ' Single Receive Enable
    Symbol RX9 = RCSTA.6  ' 9-bit Receive Enable
    Symbol SPEN = RCSTA.7 ' Serial Port Enable
   
    SPEN    =   1'Serial port enabled
    RX9     =   0'Selects 8-bit reception
    SREN    =   0'Asynchronous mode Don’t care                   
    CREN    =   1'Asynchronous mode 1 = Enables continuous receive
    ADEN    =   0'Asynchronous mode 8-bit (RX9=0)Unused in this mode
    FERR    =   0'No framing error
    OERR    =   0'No overrun error
    RX9D    =   0'9th bit of received data (Can be PARITY bit)
   
                  'USART TX
    Symbol TX9D = TXSTA.0 ' 9th bit of transmit data. Can be parity bit.
    TX9D    =   0   
    Symbol TRMT = TXSTA.1 ' Transmit Shift Register Status
    TRMT    =   0
    Symbol BRGH = TXSTA.2 ' High Baud Rate Select
    BRGH    =   0         'DÜŞÜK HIZ
    Symbol SYNC = TXSTA.4 ' USART Mode Select
    SYNC    =   0 
    Symbol TXEN = TXSTA.5 ' Transmit Enable
    TXEN    =   1
    Symbol TX9 = TXSTA.6  ' 9-bit Transmit Enable
    TX9 =   0 
    Symbol CSRC = TXSTA.7 ' Clock Source Select
    CSRC    =   0 
    Symbol RCIE = PIE1.5   ' USART Receive Interrupt Enable
    Set RCIE
    Symbol RCIF = PIR1.5   ' USART Receive Interrupt Flag   
    Clear   RCIF       
    Input   PORTB.1     'UART RX
         
'________________VCO ICIN TIMER1 INTERRUPT AYARLI____________________________________

Symbol PEIE = INTCON.6 ' Peripheral Interrupt Enable
Symbol GIE = INTCON.7  ' Global Interrupt Enable
PEIE    =   1
GIE =   0

Symbol TMR1ON = T1CON.0     ' Timer1 ON
Symbol TMR1CS = T1CON.1     ' Timer1 Clock Source Select
Symbol NOT_T1SYNC = T1CON.2 ' Timer1 External Clock Input Synchronization Control
Symbol T1INSYNC = T1CON.2   ' Timer1 External Clock Input Synchronization Control
Symbol T1SYNC = T1CON.2     ' Timer1 External Clock Input Synchronization Control
Symbol T1OSCEN = T1CON.3    ' Timer1 Oscillator Enable Control
Symbol T1CKPS0 = T1CON.4    ' Timer1 Input Clock Prescale Select bits
Symbol T1CKPS1 = T1CON.5    ' Timer1 Input Clock Prescale Select bits

TMR1ON  =   1
TMR1CS  =   1
T1INSYNC    =   0
T1SYNC  =   0
T1OSCEN =   1     
T1CKPS0 =   0
T1CKPS1 =   0   

Symbol TMR1IE = PIE1.0 ' TMR1 Overflow Interrupt Enable
TMR1IE  =   1
Symbol TMR1IF = PIR1.0 ' TMR1 Overflow Interrupt Flag bit
TMR1IF  =   0
Dim Timer1 As TMR1L.Word   

'_____________PORT AYAR_____________________________
Input    PORTA
'___________________________________________________
       
    Dim    FREQ    As  Word   
    Dim TIME    As  Word
    TIME    =   0
   
DelayMS 100   
    Timer1    =   65530
    'TMR1h   =   254      '|
    'TMR1l   =   0      '|       TIMER1  KUR

BASLA: 
    GIE =   1 
   
    DelayUS 500
   
    While   RCIF    =   1         
        RCIF    =   0           
        HRSIn FREQ                   
    Wend       
   
    GoTo    BASLA
       
DEVAM:
    TMR1IF  =   0   
   
    Select  TIME
    Case    0
    Timer1  =   63896
    TIME    =   1
    Case    1
    Timer1  =   63896
    TIME    =   0
    EndSelect   
   
    Resume
    Context Restore   
    Stop


Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #12 : 25 Şubat 2011, 09:24:04 »
isis de çalışıyor , hatada vermiyor

Çevrimdışı Maxim

  • Profesyonel Üye
  • *****
  • İleti: 5423
Ynt: 16F628A katili bir program yazdım
« Yanıtla #13 : 25 Şubat 2011, 09:42:13 »
LVP özelliğini denedim o da olmadı
lvp için aux ucunuda kullanıyorsun .
lvp=low voltage programming

ben birşey anlamadım
ne programı bu ? ne işe yarar ? seri portla ilgili ama nedir
2 tane pic gitti ya

Çevrimdışı pcb

  • Emektar
  • *****
  • İleti: 643
Ynt: 16F628A katili bir program yazdım
« Yanıtla #14 : 25 Şubat 2011, 09:49:27 »
Sadece deneme programı herhangi bir anlamı yok. USART - TIMER1