Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   407 / 1319
(#) Ktulu hozzászólása Feb 5, 2009 /
 
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.

RDS-PIC.rar
    
(#) tomi134 hozzászólása Feb 5, 2009 /
 
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
(#) Luciferkó hozzászólása Feb 5, 2009 /
 
Ü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.

nixie.asm
    
(#) icserny válasza Luciferkó hozzászólására (») Feb 5, 2009 /
 
Első körben talán erre kell módosítani:
  1. overflow_mint   CLRF    mint            ; Reset mint to 0
  2. incr_hre        INCF    hre, 1          ; Increase hre
  3.                 MOVF    hre, w
  4.                 ADDLW   0FBh            ; hre > 5?
  5.                 SKPNC
  6.                 GOTO check_hre          ; hre > 5, so we need to check whether we need
  7.                                         ;   to overflow hrt
  8.                 RETURN
  9.  
  10. check_hre       MOVF    hrt, w
  11.                 ADDLW   0F8h            ; hrt > 8?
  12.                 SKPNC
  13.                 GOTO    overflow_hre    ; hrt == 9, hre == 6 -> hrt overflow!
  14.                 MOVF    hre, w          ; hrt < 9
  15.                 ADDLW   0F6h            ; hre > 9?
  16.                 SKPNC
  17.                 GOTO overflow_hre       ; hrt <9 , hre == 10 -> hre overflow!
  18.                 RETURN
  19.  
  20. overflow_hre    CLRF    hre             ; Reset hre to 0
  21.                 INCF    hrt, 1          ; Increase hrt
  22.                 MOVF    hrt, w
  23.                 ADDLW   0F6h            ; hrt > 9?
  24.                 SKPNC
  25.                 GOTO overflow_hrt       ; overflow hrt (it's midnight!)
  26.                 RETURN


Nem ellenőriztem le, csak "röptében" írtam át!!!!!!
Idézet:

Bár bolondságnak hangzik...”

Hát igen. Luciferi ötlet...
(#) pixels hozzászólása Feb 5, 2009 /
 
Ü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
(#) menyus válasza tomi134 hozzászólására (») Feb 6, 2009 /
 
É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...)
(#) szilva válasza tomi134 hozzászólására (») Feb 6, 2009 /
 
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).
(#) Luciferkó válasza icserny hozzászólására (») Feb 6, 2009 /
 
Ü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.
(#) icserny válasza Luciferkó hozzászólására (») Feb 6, 2009 /
 
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.
(#) mammut hozzászólása Feb 6, 2009 /
 
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....
(#) Ktulu válasza Ktulu hozzászólására (») Feb 6, 2009 /
 
Megvan kerem a hiba!
A tabla tullepte a 256-os hatart. Most gyonyoruen mukodik.
Udv.
(#) tomi134 válasza menyus hozzászólására (») Feb 6, 2009 /
 
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.
(#) menyus válasza tomi134 hozzászólására (») Feb 7, 2009 /
 
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.
(#) Luciferkó válasza icserny hozzászólására (») Feb 7, 2009 /
 
Értem. Nagyon szépen köszönöm a segítséget.
(#) tom75 hozzászólása Feb 7, 2009 /
 
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

prog.txt
    
(#) MPi-c válasza tom75 hozzászólására (») Feb 8, 2009 /
 
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...
(#) menyus hozzászólása Feb 8, 2009 /
 
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
(#) menyus hozzászólása Feb 8, 2009 /
 
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..."
(#) MPi-c válasza menyus hozzászólására (») Feb 8, 2009 /
 
Hány bites a W és az FSR regiszter? Mi a helyzet a STATUS regiszter IRP bitjével?
(#) menyus válasza MPi-c hozzászólására (») Feb 8, 2009 /
 
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...
(#) MPi-c válasza menyus hozzászólására (») Feb 8, 2009 /
 
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!)
(#) menyus válasza MPi-c hozzászólására (») Feb 8, 2009 /
 
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.
(#) MPi-c válasza menyus hozzászólására (») Feb 8, 2009 /
 
:kalap: És bővebben: Link
(#) menyus válasza MPi-c hozzászólására (») Feb 8, 2009 /
 
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.
(#) tom75 hozzászólása Feb 9, 2009 /
 
Mikro c-be hogy tudom életre kelteni a szimulatort?
Leszeretném szimulálni a programomat
(#) Peti.Janka hozzászólása Feb 9, 2009 /
 
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.
(#) icserny válasza tom75 hozzászólására (») Feb 9, 2009 /
 
Idézet:
„Mikro c-be hogy tudom életre kelteni a szimulatort?”

Gondolod, hogy van benne szimulátor?
(#) vilmosd válasza tom75 hozzászólására (») Feb 9, 2009 /
 
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
(#) potyo válasza vilmosd hozzászólására (») Feb 9, 2009 /
 
Akkor már inkább Hi-Tech PICC, az kicsit közelebb áll az ANSI szabványhoz, mint a CCS.
(#) szilva válasza Peti.Janka hozzászólására (») Feb 10, 2009 /
 
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.
Következő: »»   407 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem