Sari la conținut
ELFORUM - Forumul electronistilor

Programator Adelaida, PIC


mecaboy

Postări Recomandate

Buna seara.Astazi mi-a venit programator de la adelaida http://www.adelaida.ro/adelaida/catalog ... _PIC01.pdf la care am comandat si un PIC12F629 I/P .Din cate citesc in acest manual,nu pot programa acest tip de microcontroler.Ma gandeam sa fac inca un montaj cu un slot pentru a putea programa si acest tip de PIC.Care sunt pinii esentiali ce se folosesc la programarea unui PIC?

 

Multumesc frumos

 

P.S. Ce programator imi recomandati sa folosesc?

Link spre comentariu
  • Răspunsuri 15
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • mecaboy

    9

  • XAN77

    5

  • Badman

    2

Top autori în acest subiect

Ba merge, poti programa cu acel progrmator si 12F629 sau 12F675 in slotul de 12Cxxx . Ca sa te convingi foloseste winpic800 si da-i un read/check ID sau ceva de genu, citeste id-ul cipului din slot.

Link spre comentariu

Am instalat programul,configurat partea hardware si am dat "Recunoastere dispozitiv.Pana aici totul este ok,a fost recunoscut PIC-ul,probleme apar in momentul in care dau "verifica tot".Se fac verificarile pana la un anumit nivel,totul este in regula dar la 88% apare o eroare,se pare ca la partea de config...eroarea suna asa: "EROARE->Verificare adresa 0x002007 Verificat: 0x31FF citit: 0x11FF"

 

EDIT====

 

In acest moment testele sunt OK,nu mai apare eroare.Nu stiu de la ce a fost.Am sa incerc sa scriu un program

Link spre comentariu

banuiesc ca sti ca picurile 12F cand sunt noi au la sfarsitul memoriei scrisa valoarea de calibrare a oscilatorului intern, daca iai dat un erase, la revedere . Nu stiu cand ai dat tu verify, daca ai dat fara sa programezi/stergi/citesti in prealabil normal ca a dat eroare, ca in buffer figura un blank numai cu 3ff peste tot si in PIC la ultima locatie, se afla acea valoare de calibrat oscilatorul intern. Valoarea aia trebuie salvata (scrisa pe pic chiar) si bagata manual la fiecare programare, sau atunci cand e nevoie de ea .

Link spre comentariu

pentru asm to hex exista asamblorul MPASM de la microchip, poti folosi MPLAB IDE de la microchip care include si mpasm, dar e ceva mai complex acel soft, nu stiu daca te descurci .

Link spre comentariu
  • Administratori

Am instalat acum MPLAB ,dar nu am gasit...am sa mai caut.Sper sa gasesc...

Gasesti la compile proiect sau ceva de genul Pentru inceput citeste HELP-ul programului, informatiile ce trebuie sa le cunosti nu o sa-ti cada din cer daca nu pui osul la contributieProgamatorul de la adelaida este JDM
Link spre comentariu

in Program Files unde s-a instalat mplab, gasesti directorul asamblorului, se numeste MPASMWIN sau MPASM si are un executabil, totodata e si un help al lui acolo. Oricum ca sa programezi astfel, editand in notepad si asambland cu mpasm e prea greoi pentru zilele astea, nu e rentabil deloc. Mai bine te axezi pe un compilator cu un limbaj de nivel inalt precum C, Basic etc, care ti se potriveste si incepi cu ala. Daca vrei asamblare atunci e musai sa inveti sa folosesti MPLAB, incepand cu helpul lui si tutoriale de pe net . Ca o mentiune, majoritatea par a folosi C. Ca alta mentiune, eu nu ma aflu prin majoritate :d, folosesc Basic . Ca asambler folosim toti, adica secvente de cod asambler inserate in codul programului de limbaj inalt .

Link spre comentariu

Ma voi axa si eu pe basic deoarece cunosc programare Visual Basic si presupun ca imi va fi mai usor basic decat C.Ca si programator m-i se pare ok WinPic800.Cum programez cu Basic?adica ...ce basic sa caut pe internet?

Dupa ce fac programul in basic,presupun ca este aceasi procedura,adica conversie in hex

 

Multumesc mult

 

=====EDIT========

Am gasit ansablorul dar in momentul in care incarc fisierul .asm si dau comanda "Assemble" primesc urmatoarea eroare: " Error in parameter: "and" "

 

Acesta este codul sursa al programului:

 

