Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Hali
Azt hittem valami emesztheto formatumban van meg a forras. Na mindegy. Nem tudom mennyire vagy otthon a PIC programozasban, de kellene irni 1-2 kis moricka programot az alapveto HW kiprobalasara (KBD, LED rele stb). Akkor meg lehetne gyozodni a PIC es a panel mukodeserol. Pl egy LED villogtato progi, Kbd allapot a LED-re, I2C kezeles es hasonloak. Mint elobb irtam, egy bonyolult HW-t illik leelenorizni, mielott mindent beledugdosunk. A program maga nem biztos, hogy elindul az AD, LCD es EEPROM nelkul. Probalj meg valami egyszeru kis progikat amivel vegig tudsz ellenorizni minden vonalat. Ez nem egy LED villogtato HW 12F675-el. Sokkal bonyolultabb. Ha maskepp nem tudsz merni, szedj ki mindent a panelbol, es csipogoval probalj vegig minden vonalat zarlatra es szakadasra. Hatha van valami kis ordog elbujva a panelon. Udv Vili
Ez egy HEX-bol visszafejtett program. A forras nincs meg?
Amugy nem veletlen az 50Hz-et hallod meg? Tapot kimerted? Stabil, rendesen meg van szurve, terhelheto?
Szia
Labortáppal hajtom és sajnos az ingadozást, nem tudom mérni Csak multim van csak A hang, amit halok a kijelzőnek is, van és a PIC felöl is, jön valami Sajnos csak HEX van, mert igaz az itteni oldalról szedtem de eredetileg külföldi munka Bővebben: Link Bővebben: Link
Szia
Találtam valamit Ez lehet, hogy többet mond
Elfeledtem a billentyűzettet, még nem raktam bele, mert nem kaptam még
Az EEPROM sincs benne Legalább az EEPROM-ot belerakom egy bin kiterjesztésű filest kel bele égetnem Ha jól olvastam, remélem az jó lesz A panelon kettő tarabb EEPROM helye van melyikbe, rakjam
Szia!
Pedig ott van a C forrás is... - Multiméterrel mérd meg a Osc2/Clko (14. láb) kimeneten a feszültséget, ha rendben rezeg, akkor kb. fél tápfeszültséget kell mérned.
Szia
Igen meg találtam fel is töltöttem, mert meg találtam Most meg is mérem köszönöm kb. 2.5V ?
Szia
Lemértem és a 14láb(osc2) 2.28V a 13láb (osc1) 2.18 Akkor lehetséges, hogy rezeg?
Szia!
Akkor rezeg... Lehet,hogy a program vár valamire...
Szia beindult a programmal volt valami nem tudtam 3F32-re bealítani
Üdv mindenkinek!
Mplab fordításkor ez a hibaüzenet jelenik meg: Duplicate label ("CM2" or redefining symbol that cannot be redefined) Ez amúgy egy ébresztőóra lenne jópár funkcióval. A részlet ahol a CM2 található: CHANGE_MODE ; UN-FREEZE DISPLAY BCF MORE_FLAGS,FREEZE CASE MODE,MODE_TM GOTO CM3 CM4 ; RESET MODES WITH SUBMODES CLRF TM_MODE CLRF AL_MODE CM2 INCF MODE,F CASE MODE,MAX_MODE CLRF MODE ; CALL MODECHANGED... CALL MODECHANGED GOTO MAIN CM3 ; 12/24 HOUR MODE CHANGE ; WHEN MODE IS PRESSED DURING TIME SET CASE TM_MODE,TM_TIME GOTO CM4 ; TOGGLE 12/24 HOUR MODE TOGGLEBIT MORE_FLAGS,MIL_MODE ; CLEAR TIME SET MODE CLRF TM_MODE GOTO MAIN Persze nem azt várom hogy valaki megoldja helyettem a problémát, csak arra volnák kíváncsi ez a hibaüzenet mire utal. Köszi előre is!
Arra utal, hogy valahol mashol ez a CM2 mar egyszer definialva lett, es most ujra akarod definialni, amit nem enged meg neked. Hasznalj mas nevet, es nezz utana ki es miert hasznalja ezt a cimket, mert lehet valami nagyobb bibi-t talalsz a programban ami eddig esetleg nem tunt fel...
A komparátor beállításainál van egy CM2 nevű bit, az ütközhet a címkéddel, ha olyan kontrollered van, amiben van komparátor.
Üdv mindenkinek!
a nagyobb számokkal való feladatokban elég ügyetlen vagyok PIC-ben, egy ideje nézem a netet, de nem találok rutin 4 byteos szám dekrementálására ASM-ben. 2 byteos szám nem okoz gondot, MOVF szamL,W BTFSC STATUS,Z DECF szamH,F DECF szamL,F megoldással szoktam dekrementálni, de sajnos nem tudom átírni ezt a kódot 4 byteosra. MPLAB SIM-mel próbálgatom. Lenne valakinek rutinja 4 byteos dekrementre? Köszönöm előre is!
Nemtudom, segít-e, de talán igen. Ezt egy C forráskód lefordított listájából szedtem ki.
A main@szamlalo egy 32 bites változó, és a 0x70 címen van a legaljó bájtja, a többi pedig a 0x71, 0x72 és 0x73 címeken. A 0x76-0x79 címen levő változó segédváltozó, a fordító generálta. Amint látható, a segédváltozó minden bájtját nullára állítja a legalsó kivételével. Ezután a két alsó bájtot kivonja egymásból (gyakorlatilag egyel csökkenti a szamlalo alsó bájtját), majd megnézi, hogy volt-e alulcsordulás (ezt a STATUS, 0 vagyis C bitje jelzi). Ha igen, akkor növel a segédváltozó következő bájtján egyet, majd azt kivonja a szamlalo következő bátjából, és így tovább. Ha valahol nem keletkezik átvitel, onnantól a segédváltozók felsőbb báltjai nullák maradnak, és így a többi helyen már nullát von ki. 18F-nél könnyebb megoldani az ilyesmit, mert ott a DECF nem csak a Z bitet állítja, hanem C, DC, OV és N biteket is.
Szia!
Van egyszerűbb is: byte3:byte2:byte1:byte0 egy 32 bite szám (byte0 a legalacsonyabb helyiérték)
Ezen a lapon érdemes szétnézni...
Sajnos egy sorral többet másoltam ide, a 11. sor törölhető...
Így igaz! 16F876A-t használok és van benne komparátor. Átírtam a CM2-t CM5-re, és most hibaüzi nélkül végigment. Ezer köszi!
Szuper az oldal Köszi!
Be is tettem könyvjelzőbe.
Szia
2 dolog amire figyelni kellene. Egyik a kezdő cím, a másik az analóg bemenetek kikapcsolása.
Oh, már mükxik.
Ez maradt ki: movlw 7 movwf CMCON Köszi.
Vagy ha nagyon nem akarod felulirni a W-t, akkor:
Szia!
Azért a változókat is tedd át a 16F628(A)-n 0x20 -tól kezdődő RAM tartományra (a 16F84-ben 0x0C-n kezdődött)...
Lehet hogy méhkasba nyúlok de muszáj megkérdeznem:
Most LCD TV-ket javítok, ezelőtt pedig autók fedélzeti számítógépeit javítottam. Ezeken kívül is persze rengeteg gyári áramköri lapot láttam már. De PIC egyetlen egyen sem volt! Minden Atmel AVR volt, PIC nem. Miért? A hobbistákon kívül biztos gyártók is használnak PIC-eket, különben a Microchip cég már tönkrement volna...
Mert a PIC-es nem szorul javításra
Mellesleg biztosan AVR volt? Nem valami 8051 származék?
Hát nem tudom, de "Atmel" szokott rájuk írva lenni.
|
Bejelentkezés
Hirdetés |