Programování s PICKIT3

Zdravím všechny,
Jsem začínající programátor mikročipů, zakoupil jsem si PICKIT3, že s ním budu programovat mikročipy. Už jsem se naučil programovat mikročipy Cypress, jenže jich na trhu není tak velká škála jako PICů…
Jenže ouha. Mám PIC16F876 a PIC16F872, ale ani na jeden mi nějak nejde nahrát program. Zapojení mám podle návodu k PICKITu3 napájení jsem nastavil z PICKITU3, i s odporem 4,7kΩ. Používám MPLABX. mám .HEX soubor, vložím ho do IPE, kliknu nejdříve na Erase, vyskočí okno, že nastavení 5V, když je připojeno zařízení na 3,3V může zničit zařízení. Nechápu to, protože v datasheetu jsem četl, že napájení je možné mezi 2 - 5 V. Zároveň nechápu, proč když si otevřu Advanced settings, abych tam tedy dal 3,3V můžu přenastavit jenom VDD, ale VPP a další už nejdou nastavit.
Když tedy v okně s varováním na napětí kliknu na OK, objeví se další chyba:
Target device ID (0x0) does not match expected device ID (0x9e0). Would you like to continue?

Zároveň mám ještě jeden dotaz; v návodu jsem se dočetl, že krystal je potřeba pouze v případě, že bych chtěl provádět debugging, takže ho tam nemám. Vadí to? Myslel jsem, že pouze k programování to není potřeba.

Nevíte někdo, kde dělám chybu?
Děkuji za odpovědi a za trpělivost - jsem teprve začátečník.

tak kterej
zapojeny to mas dobre ? schema ,foto…
VDD se nastavuje
programovani pres MPLAB / X sem neviuzival , jen sem to parkrat vyskousel,blblo to…
pouzivam to samostatny PK2/3 tool… s tim nemam problemy…

Omlouvám se, nevím jak se to stalo, ale přepsal jsem se. Mám PIC16F876 a PIC16F872, používám 876ku.
Schéma hned pošlu

Zapojení:

PICKIT3 port | Procesor port (PIC16F876)
1 | MCLR - port 1
2 | VDD - port 20
3 | VSS - port 8, 19
4 | PGD - port 28
5 | PGC - port 27
6 | PGM - port 24, 26

MCLR jsem spojil 4,7 kohm odporem (potenciometrem) s VDD.

Pro jistotu jsem zapojil i krystal na porty 11, 12, ale nepomohlo to.
PIC16F876.gif

ten pk3 tool si skousel ?
kdyz pripojis krystal tak tam musis mit i kondiky, ale pro naprogramovani neni treba
po dlouhy dobe sem vytah provizorni kabel a…


Vypadá to, že to s PK3 Tool funguje. Žádnou chybu to nehlásí, přečetl jsem paměť a vidím to tam. Takže Vám děkuji za odpověď. Pomohlo to. Jen teď nemám u sebe kondíky ke krystalu. Nebo to bude fungovat i bez nich? Jen mě trochu mrzí, že to nefunguje s MPLABX.

moje vestecka koule nedokaze takle cist na dalku :laughing:

LIST P=16F627
INCLUDE<P16F627.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _MCLRE_OFF & _BODEN_OFF & _LVP_OFF & _INTRC_OSC_NOCLKOUT

#DEFINE TLAC PORTA,0 ; Poznamky se pisi
#DEFINE LED PORTA,1 ; za stredniky !!!

MOVLW	B'00000111'	; typ komparatoru (off)
MOVWF	CMCON
BSF	STATUS,RP0
MOVLW	B'00000001'
MOVWF	TRISA
BCF	STATUS,RP0

BCF	LED

START BTFSS TLAC
GOTO $-1
BSF LED
BTFSC TLAC
GOTO $-1

BTFSS	TLAC
GOTO	$-1
BCF	LED
BTFSC	TLAC
GOTO	$-1

GOTO	START

END

*Poznámka: Vím, že to není pro můj procesor, jenže když jsem se snažil přepsat na začátku název procesoru, nešlo to zkompilovat. Vyhodilo to hodně chyb. Tento kód je z internetu, stejně jako .hex soubor.
Třeba to bude fungovat.

nebude
tet my to doslo,87X nema interni oscilator jakze je treba externi, krystal nebo RC,zmen include a pojistky a melo by to jit
PIC16f873A - nefunguje PORTB,6 a PORTB,7 (vysoká impedance) - #5 by Oskar1

Jenže já mám problém už se softwarem. Změním include, jenže MPLAB mi to nechce vzít. Nevím pořádně kde jsem tedy udělal chyby.

LIST P=16F876
INCLUDE<P16F876.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _MCLRE_OFF & _BODEN_OFF & _LVP_OFF & _INTRC_OSC_NOCLKOUT

CISLO equ 20h ; prirazeni nazvu registrum
CISLOA equ 21h

#DEFINE TLAC PORTA,0 ; Poznamky se pisi
#DEFINE LED PORTA,1 ; za stredniky !!!

MOVLW	B'00000111'	; typ komparatoru (off)
MOVWF	CMCON
BSF	STATUS,RP0	; nastaveni In / Out
MOVLW	B'00000001'
MOVWF	TRISA
BCF	STATUS,RP0

BCF	LED

START BTFSS TLAC ; ceka na stisk tlacitka
GOTO $-1
BSF LED ; stisknuto, rozsvit LED
ZACNI CLRF CISLO ; rutina proti zakmitum ceka na pusteni tlacitka
CLRF CISLOA
ZNOVU BTFSC TLAC
GOTO ZACNI
INCFSZ CISLO,1
GOTO ZNOVU
INCFSZ CISLOA,1
GOTO ZNOVU
; pusteno, pokracuj…
BTFSS TLAC ; ceka na stisk tlacitka
GOTO $-1
BCF LED ; stisknuto, zhasni LED
ZACNI1 CLRF CISLO ; rutina proti zakmitum ceka na pusteni tlacitka
CLRF CISLOA
ZNOVU1 BTFSC TLAC
GOTO ZACNI1
INCFSZ CISLO,1
GOTO ZNOVU1
INCFSZ CISLOA,1
GOTO ZNOVU1

GOTO	START

END

Vymaž z configu _MCLRE_OFF a _INTRC_OSC_NOCLKOUT to 16F876 nemá.

Našel jsem si jednodušší program - přepínací LED.
Jenže zase to vyhazuje chyby na každém řádku a já nevím, v čem je problém. Používám mpasmx kompiler.

Zde je kód:

LIST P=16F876
INCLUDE<P16F876.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _RC_OSC

#DEFINE TLAC PORTA,0 ; Poznamky se pisi
#DEFINE LED PORTA,1 ; za stredniky !!!

BSF	STATUS,RP0
MOVLW	B'00000001'
MOVWF	TRISA
BCF	STATUS,RP0

BCF	LED

START BTFSS TLAC
GOTO $-1
BSF LED
BTFSC TLAC
GOTO $-1

BTFSS	TLAC
GOTO	$-1
BCF	LED
BTFSC	TLAC
GOTO	$-1

GOTO	START

END

===============================================
A zde jsou chyby

8 : Executable code and data must be defined in an appropriate section
9 : Executable code and data must be defined in an appropriate section
10 : Register in operand not in bank 0. Ensure that bank bits are correct.
10 : Executable code and data must be defined in an appropriate section
11 : Executable code and data must be defined in an appropriate section
13 : Executable code and data must be defined in an appropriate section
15 : Labels must be defined in a code or data section when making an object file
15 : Executable code and data must be defined in an appropriate section
16 : Labels must be defined in a code or data section when making an object file
16 : Argument out of range (FFFF not between 0000 and 1FFF)
16 : Crossing page boundary – ensure page bits are set.
16 : Executable code and data must be defined in an appropriate section
17 : Executable code and data must be defined in an appropriate section
18 : Executable code and data must be defined in an appropriate section
19 : Labels must be defined in a code or data section when making an object file
19 : Argument out of range (FFFF not between 0000 and 1FFF)
19 : Crossing page boundary – ensure page bits are set.
19 : Executable code and data must be defined in an appropriate section
21 : Executable code and data must be defined in an appropriate section
22 : Labels must be defined in a code or data section when making an object file
22 : Argument out of range (FFFF not between 0000 and 1FFF)
22 : Crossing page boundary – ensure page bits are set.
22 : Executable code and data must be defined in an appropriate section
23 : Executable code and data must be defined in an appropriate section
24 : Executable code and data must be defined in an appropriate section
25 : Labels must be defined in a code or data section when making an object file
25 : Argument out of range (FFFF not between 0000 and 1FFF)
25 : Crossing page boundary – ensure page bits are set.
25 : Executable code and data must be defined in an appropriate section
27 : Operand contains unresolvable labels or is too complex
27 : Executable code and data must be defined in an appropriate section