; list directive to define processor		list      p=12f629            		; processor specific variable definitions		#include <p12f629.inc>        		__CONFIG   	_CP_OFF & _MCLRE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _BODEN_OFF & _CPD_OFF &_PWRTE_OFF	#DEFINE	LED		GPIO,0	#DEFINE LED_IO	TRISIO,0CNT0	EQU		20HCNT1	EQU		21HCNT2	EQU		22H;---------------------------------		ORG		0000H					MOVLW 	07H			MOVWF 	CMCON		; TURN-OFF analog comparator 			BSF		STATUS,RP0	; select bank 1		CALL	3FFH		; Load cal value		MOVWF	OSCCAL		BCF		LED_IO		; set as output		BCF		STATUS,RP0	; select bank 0				LOOP:	BSF		LED		CALL	DELAY		BCF		LED		CALL	DELAY		GOTO	LOOP				;---------------------------------; DELAY 0.5 SECONDS ROUTINE;--------------------------------- DELAY:	MOVLW	03H		MOVWF	CNT0		MOVLW	18H		MOVWF	CNT1		MOVLW	02H		MOVWF	CNT2Delay_0		DECFSZ	CNT0, f		GOTO	$+2		DECFSZ	CNT1, f		GOTO	$+2		DECFSZ	CNT2, f		GOTO	Delay_0		;6 cycles		GOTO	$+1	;delay 2 cycles		GOTO	$+1	;delay 2 cycles		GOTO	$+1	;delay 2 cycles		;4 cycles (including call)		RETURN				END
Link spre comentariu
  • Administratori

la mine merge, asta este hexul rezultat

:020000040000FA:10000000073099008316FF23900005108312051412:100010000C2005100C2007280330A0001830A10088:100020000230A200A00B1528A10B1728A20B122842:0800300019281A281B280800FA:02400E00943FDD:00000001FF

si fisierul LST

MPASM  5.20                             1.ASM   1-25-2009  18:59:32         PAGE  1LOC  OBJECT CODE     LINE SOURCE TEXT  VALUE                      00001 ; list directive to define processor                      00002       list      p=12f629                                 00003       ; processor specific variable definitions                      00004       #include                              00001         LIST                      00002 ; P12F629.INC  Standard Header File, Version 1.04    Microchip Technology, Inc.                      00258         LIST                      00005 2007   3F94           00006       __CONFIG      _CP_OFF & _MCLRE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT & _BODEN_OFF & _CPD_OFF &_PWRT                            E_OFF                      00007                          00008 #DEFINE   LED      GPIO,0                         00009 #DEFINE LED_IO   TRISIO,0                      00010   00000020            00011 CNT0   EQU      20H  00000021            00012 CNT1   EQU      21H  00000022            00013 CNT2   EQU      22H                      00014 ;---------------------------------0000                  00015       ORG      0000H                      00016          0000   3007           00017       MOVLW    07H   0001   0099           00018       MOVWF    CMCON      ; TURN-OFF analog comparator                      00019    0002   1683           00020       BSF      STATUS,RP0   ; select bank 10003   23FF           00021       CALL   3FFH      ; Load cal valueMessage[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.0004   0090           00022       MOVWF   OSCCALMessage[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.0005   1005           00023       BCF      LED_IO      ; set as output0006   1283           00024       BCF      STATUS,RP0   ; select bank 0                      00025             0007   1405           00026 LOOP:   BSF      LED0008   200C           00027       CALL   DELAY0009   1005           00028       BCF      LED000A   200C           00029       CALL   DELAY000B   2807           00030       GOTO   LOOP                            00031                             00032 ;---------------------------------                      00033 ; DELAY 0.5 SECONDS ROUTINE                      00034 ;---------------------------------000C   3003           00035 DELAY:   MOVLW   03H000D   00A0           00036       MOVWF   CNT0000E   3018           00037       MOVLW   18H000F   00A1           00038       MOVWF   CNT10010   3002           00039       MOVLW   02H0011   00A2           00040       MOVWF   CNT20012                  00041 Delay_00012   0BA0           00042       DECFSZ   CNT0, f0013   2815           00043       GOTO   $+20014   0BA1           00044       DECFSZ   CNT1, f0015   2817           00045       GOTO   $+20016   0BA2           00046       DECFSZ   CNT2, f0017   2812           00047       GOTO   Delay_0MPASM  5.20                             1.ASM   1-25-2009  18:59:32         PAGE  2LOC  OBJECT CODE     LINE SOURCE TEXT  VALUE                      00048                       00049       ;6 cycles0018   2819           00050       GOTO   $+1   ;delay 2 cycles0019   281A           00051       GOTO   $+1   ;delay 2 cycles001A   281B           00052       GOTO   $+1   ;delay 2 cycles                      00053       ;4 cycles (including call)001B   0008           00054       RETURN                      00055                             00056       ENDMPASM  5.20                             1.ASM   1-25-2009  18:59:32         PAGE  3Program Memory Words Used:    28Program Memory Words Free:   996Errors   :     0Warnings :     0 reported,     0 suppressedMessages :     2 reported,     0 suppressed
Am sters putin din listing ptr ca nu este important un fisier care il are copilatorul/asamblorul inclus

 

Edit: Sofian

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări