Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   536 / 1319
(#) LSB hozzászólása Júl 28, 2009 /
 
Sziasztok!

Kezdőként kérnék segítséget.
Nem tudom helyes működésre bírni az LCD kijelzőmet busy-bit lekérdezéses módszerrel,
márpedig én ilyen működést követelnék tőle, de hiába. (Egyszerű időzítéssel működik, de az nem érdekel, most már
csak azért sem.) Elsőre összekötöttem a 16f887-esemet a 44780-kompatibilis 4x20-as kijelzővel,megírtam a programot
assemby-ben (feltételes ciklus, amíg busy (7. bit) 1, addig újra lekérdezés,).
Működött, de úgy mint ha egy ember gépelte volna a szöveget.
Miután hozzáértem a kijelző forrpontjai egy részéhez, nagy hajrába kezdett. Erre reagálva, (kínomba) a kijelző
adat és vezérlő bitjeit először 4,7 k ellenállásokkal az LCD oldalán, a Vss-re raktam, mire megfelelő (láthatatlan)
sebességgel, de a betűket és mindent összekeverve, kihagyva... működött. Később, miután rámértem az LCD felőli jelek alakjára,
láttam, hogy lassan hullanak 1-ről 0-ra. Hogy jobban nézzenek ki lecseréltem az ellenállásokat 0,5-ösökre, jobban is néznek ki
de, így is hülyeséget ír ki. Csak rengeteg NOP-al tudom jobb belátásra bírni, de a lekérdezés miatt, nem kellene késleltetéshez
nyúlni. Ismétlem, kezdő vagyok és csak MPLAB assemblY-ében tudok. (elektronikai ismereteim is hiányosak)
Ha esetleg segítenétek, előre is köszi.
(#) trudnai válasza LSB hozzászólására (») Júl 28, 2009 /
 
Szerintem felfele kellene huzni inkabb es ha van belso felhuzo ellenallas akkor inkabb azt hasznaldd. Ha nincs 20k-val probalkozz, a 4.7k lehet tul eros felhuzas lenne.
(#) LSB válasza trudnai hozzászólására (») Júl 28, 2009 /
 
Köszi, hogy foglalkozol a problémával! A 4,7 k-nál lassan ment nullára a jel, 0,5-nél szemlátomást (sokkal) szebb lett.
Ha meg +ra helyezem az ellenállásokat, akkor nem küld
"kész vagyok"-ot.
De amúgy aggódom, mert lehet hogy ezek nem is kellenének. Nem lehet, hogy a szalagkábel a ludas
(számítógépből kivett, kb. 15-cm)?
(#) bbalazs_ válasza LSB hozzászólására (») Júl 28, 2009 /
 
Mar talalkoztam jopar olyan kijelzovel, amiben NEM VOLT busy bit egyaltalan, habar hd44xxx-kompatibilisnek hirdettek. Ha le akartam kerdezni, akkor ott vegtelen ciklusba zuhant...
Siman hasznald idozitovel, nekem eddig igy mindegyik mukodott.
(#) LSB válasza bbalazs_ hozzászólására (») Júl 28, 2009 /
 
Rendben lehet, hogy az időzített vezérlést választom, de engem akkor is izgat a kérdés, hogy ezen ellenállások nélkül miért működik ilyen nevetségesen lassan, mikor a portd határozottan vezérel.(a 0 az 0,az 1 az1)
Ez nem bemenet, nem kellene felhúzóellenállás. Ezek nélkül, pedig egy gyors és gépírónő simán lehagyná.
Összevissza ütemben írja ki a szöveget, de legalább helyesen (karakter és karaktercÍm szempontjából).
Ezekkel pedig begyorsul, de fix-en hülyeséget ír ki.
(legalább fix, tehát biztos, hogy jelek összefolyásáról lehet szó, vagy nem? DE mivel néhány (jónéhány) NOP-al már jó, de akkor mi a francnak a lekérdezés?És ráadásul a belső órajel csak kb. 1 Mhz))
No hát akkor legyen mondjuk 1600 mikrosec-es időzítés, az elég mindennek, vagy legyen tán 2 ms?
(#) bbalazs_ válasza LSB hozzászólására (») Júl 28, 2009 /
 
Mit szolnal egy masik gyarto masik kijelzojehez?
Akkor rogton kiderulne, hogy ki a hunyo.
Szerintem a gyartok kihagytak ezt a feature-t a kijelzokbol, mert ha belegondolsz, a lekerdezes sebessege osszevetheto a sima kiiras (idozites nelkuli) sebessegevel, max egy NOP-ot odadob az ember. (4 MHz-s pic eseten)
(#) LSB válasza bbalazs_ hozzászólására (») Júl 28, 2009 /
 
Hát ez az, hogy az én estemben is a lekérdezés az elküldött karakter után azonnal megtörténik várva a történést, mégis úgy fest, hogy a lekérdezés használata ellenére
is jó néhány NOP-ot használnom kell a megfelelő működés érdekében, de hát akkor inkább mehet a sutba a b..i busy bit.
Köszi!
(#) dpeti hozzászólása Júl 28, 2009 /
 
Sziasztok!

Tudtok ajánlani valami értelmes programot c18 kódból való call graph kinyerésre? (pl. html formátumban)

Doxygen-nel próbálkoztam, de ő mintha csak c++ kódból tudná kinyerni ezeket...

Köszi előre is!

Üdv,
Péter
(#) icserny válasza dpeti hozzászólására (») Júl 28, 2009 /
 
A Doxygen C-ből is kinyeri (lásd melléklet), bár én nem szoktam használni.

Most kipróbáltam: ilyen beállításokat aktiváltam benne
  1. HAVE_DOT               = YES
  2. CALL_GRAPH             = YES
  3. CALLER_GRAPH           = YES


Természetesen kell hozzá a DOT segédprogram (GraphWizard csomag).

U.I.: annyi "csalás" van benne, hogy én C30-hoz használom, nem C18-hoz, de remélem, ez nem okoz lényegi eltérést.
(#) benjami válasza steev hozzászólására (») Júl 28, 2009 / 1
 
Ha a Pickit-et debuggerként használva programoztad fel a PIC-et akkor nem is fog működni a Pickit nélkül. Programmer menüben Pickit2-t kiválasztva programozd fel a PIC-et.
(#) spepe hozzászólása Júl 28, 2009 /
 
Hello mindenki!

Szerintetek mennyi annak az esélye, hogy kinyírtam a PIC16F877A-mat? :S Mert nagyon úgy néz ki, hogy sikerült. :S

Eddig gond nélkül tudtam programozni, JDM programozóval de most egyszerűen nem reagál semmire.

Többször leteszteltem a feszültségeket és az egyes vonalakat. Az adat és óra jel vonal működik, az MCLR-ről 12,27 V-ot mértem a VDD-n pedig 4,51 V-ot.

A táp nem tudom, hogy mennyire sikerült szűrtre de eddig tökéletesen ment, már majdnem egy hónapja!

Nincs valami módszer amivel biztosra meg lehet mondani, hogy a PIC megsült e?

Volt még egy billentyűzet is a PIC-re kötve ami színtén úgy néz ki, hogy megsült. De nem tudom, hogy hogyan lehetséges mert nem kapott túláramot amennyire tudom. Ráadásul ugyan erre az áramkörre volt kötve egy LED és egy LCD is ami pedig még szerencsére működik!

Köszi a válaszokat előre is!

Bye!
(#) mate_x válasza spepe hozzászólására (») Júl 28, 2009 /
 
Hát szerintem ne JDM programozót használj! Ezek nem valami megbízhatóak.
Próbáld ki inkább ezt:
Bővebben: Link
Én is ezt használom. Ha ezzel sem működik, akkor tényleg elromolhatott a pic, de hogy hogyan azt tőlem ne kérdezd

üdv:
mate_x
(#) spepe válasza mate_x hozzászólására (») Júl 28, 2009 /
 
Köszi, de közbe rájöttem, hogy hülyeséget mondtam. :S

Bocsi. Ezt használom:

picproghard.png

http://oshonsoft.com/picprog

Mondjuk nem tudom, hogy ez segít e valamit. :S
(#) louie hozzászólása Júl 28, 2009 /
 
Sziasztok,

A tegnapi .asm to .hex kérdésemmel kapcsolatban írok ismét. Sikerült átkonvertálni, viszont mikor az IC-be akarom írni, leáll az alábbi hibaüzenettel. Nem tudom van-e köze ahhoz, hogy pickit2-ben csak 12f509-et találtam, de én 12c509A-ra szeretném rátölteni. Tud valaki tanácsot adni, hogy merre induljak el?

Kösz!
Üdv,
Szabi
(#) trudnai válasza louie hozzászólására (») Júl 29, 2009 /
 
Ha jol tudom az mindegy -- bar bevallom most nem nezegettem a programming specifikaciot. Viszont azt tudnod kell, hogy a "C" az egyetlen egyszer irhato es nem torolheto, mig az "F" a Flash-es ami tobbszor. Tehat ha egyszer probalkozol es nem sikerul akkor kuka es johet a kovetkezo chip probalkozni -- ezt a C-s valtozatot nem prototipusra vagy fejlesztesre talaltak ki, hanem gyartasra...
(#) elektroláma válasza louie hozzászólására (») Júl 29, 2009 /
 
Nekem akkor dobott ilyen üzit, amikor nem volt bekötve a 2 pozitív(egyszer majd megtanulom, melyik a vdd, meg vcc, vss) lábból az egyik, meg az MCLR láb nem volt felhúzva. Persze ezen az IC-n lehet csak 1 van...

Mellesleg köszönet mindenkinek a segítségért, tegnap elindult a DS1307. A pic-re megírtam a gombokhoz szükséges ciklusokat, és jók lettek. Csináltam egy DS1307 reset gombot, ami a mp-et nullázza le, és mindig beírja a 0-t a ch bitre. Így mindegy, hogy volt gombelem, vagy nem, a progi elején nem kell beírni mindig egy időt. Ha ch bit 1, akkor villognak 0-k, majd reset gombra mp nullázódik, és indul. Pont, mint a sima ébresztősórák.
Belső óráról 8Mhz-en i2c-s írás-olvasással, meg gombkezeléssel ~300-szor fut le egy mp alatt. Az nekem elég. Mp-t nem írok ki, egyszerre pedig 2 számot küldök ki, tehát 150 "villanás" jut külön-külön az órára és a percre.
(#) szilva válasza steev hozzászólására (») Júl 29, 2009 /
 
Esetleg a DEBUG bit a configban ha engedélyezve maradt, akkor nem fog önállóan működni. Fordíts egy "release" hex-et az önálló, PICkit2 nélküli működéshez!
(#) szilva válasza LSB hozzászólására (») Júl 29, 2009 /
 
Az EN szélességére vonatkozó előírásokat akkor is be kell tartanod, ha a busy bitet használod. Nekem nem világos, hova kellett NOP-okat tenned, de vannak helyek az LCD kezelésében, ahol muszáj időzítésekkel kivárni a megfelelő időt, mert nem használható a busy bit. Ilyen pl. az inicializálás menete, ez benne is van a HD44780 doksijában. Azt sem írtad, ha jól emlékszem, hogy 4 vagy 8 bites módban használnád-e a kijelzőt.
(#) szilva hozzászólása Júl 29, 2009 /
 
Az elmúlt majdnem 3 hétben én egy kicsit nagyobb "hardvert" építettem A PIC-esítése még csak most kezdődik majd.

Bővebben: Link
(#) steev válasza benjami hozzászólására (») Júl 29, 2009 /
 
Így tényleg elindult a PIC önállóan Köszi szépen És a többienek is az 5leteket, nem volt haszontalan.
(#) icserny válasza szilva hozzászólására (») Júl 29, 2009 /
 
Szép munka, a Ki mit épített topikban is nagy sikere volna! Az I/O portja egy kicsit magas szinten van. Egy szint-konverter még kellene a bemenetre.
(#) trudnai válasza szilva hozzászólására (») Júl 29, 2009 /
 
[off]Hogyan oldottad meg a szintillesztest?
(#) elektroláma hozzászólása Júl 29, 2009 /
 
1-2 méter kábellel összekötött pic-ek között hogyan lehetne kommunikálni? I2C ott már felejtős, nem?
(#) elektroláma válasza elektroláma hozzászólására (») Júl 29, 2009 /
 
Már nem tudom módosítani...
Lenne 1 vezérpic, meg 4-5, ami fogadja a jeleket. I2C-t használtam csak eddig.
(#) potyo válasza elektroláma hozzászólására (») Júl 29, 2009 / 1
 
Pl. RS485 vagy CAN. Az RS485 elektronikailag egyszerűbb, gyakorlatilag egy soros portként viselkedik. A CAN az bonyolultabb cucc, de sokmindent hardverből intéz, amit RS485-nél szoftverből kell.
(#) elektroláma válasza potyo hozzászólására (») Júl 29, 2009 /
 
Ok, köszi.
RS485 olcsóbb.
Gondolom olyan nincs, amihez nem kell plusz IC kívülre(mint pl I2C-nél). Több helyen csak a lehetőséget hagynám meg a rácsatlakozásra, és úgy egyszerűbb lenne. De ok, elfér még ott egy smd ic...
(#) spepe hozzászólása Júl 29, 2009 /
 
Hello mindenki!

Tegnapi, valószínűleg kiégett PIC-es kérdésemmel kapcsolatban írnék ismét.

Nem tudja valaki, hogy hogyan lehetne megállapítani 100%-ra, hogy a PIC a rossz és nem a programozó?

Vagy az szerintetek lehetséges, hogy ha mondjuk véletlenül 12V ment két lábra (a PORTD-sek közül) akkor megölje az egész PIC-et?

Meg még az szeretném megkérdezi, hogy nem tudjátok, hogy az miért van, hogy színte az összes PORTB-s lábon jön ki feszültség egyfolytában?

Meg ha gyorsan ki és be kapcsolom az áramot akkor az RC0-n lévő LED világít egyébként meg nem.

Bocsi a sok kérdésért. :S

Köszi a válaszokat előre is!

Bye!
(#) bbalazs_ válasza spepe hozzászólására (») Júl 29, 2009 /
 
Szerintem a PIC-ek nehezen halnak meg, szivos joszagok azok De persze nincs kizarva.
Miert nem programozod LVP modban? Annyira kell az a plusz lab egy ilyen szazlabu IC-nel?

De a port vagy a portbit siman elszallhatott.
Masik programozot kell ugyis csinalni vagy venni, szoval probald ki azzal vagy kolcsoncuccal (illetoleg ilyen elozmenyek utan inkabb vidd el valaki hozzaertobbhoz).

A portb-s labon lehet belso felhuzo vagy lehet akar sima bemenet is, a configbitektol fuggoen. Nezd meg az adatlapban a default-ot.
Terheld le picit mondjuk 1.2K-val foldre, mit csinal? Ha tartja, akkor kimenet, ha meg leesik erosen, akkor meg bemenet.
A LED-et nem tudom, 'belefagyhatott' valami progi.
Vagy az elobb emlitett configbit hatasa.


(#) trudnai válasza spepe hozzászólására (») Júl 29, 2009 /
 
Idézet:
„Nem tudja valaki, hogy hogyan lehetne megállapítani 100%-ra, hogy a PIC a rossz és nem a programozó?”


Fogsz egy "etalon" PIC programozot es megprobalod vele a teljes torlest majd ujra programozast -- ha nem sikerul akkor nagy valoszinuseggel a PIC a ludas (feltetelezve hogy nem aramkorben programozod ahol nyilvan mas aramkori elemek mint a PIC is kozre jatszhatnak...)

Ha felprogramozni mar lehet akkor kulonbozo teszt firmware-eket erdemes irkalni amikkel ki lehet probalni a portokat / modulokat...

Idézet:
„Vagy az szerintetek lehetséges, hogy ha mondjuk véletlenül 12V ment két lábra (a PORTD-sek közül) akkor megölje az egész PIC-et?”


Minden lehetseges -- a port clamp diodain keresztul atjut a fesz a Vdd-re!

Idézet:
„Meg még az szeretném megkérdezi, hogy nem tudjátok, hogy az miért van, hogy színte az összes PORTB-s lábon jön ki feszültség egyfolytában?”


Ez sokmindentol lehet, pl hogy olyan firmware van benne ami az oeeszes port labat kimenetre kapcsolja es magas allpotba teszi, vagy bemenet belso felhuzo ellenallasokkal...

Idézet:
„Meg ha gyorsan ki és be kapcsolom az áramot akkor az RC0-n lévő LED világít egyébként meg nem.”


Nem ismerem a firmware-t es a kapcsolast amit hasznalsz, igy nehez lenne megmondani... Mondjuk lehet akar firmware hiba is, mint pl a WDT nincs bekapcsolva, vagy BOR rosszul van beallitva, vagy szoftveresen nincs jol megirva a firmware stb stb stb
(#) spepe válasza trudnai hozzászólására (») Júl 29, 2009 /
 
Hello!

Nagyon köszönöm a válaszokat bbalazs_ és trudnai!

Tudnál nekem ajánlani egy "etalon" programozót?


Nem sokra haladtam sajnos. Szerintem a programozóm nem akar rendesen működni csak azt nem tudom, hogy mi lehet a baja.

Bye!
Következő: »»   536 / 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