Sida 1 av 2
överföra assembler-kod steg för steg
Postat: 25 november 2006, 20:19:30
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!!
Postat: 25 november 2006, 21:20:36
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.
Postat: 26 november 2006, 10:07:41
av squiz3r
ok. Jag får försöka me det.. Tack!
Postat: 26 november 2006, 13:20:04
av sodjan
Japp, mer detaljerade tips kommer när du har mer detaljerade frågor...

Postat: 26 november 2006, 16:56:03
av squiz3r
Den här frågan käns oerhört pinsam att fråga

När jag har skapat ett nytt projekt, var ska jag då skriva in koden??

Postat: 26 november 2006, 17:11:01
av sodjan
Skapa en ASM fil, lägg till den till projektet (source files) och skriv
(eller kopiera in) din kod i den.
Postat: 26 november 2006, 17:18:54
av squiz3r
Tack så mycket!
Postat: 28 november 2006, 19:33:06
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!
Postat: 28 november 2006, 19:57:38
av Jine
.. Vilken kod?
Postat: 28 november 2006, 20:41:25
av squiz3r
Jag va lite stresad så jag glömde den
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.
Postat: 28 november 2006, 22:26:35
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.
Postat: 29 november 2006, 19:12:43
av squiz3r
när jag har koden i MPlab hur får jag den då till .hex format, o hur funkar simulatorn i mplab?
Postat: 29 november 2006, 19:40:49
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.
Postat: 29 november 2006, 19:47:52
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
-----------------------
Postat: 29 november 2006, 20:03:30
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...