Vůbec nevím, co s tím.

[code] LIST P=16F876
INCLUDE<P16F876.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _RC_OSC

#DEFINE TLAC PORTA,0 ; Poznamky se pisi
#DEFINE LED PORTA,1 ; za stredniky !!!

BSF STATUS,RP0
MOVLW B'00000001'
MOVWF TRISA
BCF STATUS,RP0

BCF LED

START BTFSS TLAC
GOTO $-1
BSF LED
BTFSC TLAC
GOTO $-1

BTFSS TLAC
GOTO $-1
BCF LED
BTFSC TLAC
GOTO $-1

GOTO START

END [/code]

[code]Debug build of project I:\PIC\ZKOUSKA\ASM\Snehulak.mcp' started. Language tool versions: MPASMWIN.exe v5.51, mplink.exe v4.49, mplib.exe v4.49 Preprocessor symbol __DEBUG’ is defined.
Sun Apr 06 08:41:19 2014

Clean: Deleting intermediary and output files.
Clean: Deleted file “I:\PIC\ZKOUSKA\ASM\Matyas.o”.
Clean: Deleted file “I:\PIC\ZKOUSKA\ASM\Matyas.err”.
Clean: Deleted file “I:\PIC\ZKOUSKA\ASM\Matyas.hex”.
Clean: Deleted file “I:\PIC\ZKOUSKA\ASM\Matyas.lst”.
Clean: Deleted file “I:\PIC\ZKOUSKA\ASM\Matyas.cof”.
Clean: Done.
Executing: “I:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe” /q /p16F876 “Matyas.asm” /l"Matyas.lst" /e"Matyas.err" /d__DEBUG=1
Message[302] I:\PIC\ZKOUSKA\ASM\MATYAS.ASM 10 : Register in operand not in bank 0. Ensure that bank bits are correct.
Executing: “I:\Program Files\Microchip\MPASM Suite\mplink.exe” /p16F876 “Matyas.o” /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"Matyas.cof" /M"Matyas.map" /W /x
MPLINK 4.49, Linker
Device Database Version 1.14
Copyright © 1998-2011 Microchip Technology Inc.
Errors : 0

Loaded I:\PIC\ZKOUSKA\ASM\Matyas.cof.

Debug build of project I:\PIC\ZKOUSKA\ASM\Snehulak.mcp' succeeded. Language tool versions: MPASMWIN.exe v5.51, mplink.exe v4.49, mplib.exe v4.49 Preprocessor symbol __DEBUG’ is defined.
Sun Apr 06 08:41:20 2014

BUILD SUCCEEDED
[/code]
neco delas spatne …, jen sem pridal tabulatory …

Asi pouzivam jiny kompiler; mpasmx. Zkusim ten Vas.

uz par let pouzivam MPLAB, obcas se neco podelalo ale opravila to preinstalace,jinak funguje v pohode,
MPLABX je divnej,neprehlednej,slozitej,minuly tyden jsem ho nainstaloval znovu a sel hned pric, jestli ti to pude na MPLABu normalne , tak asi bude na tom Xku neco spatne, spatny nastaveni nebo co, ale kdo ma naladu a cas se mordovat s nastavenim…

Aha. Taky asi zkusím MPLAB.

Dobrý den,
Vše jsem zkusil, několikrát jsem přeinstaloval software, ale nepomohlo to. Také jsem zkusil připojit napájení externě.
Stále mi vyskakuje hláška, že PICKIT nenašel zařízení.
Není také možné, že by byl PICKIT3 vadný? Nebo že by byl vadný čip?
Nemáte ještě nějaké nápady?
Děkuji.

Možné je všetko :slight_smile:

použi iný čip, zmeraj napätie na MCU. Máš dopre prepojené zeme? Atď., atď.

Prvý krok je, skontroluj Ucc.
Druhý krok je, vymeň MCU.
Tretí krok je, vymeň programátor.