Fórum témák
» Több friss téma |
Fórum » MPLAB kérdések
Hali
Segítség kellene az MPLAB 7.1 programhoz(leírás kellene, vagy egy példa program, hogy mit is kell beállítani)!
A szerveren van fent egy leírás MPLAB 6-hoz...szerintem nem túl régi, tehát a 7.1-estől talán nem sokban különbözik.
És a szerver címe: Itt egy, mára már elavult cím szepelt.
Nem jön be sehogy sem
Mi a hiba?
Make: The target "C:MPLABSProgram 1valami.o" is out of date. Executing: "Crogram FilesMicrochipMPASM SuiteMPAsmWin.exe" /q /p16F84 "valami.asm" /l"valami.lst" /e"valami.err" Warning[205] C:MPLABSPROGRAM 1VALAMI.ASM 1 : Found directive in column 1. (LIST) Warning[205] C:MPLABSPROGRAM 1VALAMI.ASM 3 : Found directive in column 1. (__CONFIG) Error[113] C:MPLABSPROGRAM 1VALAMI.ASM 3 : Symbol not previously defined (CP_OFF) Error[113] C:MPLABSPROGRAM 1VALAMI.ASM 3 : Symbol not previously defined (WDT_OFF) Message[302] C:MPLABSPROGRAM 1VALAMI.ASM 12 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:MPLABSPROGRAM 1VALAMI.ASM 14 : Register in operand not in bank 0. Ensure that bank bits are correct. Halting build on first failure as requested. BUILD FAILED: Sun Nov 27 12:43:16 2005
Ha tudod, szerintem tedd közzé a programodat...ha nem is az egészet, akkor legalább az első pár 10 sort, hogy tudjuk, mit ronthattál el.
Egyébként az egyik hibára van megoldás, mégpedig egy sort kell beszúrni a programodba, ami a 302-es hibaüzenetet kikapcsolja. Fejből nem tudom, mit kell pontosan beírni, de valaki biztos tudja rajtam kívül... Aztán talán a másik hiba...ahol ez a programod van...egy mappában...oda amellé az ASM fájl mellé be kell tenni egy 16F84.inc nevű fájlt is...ez tartalmazza ugyanis a PIC belső regisztereinek a címét. Ezt a 16F84.inc fájlt kötelező az ASM fájl mellé tenni!
Köszi
már fele megoldódott, már elkészítí a .hex fájl-t. De hol tudom szimulálni mondjuk a kimenetek éppen milyen állapotba vannak?
Hát mivel még életemben nem használtam "akció közben" az MPLAB-ot, így a szimulációs részben egyáltalán nem tudok segíteni. Annyi volt, hogy párszor bekapcsoltam, miket tud, stb, aztán annyi.
Egyébként csak szólok, hogy a szerveren (amit belinkeltem ide), az elektros progik között van egy olyan, hogy PIC Simulator...az szerintem neked van kitalálva, mert le tudja szimulálni a kimenetek, regiszterek tartalmát, akár valós időben, akár lépésről lépésre... A szerverhez egyébként nem kell kód, se jelszó...anonymus-ként be lehet jönni bárkinek :yes:
Helló
tényleg csak kezdő szinten vagyok, most kezdek megimerkedin, hogy mit hogyan miért. Ez lenne a progi! LIST P=16F84 #INCLUDE "P16F84.INC" __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF CBLOCK 0X0C T1 T2 ENDC ORG 0 START BSF STATUS, RP0 MOVLW B"00011111" MOVWF TRISA MOVLW B"00000000" MOVWF TRISB BCF STATUS, RP0 VISSZA: MOVLW B"10000000" MOVWF PORTB CALL DELAY MOVLW B"01000000" MOVWF PORTB CALL DELAY MOVLW B"00100000" MOVWF PORTB CALL DELAY MOVLW B"00010000" MOVWF PORTB CALL DELAY MOVLW B"00001000" MOVWF PORTB CALL DELAY MOVLW B"00000100" MOVWF PORTB CALL DELAY MOVLW B"00000010" MOVWF PORTB CALL DELAY MOVLW B"00000001" MOVWF PORTB CALL DELAY MOVLW B"00000000" MOVWF PORTB CALL DELAY MOVLW B"00000010" MOVWF PORTB CALL DELAY MOVLW B"00000100" MOVWF PORTB CALL DELAY MOVLW B"00001000" MOVWF PORTB CALL DELAY MOVLW B"00010000" MOVWF PORTB CALL DELAY MOVLW B"00100000" MOVWF PORTB CALL DELAY MOVLW B"01000000" MOVWF PORTB CALL DELAY MOVLW B"10000000" MOVWF PORTB CALL DELAY GOTO VISSZA DELAY: MOVLW d"150" MOVFW T1 DEL: MOVLW d"255" MOVFW T2 DEL1: NOP NOP NOP NOP NOP NOP NOP NOP DECFSZ T2, f GOTO DEL1 DECFSZ T1, f GOTO DEL RETURN END
Na megcsináltam.
Kivettem azt a sok NOP-ot a végéről, és csak egy időzítőt definiáltam a progiban, nem kellett a T2 így
És most működik rendesen? Le is tudja fordítani?
Igen le tudtam fordítani, és a hex fájl alapján le tudtam szimulálni is a PIC szimulátor progiban! De ha visszaolvasol a hibákhoz, akkor ott a BANK1 és BANK2 -vel van még valami, azok nem tünnek el!
Miért nem?( ezek:Message<302> C:MPLABSPROGRAM 1VALAMI.ASM 12 : Register in operand not in bank 0. Ensure that bank bits are correct. Message<302> C:MPLABSPROGRAM 1VALAMI.ASM 14 : Register in operand not in bank 0. Ensure that bank bits are correct. )
De hülye vagyok!
Nem vettem észre elsőre... ...tehát ahhoz, hogy a TRISA és TRISB regisztereket meg tudd változtatni, illetve értéket tudj adni nekik, ahhoz át kell váltanod a Bank1-re! Aztán ha beállítottad, vissza kell váltani a Bank0-ra, hogy ott dolgozhass tovább.
Az a megoldás, hogy a LIST parancs után következő sorba be kell szúrni ezt a sort:
ERRORLEVEL -302
Köszi
És ezek mit jelentenek? Hogyan lehet kiküszöbölni? Warning[205] C:MPLABSPROGRAM 1FUTóFéNY.ASM 1 : Found directive in column 1. (LIST) Warning[205] C:MPLABSPROGRAM 1FUTóFéNY.ASM 2 : Found directive in column 1. (ERRORLEVEL) Warning[205] C:MPLABSPROGRAM 1FUTóFéNY.ASM 4 : Found directive in column 1. (__CONFIG)
Nem tudom, hogyan lehet kilőni ezeket, de szerintem ezek csak figyelmeztetések, nem hibák...
OK
És ezek mit is jelentenek?(az első és a negyedik sor nem tiszta, a TRISA és B az OK hogy mi. START BSF STATUS, RP0 MOVLW B"00011111" MOVWF TRISA MOVLW B"00000000" MOVWF TRISB BCF STATUS, RP0 . A BSF ,a STATUS és az RP0 és az utolsó sorban a BCF? Ezek érdekelnének
BSF azt jelenti, hogy a STATUS regiszter RP0-ás bitjét "1"-es szintre állítod...ezzel azt mondod, hogy váltson Bank1-re
BCF ennek az ellenététe, ezzel "0"-ba állítod az RP0-ás regisztert, vagyis visszakerülsz a Bank0-ba. A status egy belső regisztere a PIC-eknek...ebben tárolják az aktuális helyzetüket, információkat a futó programról (pl. egy előzőleg lefutott kivonás eredménye 0 lett-e, stb.). Nameg itt választhatsz Bank-ok közül is...
Oké
Köszi az infókat! Ma már nem kérdezek töbet! Köszi mégegyszer
ADC egynel tobb csatornaval..
Hi! Szerintetek mit nem csinalok jol a mellekelt program(reszlet)ban(ben)? Ha csak egy csatornat valasztok ki, hibatlanul konvertal, de ha mar kettot, olyan mint ha nem kulonulnenek el a csatornak. AN0-ra, es AN1-re egy-egy potmetert kotottem(2,2k), 1-5V-ig szabalyozva az analog feszt. Ha AN0-hoz tartozo valtozot kiiratom, es az ahhoz tartozo potmetert nem bantom, AN1-en meg valtoztatom a fesz.t, akkor mindket valtozo valtozik, es forditva is. Lehet h az idozites nem jo? bar 10ms-t varok a ket konverzio kozott! a.
Sziasztok!
Az elozo problemat sikerult megoldani, itt a kovetkezo: Soros porton keresztul vezerlek PIC-et. Az lenne a kerdes, hogy hogy szoktak megcsinalni, a vezerlest pc-rol, pl. hogy egy szubrutin induljon el bizonyos esemenyre(gombnyomas), de mivel adatok is kikuldesre kerulnek (0-255), ezert egy bizonyos karakter vezerlokarakternek valasztasa nem lehetseges!? a.
pc-ről akarsz egy piccel beszélgetni és kéne valami vezérlő karakter ami a picben beállít vagy elindít valamit, ha jól értetem.
Szerintem vállasz 2 egymástól a legtávolabb a leghülyébb a legritkábban előforduló karaktereket és azokat válaszd vezérlő karaktereknek. pl.: 244d és 55h 244d - azért mert a végén van és mégse az utlosó 55d - mert a bin kodja szép egyenletes. (01010101) Idézet: „244d - azért mert a végén van és mégse az utlosó 55d - mert a bin kodja szép egyenletes. (01010101)” Öregem, ez szuper szöveg volt! Leestem tőle a székről! :nyes:
Tomee-ról kiderül, hogy megszállott "BINARISTA"
Ezt ugy erted hogy mondjuk 244d es 55h egymas utan? es a PIC-be mindig feltoltok egy wordos tombot, amit ellenorzok? Csak mert 0-255 barmilyen adat is mehet kozbe..
Vagy használj két byteos utasításokat, és a felső byte adja meg, hogy parancs, vagy adat. Pl. 0155 ez az 55-ös parancs a pic-nek, de pl. a 0212 meg a 12H adat a picnek... vagy érted mire gondolok...
Koszi , asszem valami ilyesmit csinalok. Gondoltam arra is, h ascii karaktereket kuldok, igy egy 3 jegyu szam 3byte, de a visszaalakitas joval macerasabb..
a.
Úgy értem, hogy ez a parancs és utána bármi jöhet. Elösször 2 byte megvizsgálod, hogy milyen majd a feltétel vizsgálat után cselekszik valami.
Esetleg lezárásnak is lehetne valamit kitalálni. De szerintem az nem muszály.
sziasztok!
a problémám a következő: szeretnék késziteni szimulációs fájlt (előre meghatározni a bemenetek állapotát, hogy madj az alapján változzanak a kimeneteim), a MPLAB v8.00 programban. sajnos nem nem tudtam rájönni hogyan kell... ha valaki tudna irodalmat ajánlani, vagy leirá hogy miként kell, megköszönném!!! |
Bejelentkezés
Hirdetés |