Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok.
A segitsegeteket szeretnem kerni. Osszeraktam egy RDS dekodert, azzal a kulonbseggel, hogy en nem TDA7330-t, hanem TDA7479-et hasznaltam, amit a radio resszel egyutt bontottam egy auto kazi/radiobol. A program F84-re irodott, eredetileg soros porton kuldte ki az ado allomas nevet. En annyit valtoztattam, hogy a soros port helyett LCD-re kuld(enem)om, de nem mukodik. (linkeltem az egesz projectet.) A lenyeg abban all, hogy az inicializalasok utan elkezdi keresni az a bejovo adatokban az elso (A) blokkot. A program szerint addig nem lephet tovabb, mig ezt meg nem talalja. (_block1 loop) Namost, a helyzet az, hogy igenis valami uton-modon tovabblep, vagy elboklaszik olyan helyekre, ahova nem kellene. En mar rengeteget probalkoztam, sot tesztkent beszurtam kritikus helyekre 1-1 led kigyujtasat, es arra jottem ra, hogy anelkul hogy a PORTB.2 kigyulna (_block1 sikeres vetele) valahogyan atjut a _blocs3-ba, (PORTA.3) esetenkent a _block2-be. (PORTB.3) Erdekes modon, a _block4 vegere sosem jut, ugyanis az adatfeldolgozas elejen az LCD-re iratnek egy '6'-st, ami azonban sosem kovetkezett be. Mi lehet ennek az oka?? (Szimulaltam MPLAB-bal, ott viszont helyesen beragad a _block1 loopjaba, addig, amig kezzel be nem irok a megfelelo regiszterekve egy letezo, helyes 'A blokk'-nak megfelelo mintat.) Lenne szives valaki egy pillantast vetni a kodra, hatha valamit eszre vesz. Koszonom.
Sziasztok segitsegeteket ,szeretnem kerni epitetem egy homeros ebreszto orat, de sajnos az lcd-nek a hatter vilagitasa nem akar mukodni.Elvileg 1 gomb nyomassal ki es be lehet kapcsolni. Meg tudna valaki nezni a kapcsolasi rajzot hogy azzal van e gond, vagy a progival.
Elore is koszi. Udv Thomas
Üdv mindenkinek! PIC-es Nixie Óra építésébe kezdtem bele. Abban kérném segítségeteket, hogy szeretnék sajátos óraprogramot írni ami 00 óra 00 perc 00 másodperctől 95 óra 59 perc 59 másodpercig számol rendes óraként. Hogyan módosítsam ezt az óraprogramot aminek a forráskódja a csatolt fájlban van hogy 23 óra 59 perc 59 másodperc helyett a fentebb említett ideig számoljon? Bár bolondságnak hangzik, de azért szeretném így megoldani, mert az óra tizes értékét kijelző csőnek a 0 1 2 katódját kíméljem.
Első körben talán erre kell módosítani:
Nem ellenőriztem le, csak "röptében" írtam át!!!!!! Idézet: „ Bár bolondságnak hangzik...” Hát igen. Luciferi ötlet...
Üdv!
Meg tudná mondani valaki, hogy hogyan kell beállítani mplab-ban az uart bejövő adat szimulációját, hogy jól működjön? Ameddig jutottam: "Debugger\Settings..." menüben az "Uart1 IO" fülön az 'Enable Uart1 IO", és "Rewind Input" dobozkát bepipáltam és "Input File" mezőbe benn van az a fájl, amiben van az adat (hexa szerkesztővel csináltam egy fájlt, amiben a soros portra kiküldött adatok vannak). A megszakítás megérkezik, viszont az RCREG mindig 0, nem is változik a futás alatt. A szimulátor PIC16F628A -ra van állítva, 4MHz oszcillátorral
Én első körben megmérném a Q2 bázisán mi van földhöz képest... az RB2 kimenet kapcsolja az LCD háttér világítását a Q2 tranzisztoron keresztül. Ha az RB2 n "H" van akkor mennie kéne. Ha ott nincs magas szint akkor a program forrását kéne átnézni, egyáltalán mi kapcsolja az RB2 kimenetet, melyik nyomógomb, hogyan...stb. Esetleg megérné megnézni nem kötötted e be fordítva az LCD LED jeit...
A HEX kevés vagy tedd fel a program forrását (asm), vagy linkeld be az eredeti cikket ahonnét letöltötted a rajzot.(feltéve hogy fent van a forrása is a programnak...)
Első körben valóban meg kellene nézni Q2 bázisának vezérlését. Viszont a kijelződ háttérvilágításának is utána kellene nézni, mert a rajzból hiányzik pl. előtétellenállás, ami LED-es háttérvilágításnál kell (persze vannak olyan kijelzők, amikbe ez be van építve).
Üdv icserny! Ezzel a módosítással fog működni a 4 napig folyamatosan számoló óra rendesen? Mivel igencsak kezdő vagyok PIC témában.
Idézet: „Ezzel a módosítással fog működni ... ?” A jóslás nem tartozik ennek ennek a topiknak a tárgykörébe! Én csak azt igyekeztem megoldani, hogy 24:00 helyett 96:00-kor legyen a nullára váltás.
Eljött PIC-es korszakom legszomorúbb napja!
Sajnos be kell látnom, hogy egy 16F84A és 16F877-esem halott, mivel az új égetőm a 16F628A-t írja/olvassa, a másik kettővel meg se nyikkan! Holnap reggelig míg nem veszek másikakat, marad a csendes gyász!! De este azért a kocsma meglesz....
Megvan kerem a hiba!
A tabla tullepte a 256-os hatart. Most gyonyoruen mukodik. Udv.
Nagyon szepen koszonom a gyors valaszokat, neked es szilva-nak is.Ramertem a Q2 bazisa es foldje kozot de sajnos semi. Ez az amitol feltem mert az oldalon nincs meg a forras. Az LCD hat. vill.-ra kototem egy 10 ohm-os elenalast.
Viszont azt nem ertem hogy, proteusba betoltotem es ott mukodik Amugy itt az oldal cimeBővebben: Link Ezek szerint a progiba lesz a gond De azert nagyon szepen koszonom!!! UI:Ja a buz1 sem reagal.
A linkbe 1 db " http://" elég lett volna.. a 10 ohm szerintem kevés előtétnek, bár ez is attól függ hogy hány db LED van az LCD ben és hogy sorban e vagy párhuzamosan, ezt az LCD adatlapjában tudod megnézni. Szerintem minimum 100 ohmot tegyél be biztos ami biztos. Forrás nélkül nincs ötletem, hacsaknem az hogy HEX ből visszafordítod asm re a programot, rémlik hogy van erre lehetőség az MPLAB ban. De ez már nem az én tudás szintemnek való feladat, inkább a tapasztalt topiktársak válaszoljanak rá ( ha akarnak..) A másik ami engem is megtréfált egyszer, hogy a CHIPCAD szerint a 16F628 és F628A közt semmi különbség nincs...No mármost én egyszer rendeltem tőlük F628 at mert nem volt F628A juk és nem ment a cucc ugyanazzal a programmal. Nem tudom az okát...de nem is kerestem bevártam az F628A t és azzal mindjárt működött. Szóval ezzel csak azt akarom mondani hogy valóban olyan PIC el oldottad meg ami a kapcsolásban szerepel? Mert lehet hogy ebből adódik a hiba, legalábbis nálam ez volt a helyzet.
Értem. Nagyon szépen köszönöm a segítséget.
Azt szeretném megkérdezni, hogy a felcsatolt programban hol található a kijelző program rész?
Leszeretném cserélni olyanra aminek nincs szüksége 7 szegmenses átalakító ic-re. Köszi
A "display" és "digit" szavak eléggé árulkodóak.
Idézet: „Leszeretném cserélni olyanra aminek nincs szüksége...” Ne haragudj, de a kérdésed után bátor húzásnak tűnik...
Sziasztok!
Az indirekt címzést próbálgatom és elakadtam. Tudna valaki segíteni? Az adatlap szerint (F628A) a BANK2 ben van a 120h RAM cím, onnan indul. Én ide szeretnék írni de akármit csinálok, a szimulátorban 0X20 az FSR értéke. Rosszul adom meg 120 as címet? Mit rontok el? BANK2 CLRF W MOVLW 0120h MOVWF FSR ; megcímezzük a 120h regisztert MOVLW 'K' MOVWF INDF ; a címzett regiszterbe indirekten beírunk pl. "K" t , vagy akármit MOVF INDF, W ; a korábban eltárolt kód (ASCII 0x4b = "K" ) az akkuba kerül
Ha az FSR t 0x20 ra címzem akkor működik BANK0 ban
viszont a "program memory" ablakban nem látom a címen a beírt értéket. Azért mert ez virtuális regiszter? Vagy ettől függetlenül látszania kéne? Ja, hülyeséget írtam...itt a válasz: "a kód az akkuba (W be) kerül..."
Hány bites a W és az FSR regiszter? Mi a helyzet a STATUS regiszter IRP bitjével?
A bankváltások MAKRO ban vannak megírva, minden programban ezeket használom a bankváltásokhoz eddig működtek de átnézem.
"Hány bites a W és az FSR regiszter...?" ezzel a kérdéssel bajban vagyok...
Ezt írtad: "MOVLW 0120h" Ez hogy fér el 8 biten? (Mert valami a W-be kerül )
"MOVWF FSR ; megcímezzük a 120h regisztert" Biztos? És mire való az IRP bit? ( Nem az RP1 és RP0 bitet kérdeztem!)
ojjé...megint nem figyelek. Nem gondoltam hogy indirekt címzésnél külön kell bankot váltani.
Köszi a rávezetést a problémára.
:kalap: És bővebben: Link
Köszi, ez az oldal volt a kiindulási alap...ezért mondtam hogy nem figyelek. Fehéren feketén le van írva a válasz, csak el kellet volna rendesen olvasnom.
Mikro c-be hogy tudom életre kelteni a szimulatort?
Leszeretném szimulálni a programomat
Sziasztok! megépítettem Watt oldalán belinkelt Pickit2 klónt a furatszerelt változatban. Rádugtam a gépre és azt írja a programozó, :PICkit2 connected. ID= OIHoss ha az eredetit dugom rá akkor a connected-el vége van. Ez normális? egyébként müködik szerintem, legalábbis írtam egy 16f877et arra azt irta hogy sikerült, Bár ki nem probáltam utánna a picet.
Idézet: „Mikro c-be hogy tudom életre kelteni a szimulatort?” Gondolod, hogy van benne szimulátor?
Hali
Hat a F9 gomb megnyomasaval. Utana tudsz leptetni, futtatni, break pontot definialni. Ha esetleg atternel a CCS-C-re az siman beepitheto a MPLAB-ba es ott sokkal jobb a szimulator. Valamint a generalt hex is kb 1/4 annyi lenne. Udv Vili
Akkor már inkább Hi-Tech PICC, az kicsit közelebb áll az ANSI szabványhoz, mint a CCS.
Igen, a Microchip oldaláról letölthető hex-ben (ami a firmware-t tartalmazza) van EEPROM-tartalom is, pont ezzel a szöveggel (OIHoss).
A PICkit2-dnek lehet ID-t ("nevet") adni, a gyári firmware ezt a nevet hozza, de a kezelőprogiban a "Calibratie Vdd/Set Unit ID" menüponttal meg is lehet változtatni. Ennek akkor lehet értelme, ha több PK2-t is használ az ember, esetleg egyidőben ugyanarra a gépre kötve őket. Az újabb kezelőprogik már fel vannak készítve a több PK2 használatára. |
Bejelentkezés
Hirdetés |