Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Mindenki tudja, aki elolvasta már az adatlapját. Ha érdekel, Te is megtudhatod!
Szia!
Attől függ, mit szeretnél majd a kódokkal csinálni: - Egyezés viszgálat - a kódolás mindegy, - LCD-n való kijelzéshez a BCD kódolás a célszerű, - Kisebb, nagyobb vizsgálathoz a bináris kódolást választanám. Módszerek: - Táblázat (program vagy adat eeprom), - bin - bcd átkódolás - már többször megadtam a linket...
Egyszerre kéne LCD-n kiiratni a tasztatúráról beolvasott értéket, és egy másik 16bites számmal összehasonlítani. De már megbarátkoztam a BCD-bináris konverzióval, azt hiszem ez lesz a legcélszerűbb erre a célra, azt hittem ez bonyolult programba átültetni, de egyáltalán nem nehéz.
Neked 680uH kell, nem 680mH! Ha nem tudsz induktivitást mérni valamilyen műszerrel, és nincs a tekercsen értelmezhető felirat, akkor "ránézésre" nem állapítható meg az értékük. Inkább érdemes venni olyat, ami biztosan jó lesz, mert az a tekercs a Vpp előállító rész kritikus eleme.
Miért nem tudok debuggolni? PIC18F2523 az alany és ezt írja az MPLAB:
Idézet: „PK2Error0028: Unable to enter debug mode” És ezt: Idézet: „Resetting PKWarn0006: The local copy of program memory has been changed since the last program operation. Should PICkit 2 program the target (fix) before proceeding? PKWarn0007: The target will be programmed with the MCLR pin disabled. PICkit 2 cannot debug the target in this state. Would you like to enable the MCLR pin? Programming Target (2010.08.09. 13:38:39) PIC18F2523 found (Rev 0x5) Erasing Target Programming Program Memory (0x0 - 0x153F) Verifying Program Memory (0x0 - 0x153F) Running Target PK2Error0027: Failed verify (Address = 0x0 - Expected Value 0xEF23 - Value Read 0x0) PICkit 2 Ready”
Szia!
Az konfigurációban le van tiltva a MCLR. A "running target" egyből elindítja a programot, a MCLR nem hatásos, az ellenőrzés már nem sikerül. A PGD vagy PGC kimenetnek használod, és túl hamar beállítod kimenetté. Néhány napja 16F88-cal jártam így. - Sajnos az MpLab-ban nincs "Vpp first" opció, különben is csak akkor menne, ha a programozó adná a tápot. - A pic programjába a kimenetté állítás elé egy késleltető ciklust betéve a 16F88 kezelhetővé vált az MpLab számára - nem debuggoltam, csak programozni és ellenőrizni lehetett.
Sziasztok!
PIC16f877 mikrovezérlőre írogatok egy programot, ami már 2600 sor környékére hízott. A gondom, hogy nem tudok lapot váltani. Ha olyan szubrutint hívok meg, ami másik lapon van, el sem indul a progi. Biztos, hogy én vagyok amatőr. Kérdeztem ezt már korábban itt is, elolvastam az MPASM leírásában a "pagesel" utasításra vonatkozó részt, de (részben a hiányos angol tudásom miatt) nem értem. :help: Akadna itt esetleg valaki, aki óvodás szinten (netán pár soros példaprogrammal) el tudná magyarázni, hogyan kellene ezt kultúráltan megoldani? Ha igen, előre is nagyon megköszönöm!!! Üdv!
Szia!
Az ugrásoknál és a szubrutin hívásoknál a cím felső két bitjét a PCLATH 4..3 bitjeiből veszi a 16F mag. A return, retlw, retfie a stackról a teljes címet tölti be - itt nem használja a PCLATH-t. - Egy rutin hívása előtt a PCLATH-t be kell állítani a meghívandó lapnak megfelelően, a visszatérés után az aktiális lapnak megfelelően. A beállításban segít a "pagesel cimke" makró... - A megszakítási rutinnak mentenie kell a PCLATH-t is. A mentés után a megszakítási rutin lapjának (általában 0) megfelelően kell beállítani. A visszatérés előtt a PCLATH mentett értékét vissza kell állítani.
Szia!
Az MCLRE-t a konfigurációnál ON-ra állítottam, a PGD és PGC lábakat pedig bemenetté konfiguráltam, de így sem megy a debuggolás.
Megvan! Az LCD kijelző fordított polaritással volt bekötve. Szokták ezt bírni az LCD modulok?
Mivel valószínűleg CMOS a vezérlője és ha nem ad túl nagy áramot a tápod, akkor túl szokták élni. A PIC is nagy eséllyel túléli, ha 7805-ről adsz neki fordítva 5V-ot.
Hát nem tudom, eléggé melegedett az LCD. Bár nagy áramot nem kaphatott mert PICKit2-ről kapott tápot. Erről van szó amúgy: Bővebben: Link
A PIC-el nincs gond mert csak az LCD volt fordítva bekötve.
Az ezen az oldalon található időzítőrutin-generátort próbálta már valaki?
Bővebben: Link Alapból szerintem a goto $+2 helyett goto $-2-nek kellene lennie de még így is teljesen rossz az időzítés... nem annyi mint amennyinek kellene lennie.
Hali
A rutin mukodokepes. Viszont ez 16Fxxx kodot general. A 18Fxxx mas megoldast kivan. Esetleg a goto $+2 helyett cimkeket kell alkalmazni. Udv Vili
Hali!
Tud valaki segíteni a Piccoló project-el kapcsolatban. Nagyon kezdő vagyok a támában, most ismerkedem a PIC-el. Elkészítettem a referencia áramkört 18F4550-el, beírtam PICkit2-vel a Bootloadert, ami úgy tűnik működik. De betöltöttem az első kisérleti áramkört viszont csak az első két LED villog. Viszont azt tapasztaltam hogy bármilyen programot töltök a PIC-re mindíg csak az első két LED villog. Teljesen mindegy mit töltök le, mindíg ugyan az a progi működik!??? Mindent a project leírása alapján csináltam, MPLAB IDE V.8.53 használok a fordításra. Mit lehet ilyenkor tenni? Üdv.
Szia!
Az első két LED villogása azt jelenti,hogy még bootloader módban van a 18F4550. Ha a programot akarod futtatni, nyomd meg a Reset gombot, akkor a beírt program fog elindulni. Ha mindent a leírás alapján csináltál, működnie kell! Üdv.: cicero
Én a HID Bootloader program Reset Device gombjára szoktam kattintani a program elindításához.
Az USB kapcsolatot használó alkalmazásoknál pedig majd arra kell ügyelni, hogy azok egy beérkező karakterre várnak. Tehát el kell indítani a CDC Terminál programot (vagy más,virtuális soros port kezelésre alkalmas programot), kapcsolódni kell a virtuális soros porthoz (nálam COM5, de ez attól is függ, melyik csatlakozóba dugom a kábelt), s ki kell küldeni egy karakter, hogy az alkalmazás kikerüljön a kezdeti várakozásból. Erre a hókuszpókuszra azért van szükség, mert különben a Windows elnyelné a bejelentkező üzenetet.
Néhány új (PIC18F4550-en is futtatható) példával bővült a PICCOLO projekt Analóg perifériák c. fejezete.
Az új fejezetrész tartalma: # Az ADC kezelése támogatói könyvtárak használatával o Mintaprogram analóg jellel történő vezérlésre (ledek.c) o Megjegyzések a Microchip PIC18 támogatói programkönyvtárának használatához o Mintaprogram az OpenADC() függvény használatára (adclib.c) További információk a fenti linken találhatók.
A jó múltkor kiszámoltam az Fosc és a TAD értékeket, de most megint kicsit elbizonytalanodtam. A mikrovezérlő most PIC18F2523 és 40MHz-en ketyeg. Ugye jó lesz az Fosc/32 és a 2TAD?
Szia!
Ez így elméletben OK, de asm-ben hogyan néz ki? (MPLAB) Pl. a 0 lapon szeretném meghívni a "menu" szubrutint, ami az 1 lapon van. Hol, hogyan és hány helyen kell a "pagesel címke" makrót beiktatatni? Még egyszer bocsánat, a láma kérdésért!
Sziasztok!
Most nagyba vágtam a fejszét, egy kicsi 1,5m X 1m-es LED-falat fogok építeni, amihez kéne egy kis segítség. A kérdésem az lenne, hogy a VGA jelet, ami számítógépből jön ki, hogy tudom feldolgozni egy PIC-el? És ha már valami feldolgozta, hogy érdemes a LED moduloknak a vezérlőjét összekötni a VGA-t kezelő egységgel? Gondolom minden színhez külön vezérlő kell, ám nem sok megoldást találtam GOOGLE barátommal. Van ötlet, hogy lehetne ezt megoldani? Köszi előreis!
Ezek az értékek az abszolút minimum közelébe esnek, tehát elég necces... Az adatgyűjtési idő pedig erősen függ a forrásimpedanciától is. Az adatlapi minimumérték (pl. PIC18F14K50 esetén TACQ min 1,4 us) 50 ohmra vonatkozik.
Idézet: Szerintem sehogy! Lassú, és kicsi a memóriája (RAM). „A kérdésem az lenne, hogy a VGA jelet, ami számítógépből jön ki, hogy tudom feldolgozni egy PIC-el?”
Szia!
A megszakítási rutinban (ha van) 16F886-nak megfelelő, közös RAM-mal rendelkező típusnál. Ha 16F883-nak megfelelő memória kiosztásal rendelkező típusunk van, W_temp változónak megfelelő címet az összas lapon használhatja a W mentésére - tartsuk fenn erre a célra.:
A menu hívása a 0 lapról. A menu csak az 1. lapon levő cimekre ugorhat és az 1. lapon levő címeket hivhat meg subrutinként. Ha mégis kellene más lapról rutin, akkor a menuben is hasonlóan kell beállítani a PCLATH-t. A menu return, retlw 0x00 utasítással tér vissza.
A pagesel - call - pagesel között másik goto illetve call ne legyen...
Üdv. Most kezdtem el pic-ezni. Assembly-ben programozok. írtam egy olyan programot ami elvileg gombnyomásra kapcsolja be a ledeket. Tehát nulláról indul és első gombnyomásra 1-et, a másodikra 2-öt, a harmadikra 3-at, negyedikre pedig megint 0-át. De ha megnyomom a gombot kigyullad az összes led és ha elengedem akkor változik. Hol 1 hol 2 hol 3. Ezt hogyan lehet kiküszöbölni? Felrakom az asm-et is.
Szerintem csak pergésmentesíteni kellene a gombot, vagy hardverből vagy szoftverből. Volt már ezekről itt szó, keress rá.
Köszönöm a választ. Valószínűleg szoftveresen fogom pergésmentesíteni (feltéve ha rájövök hogy hogy kell), mert a nyomógombokon már nem tudok változtatni.
Ebben van valami.
A lassúságra mit értesz? Láttam egykét kapcsolást és videót, ahol egy PIC képes volt meghajtani egy monitort, igaz nem túl nagy felbontást, de egy 320X200-as felbontás már teljesen jó lenne. Az is igaz, hogy egy gép videókártyája 800X600 alá nem megy. Idézet: Azt, hogy a pontfrekvencia nagyobb, mint amilyen ütemben a PIC elkapkodni, feldolgozni és a megjelenítőre kiküldeni tudja az információt. „A lassúságra mit értesz?” |
Bejelentkezés
Hirdetés |