Fórum témák
» Több friss téma |
Sziasztok!
Hogyan tudom kiszámítani hogy mennyi ideig tart egyetlen "onecycle" utasítás ha egy 4MHz-es kristály van kötve egy 16F84A-hoz? Azontúl valami doksit, ismertetőt, vagy akármit keresek, amiből meg lehet tudni hogy lehet használni egy timert. Vagy ha valaki ráérős típus elmagyarázná nekem. Köszi. deguss
Általában a pic utasítások 1 ciklus hosszúak. Vannak kivételek pl:call. Egy utasítás ciklus hossza. (1/4000000)*4
Ez azért van mert egy utasítás elvégzéséhez általában 4 órajel ciklus szükséges. Írj a privátba hogy tudjam hová küldjek neked magyar pices doksikat. Valakinek korábban össze készített anyag, de nem jelentkezett érte.
Köszi szépen bbatka a sok hasznos doksit. Valamennyire már beleolvastam, de továbbra is segítségetekre szorulnék a timer használatlát illetően. Valaki el tudja nekem röviden magyarázni hogy hogyan tudom megcsinálni hogy pl: egy gombnyomásra, amit egy btfsc figyel, elindítok egy timert, ami legyen amennyire lehet pontosan 0,5 sec, és mikor lejár, akkor egyszerűen bsf PORTB,7 azaz egy LEDet kigyújt.
Előre is köszönöm.
Még valami: Ha jól számolom (1/4Mhz)*4 akkor egy utasítás 1 mikrosecundumig tart!?
És még egy kérdés: Egy szignáltranzisztornak (BCxx) mennyi az a legkisebb időintervallum, amialatt kapcsolni tud, úgy értem hogy vezetésből->zárásba, ill. fordítva? Szóval állapotváltás?
Köszi, a képletet ismertem , csak azt nem tudtam hogy 100MHzet elbír-e a BC182. Köszi szépen, világossá vált a téma ezen része. Már csak az a kérdés hogy hogyan használjuk a timert a pic programozásban.
Délután kiagyalom a kérdésedre a választ a TMRO-val kapcsolatban. 2-3 hónapja foglalkoztam vele frekimérés kapcsán, de már megint elfelejtettem a használatát.
A feladathoz amit leírtál nem kell timer. Én Basic-ben programozok ha lehet mert sokkal gyorsabban elkészül a program. Assembly-t csak akkor használok ha a sebesség miatt szükséges. Ezt azért írtam le, mert a basic nyelv tartalmaz várakozó utasítást, de van egy DOS-os progim ami assemby kódot gyárt várakozó ciklushoz, bár elég pontatlan. Szóval neked RB0 interrupt használatára van szükséged. Majd miután megtörtént a megszakítás elindul a várakozó ciklus. Majd a program végén kigyúlad a RB7-es LED. Javaslom a Basic használatát. Picsimulatoride a kedvencem itt, de a Mikrobasic is nagyon klassz.Javaslom töltsd le mind a kettőt. A Mikrobasic címét nem tudom, de Google-val gyorsan megtalálod. Holnapra remélem megtudom neked írni a progit, basicben. Túl sok mindent vállaltam holnapra, túl sok személynek, de majd igyekszem. Az 1 mikrosecundum stimmel. A Picsimulatoride egy nagyon komoly szimulator és ez által mindenféle hibát kizár a helyes használata.
DEKUSS
Figyelj ha jól olvastam akkor aptál doksikat a picekről nos megkérnélek hogy oszd meg velem vagy küld el mert nekem is szükségem lenne rá. Vagy ha valaki tudna segíteni abban hogy a mikrobasicben lévő parancsok mit jelentenek és hogy működnek akkor nagyon megköszönném . Idézet: „A Picsimulatoride egy nagyon komoly szimulator és ez által mindenféle hibát kizár a helyes használata.” Feltéve, hogy nem hibás maga a szimulátor! Én találtam már hibát benne, az EEPROM olvasás nem működött valamelyik chipnél, és mások is említettek már hibákat benne. Az MPLAB az a szimulátor, amiben meg lehet inkább bízni, abban az észlelt hibákat folyamatosan javítják, a Microchip fórumán külön részleg szól a szimulátorról.
Potyo !
Hogy olvastál EEPROM tartalmat a picsimulatoride alatt programozva? BASICben is lekell tiltani irás olvasas es iras esetén a general interuptokat.
Megnyugtatlak, nem az én programommal volt a probléma. MPLAB-ban írtam asm-ben, és megnéztem ebben a programban, mert itt volt hétszegmensű kijelző mint periféria. Nem akart működni, és nem tudtam miért. Aztán megnéztem MPLAB SIM alatt, és ott jól működött.
Sem az EEPROM, sem a FLASH olvasáshoz egyébként nem kell letiltani a megszakításokat.
De én meg azt olvastam (mind a 2 Kónya féle könyvben) az eeprom írás/olvasás műveletekről,
hogy mielőtt elkezdem a megszakításokat tiltani kell a biztos végrehajtás érdekében. Akkor ezek szerint ez nem mindig szükséges ? No majd át nézem újra milyen esetre szólt ez a kitétel a könyvben. Ezért én minden basic parancsos read write előtt kiadtam GIE bit tiltást . Szeretném ezt tisztán látni mert eddig nem foglalkoztam az eeprom használatával de most éppen van ilyen esetem.Azért vetettem fel mint lehetséges okot a "picsimide" általad említett bugjára reagálva.
Ez mindkét esetben csak írásra vonatkozik.
Konkrét dolgokról mindig az adatlapból kell tájékozódni. Még abban is találni néha hibát. Az említett könyv állítólag jó (én sosem olvastam), de inkább az elveket, módszereket kell abból tanulni.
|
Bejelentkezés
Hirdetés |