överföra assembler-kod steg för steg

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

överföra assembler-kod steg för steg

Inlägg av squiz3r »

Hej, jag har en komplett assembler kod till pic12f629 (tror jag de e), och jag kan koppla in picen till min wisp628A, men hur laddar jag ner koden på Picen, nån som vet nån steg för steg guide för hur jag laddar ner det? (med mpLAB)

Tack på förhand!!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

1. Skapa ett projekt i MPLAB och skapa en HEX fil från din källkod.
2. Kör XWisp2 för att överföra HEX filen till din processor.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

ok. Jag får försöka me det.. Tack!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Japp, mer detaljerade tips kommer när du har mer detaljerade frågor... :-)
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Den här frågan käns oerhört pinsam att fråga :oops: När jag har skapat ett nytt projekt, var ska jag då skriva in koden?? :oops:
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Skapa en ASM fil, lägg till den till projektet (source files) och skriv
(eller kopiera in) din kod i den.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Tack så mycket!
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Kan jag lägga in den här koden i en PIC 16F628A ? Den är till en 16F84 eller måste jag ändra nått? är detta hala koden eller ska jag lägga till så att den går på den interna osculatorn?


Tack!
Användarvisningsbild
Jine
Inlägg: 1795
Blev medlem: 21 juli 2004, 20:25:56
Skype: Jim.Nelin
Ort: Trångsund, Stockholm
Kontakt:

Inlägg av Jine »

.. Vilken kod?
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Jag va lite stresad så jag glömde den :shock: :D

Kod: Markera allt

;*****Set up the Constants**** 

STATUS         equ       03h                 ;Address of the STATUS register
TRISA             equ       85h                 ;Address of the tristate register for port A
PORTA           equ       05h                 ;Address of Port A
COUNT1        equ       08h                 ;First counter for our delay loops
COUNT2        equ       09h                 ;Second counter for our delay loops 

;****Set up the port**** 

                        bsf                   STATUS,5       ;Switch to Bank 1
                        movlw              00h                    ;Set the Port A pins
                        movwf              TRISA              ;to output.
                        bcf                   STATUS,5       ;Switch back to Bank 0 

;****Turn the LED on**** 

Start               movlw               02h                   ;Turn the LED on by first putting 
                       movwf               PORTA            ;it into the w register and then                                                                            ;on the port 

;****Start of the delay loop 1**** 

Loop1          decfsz              COUNT1,1       ;Subtract 1 from 255
                     goto                  Loop1              ;If COUNT is zero, carry on.
                     decfsz             COUNT2,1        ;Subtract 1 from 255
                     goto                 Loop1                ;Go back to the start of our loop.                                                                          ;This delay counts down from                                                                           ;255 to zero, 255 times

;****Delay finished, now turn the LED off**** 

                    movlw              00h                     ;Turn the LED off by first putting
                    movwf              PORTA              ;it into the w register and then on                                                                         ;the port 

;****Add another delay**** 

Loop2        decfsz             COUNT1,1           ;This second loop keeps the
                   goto                 Loop2                   ;LED turned off long enough for 
                   decfsz             COUNT2,1           ;us to see it turned off
                   goto                 Loop2                   ; 

;****Now go back to the start of the program

                   goto                 Start                       ;go back to Start and turn LED                                                                            ;on again 

;****End of the program**** 

end                                                                   ;Needed by some   compilers,                                                  ;and also just in case we miss                                                  ;the goto instruction. 

Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

EQU på sådant som finns i typ specifika rfilen är bara dumt då det gör att du inte med säkerhet kan flytta koden mellan olika processorer.

Använd hellre banksel komandot då MPLAB kommer att göra rätt jämt och det återigen blir enklare att byta till en annan controller.

Komparatorn är också en bra idé att stänga av i initieringen. Vet inte vad du kör med för oscillator, men kör du med intosc så bör du också ladda OSCCAL så att du får rätt klockfrekvens.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

när jag har koden i MPlab hur får jag den då till .hex format, o hur funkar simulatorn i mplab?
Balloo
Inlägg: 38
Blev medlem: 18 mars 2006, 11:25:24

Inlägg av Balloo »

MPLAB försöker compilerar programet när du väljer "Build All" från Project menyn, om det inte är några fel skapas en HEX-fil. Läsa i manualen och Hjälp filerna till MPLAB hur man använder simulatorn.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

när jag trycker på "build all" kommer följande upp, vad berror det felet på?


-------------------------------------

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F452 "blink a led.asm" /l"blink a led.lst" /e"blink a led.err"
Warning[215] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 6 : Processor superseded by command line. Verify processor symbol.
Message[301] C:\PROGRAM\MICROCHIP\MPASM SUITE\P12F629.INC 36 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Warning[230] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 10 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG.
Error[126] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 10 : Argument out of range (not a valid config register address)
Error[111] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 14 : Missing symbol
Error[111] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 15 : Missing symbol
Error[111] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 16 : Missing symbol
Error[111] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 17 : Missing symbol
Error[111] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 18 : Missing symbol
Error[111] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 19 : Missing symbol
Error[113] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 45 : Symbol not previously defined (rp0)
Warning[226] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 57 : Destination address must be word aligned
Error[113] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 59 : Symbol not previously defined (rp0)
Error[113] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 59 : Symbol not previously defined (status)
Error[113] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 75 : Symbol not previously defined (fileC)
Error[113] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 80 : Symbol not previously defined (fileC)
Error[157] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 88 : ORG at odd address
Error[173] C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM 93 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\DANIEL\SKRIVBORD\EN CHIPSDATOR\PIC\PIC 12F629\BLINK A LED.ASM)
Halting build on first failure as requested.
BUILD FAILED: Wed Nov 29 19:45:34 2006

-----------------------
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> när jag har koden i MPlab hur får jag den då till .hex format, o hur funkar simulatorn i mplab?

Har du läst *NÅGON* dokumentation alls ????

> Warning[215]....

Hjälpte inte den extra förklaringen i manualen ?
(Sidan 164)

> Warning[230]....

Samma sak (fast sidan 165).
Men vilken processor har du valt i MPLAB ???

I princip beror alla fel på att du inte har valt rätt processor i MPLAB, utom :

> Error[173]....

Ja, texten talar väl för sig själv, eller hur ? Lägg ditt projekt under en kortare path.
(Notera att detta problem inte finns om man kör "relocatable mode"...)

Sen skulle jag generellt undvika blanktecken i namn på kataloger och filer.
Det är lite att be om problem...
Skriv svar