Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   330 / 1319
(#) trudnai válasza googa hozzászólására (») Nov 2, 2008 /
 
Idézet:
„Hogy tudtál ilyen keretet készíteni a hozzászóláson bellül?”


Raboksz a "Kod" gombra, megjelenik a [code=c] szocska. Ezt kicsit ki kell javitani [code=asm] -re (vagy [code=C] -re ha C programot szursz be), es beilleszted a programot majd megint raboksz a "Kod" gombra. Termeszetesen kezzel is bepotyogheted a kulcsszavakat...
(#) trudnai válasza frecsko hozzászólására (») Nov 2, 2008 /
 
Igen, pottyosvesszo a komment kezdete a sor vegeig. Azonban ha a tablabol kiveszel (vagy hozza teszel) elemet, akkor a tabla meretet is modositanod kell (jelen esetben az a d'14' az, mert abban a programban a tabla merete nincs automatan kiszamolva.
(#) googa válasza trudnai hozzászólására (») Nov 2, 2008 /
 
Köszönöm a tanári gondoskodást. Megfontolom amit írtál. A STATUS-os témát én sem így szoktam kezelni. Véletlenül hagytam úgy, mert egy másik PIC szériából vettem át a progrmrészletet és nem akart lefordulni. Ekkor elkezdtem adatlap alapján kibogarászni és akkor valóban lecseréltem, hogy jobban lássam mi történik. Lehet ezt nem is érted miért mondom, de nekem így működik az agyam.

A többi tanulságot nagyon köszönöm, kielemzem és megfontolom. Így mulat egy magyar úr
(#) tacsy69 hozzászólása Nov 2, 2008 /
 
Sziasztok!

Szeretném a következő problémámmal kapcsolatban a segítségeteket kérni!

A következő linken megtalálható termosztátot megépítettem:
http://mikroklub.hu/htm/matyas.htm

Viszont a meglévő hex tartalmat sehogy se tudom beégetni a 16F84A -ba(icprog-ot használok), a következő hibaüzenetet dobja:
"Verify failed at address 0000h"!

A kapcsolás szerepelt egy régebbi hobbielektronikában is, így nem hiszem hogy a programmal lenne a probléma(lehet hogy vmi beállítási gond?!?!?!?)!

Van ötletetek?
(#) googa válasza tacsy69 hozzászólására (») Nov 2, 2008 /
 
Talán nem üres a PIC-ed, vagy sérült. Esetleg az égetőd beteg, vagy ha soros-USB átalakítót használsz azzal is lehet gond. Nekem is ilyesmi volt. Sorban mind Akkor vettem egy PICkit 2-őt. Van még egy ötletem, esetleg úgy programozd a PIC-et, hogy kiveszed az áramkörből, ha eddig nem úgy tetted.
(#) watt válasza tacsy69 hozzászólására (») Nov 2, 2008 /
 
Nincs elég infó, ennyiből nem lehet segíteni. Azt minimum leírhatnád, hogy milyen égetőáramkört használsz.
(#) Thomas10100 hozzászólása Nov 2, 2008 /
 
Sziasztok!

PWM jelet a PICnek a CCP1-es lábáról tudom levenni?
Vagy még melyikek kellenek?

Köszönöm
(#) watt válasza trudnai hozzászólására (») Nov 2, 2008 /
 
Bevallom nem néztem meg ilyen mélységben, ezért minden megjegyzéseddel egyetértek. Táblázatot mindig rögzíteni kell.

Azt is írtam, hogy ez az egész táblázatos módszer felesleges, a léptető utasítások pár sorban kiváltanák. Erről mi a véleményed?
(#) watt válasza Thomas10100 hozzászólására (») Nov 2, 2008 /
 
Igen. De vannak olyan PIC-ek, amelyikeknél, lehet választani, hogy melyik lábra kerüljön a CCP kimenet. Az adatapban le van írva, hogy melyik az a láb és hogy lehet e válogatni, vagy sem.
(#) Thomas10100 válasza watt hozzászólására (») Nov 2, 2008 /
 
Köszi!

És mondjuk infra adót és infra vevőt bármélyik portra tehetek?
Egy kis panelt csinálok a 18F4550-hez, amin lesz pár dolog. Ezért érdeklődök.
(#) tacsy69 válasza googa hozzászólására (») Nov 2, 2008 /
 
Írás előtt töröltem, LPT portra csatlakozik az égetőm és természetesen kiveszem az áramkörből úgy programozom!
(#) tacsy69 válasza watt hozzászólására (») Nov 2, 2008 /
 
Az égető Baji elektronika üzletből származik, pro pic2, lpt portra csatlakozik!
(#) szilva válasza watt hozzászólására (») Nov 2, 2008 /
 
Ebben teljesen igazad van!
(#) szilva válasza icserny hozzászólására (») Nov 2, 2008 /
 
Egyszer régebben már felmerült ez a téma, talán pont ebben a topicban. Eléggé elítélhető módon én is használtam már az FRC-t 4 és 8MHz CPU clock mellett, mert lusta voltam utánaszámolni, hogy melyik osztó lenne az igazán jó Ennek ellenére a konverzió működik (működnie is kell), tehát ha a dolog tök halott, akkor nem ezzel lesz gond, hanem pl. valami más perifériának az adott lábon való megjelenésével, amit ki kellene kapcsolni.

Az adatlap Frc-vel kapcsolatos megjegyzéseivel kapcsolatban én arra tudok csak gondolni, hogy a mérésbe belezavaró digitális zaj kiküszöbölése végett nem ajánlott aszinkron (azaz nem a CPU clock-kal szinkronban járó ütemjellel) végezni a konverziót magasabb órajeleknél.
(#) szilva válasza watt hozzászólására (») Nov 2, 2008 /
 
A configban az INTRCIO az jó, adatlap szerint az OSCCON reset utáni default értéke a 4MHz. Persze, "jobb a békesség" alapon inkább be szoktuk állítani egy általunk kívánt értékre.
(#) mrfencer hozzászólása Nov 2, 2008 /
 
Üdv!

Meg tudná nekem valaki mondani hogy ez mit jelent?

d1 equ 0x20
d2 equ 0x21
mármint az érdekelne hogy az euq mit jelent, nem találom sehol
Köszi!
(#) frecsko hozzászólása Nov 2, 2008 /
 
Megjegyzést, észrevételt és kiigazítást kérek ehhez a progimhoz

elso1.asm
    
(#) mrfencer válasza mrfencer hozzászólására (») Nov 2, 2008 /
 
lehet rájöttem!
Nem azt jelenit hogy a d1-et egyenylővé teszi 0x20-al?
Az equ nem az equal szóból ered???
(#) mrfencer válasza mrfencer hozzászólására (») Nov 2, 2008 /
 
Szóval ekkor ezt már talán értem.

viszont ezt már nem:
d1 equ 0x20
d2 equ 0x21

  1. delay  
  2.           movlw 0xff
  3.           movwf d1
  4.           movlw 0xff
  5.           movwf d2
  6.  
  7. del
  8.       decfsz d1
  9.       goto del
  10.       decfsz d2
  11.       goto del
  12. return

ez állitolag egy 250ms-es késleltetés. De nem értem. Elmagyarázná nekem valaki?
(#) trudnai válasza watt hozzászólására (») Nov 2, 2008 /
 
Idézet:
„Azt is írtam, hogy ez az egész táblázatos módszer felesleges, a léptető utasítások pár sorban kiváltanák. Erről mi a véleményed?”


Igen, teljesen felesleges oda. Egyetlen elonye lehet ennek a tablazatosdinak, hogy ha kesobbiek folyaman meg akarja valtoztatni a szekvenciat akkor igy eleg a tablat atirni - ill ha lenne tobb tabla kulonbozo szekvenciakkal akkor akar valtogatni is lehetne azok kozott - pl egy karacsonyfa futofenyre ha gondolunk, most ugyis aktualis lenne ilyeneket epitgetni
(#) trudnai válasza mrfencer hozzászólására (») Nov 2, 2008 /
 
d1 egy konstans a fordito szamara, erteke 0x20 lesz. Mikor erre hivatkozol a programodban akkor ezt a szamot helyettesited be, tehat MOVWF 0x20 lesz, ahol ugye a 0x20 egy memoria cim, erre a cimu memoria rekeszbe tarolod le a W-t...

Tahat delay-nel 0xFF -ekkel felinicializalod a d1 es d2 memoria cimeken levo teruletet - tovabbiakban d1 es d2 valtozodat. utana ciklusban csokkentgeted elobb a d1 erteket a descfsz utasitas segitsegevel, es mikor az eleri a 0-t akkor atugorja a mogotte levo utasitast... magyaran a ciklusbol kilep. Ugye DECrement File Skip if Zero -> DECFSZ.... d2-vel ugyanez tortenik, magyaran igy 256*255-1 ciklusnyit ugral "egyhelyben". 256*256 lenne ha nullazva lenne a d1 es d2 a delay resznel...

Namost a varakozas kiszamitasa picit osszetettebb:

Eloszor is van egy belso ciklus, a d1 valtozoval. DECFSZ 1 ciklusido ha nem zerus az eredmeny, 2 ha igen. GOTO mindenkepp 2 ciklus. Ez azt jelenti, hogy a belso ciklus 3 ciklusidonyi. Ha 4MHz-es az orajel, akkor ugye a 4-es osztasbol adodoan 1 utasitas pontosan 1us (1/(4MHz/4) --> 4/4MHz). Magyaran a belso ciklus 256*3us --> 768us. Most jon a monyolitas: A kulso ciklus ugye a sikertelen DECFSZ miatt +2us-al hosszabb, tehat az 256*5us --> 1280us + ugye a belso ciklus 256* fog lefutni, azaz: 256*3*256 + 256*5 --> 197888us ~ 198ms.

Ha egeszen pontosak akarunk lenni, akkor ugye a d2 FF inicializalasa miatt csak 255* hajtodik vegre a belso ciklus + a belsonel az elso az is 255-tel indul, + van 4 utasitas ami ezt az egeszet inicializalja + a call + return --> egeszen pontosan ennyi ido telik el mire a hivo vissza kapja a vezerlest.

255*3 + 254*256*3 + 255*5 + 4 + 2 + 2 --> 197120us ~197ms

De ez csak es kizarolag 4MHz-re igaz!
(#) mrfencer válasza trudnai hozzászólására (») Nov 2, 2008 /
 
Ohp! Értelek! Nagyon szépen köszönöm a választ!
(#) mrfencer válasza trudnai hozzászólására (») Nov 2, 2008 /
 
Ha mindent jól értettem akkor átirtam ogy a progimat hogy 1s-ként villantson fel egy LED-et, viszont nem történik semmi! Megnéznétek nekem ezt a rövidke progit hogy hol hibás a gondolatmenetem?
  1. LIST P=16F877
  2. #INCLUDE "P16F877.INC"
  3. __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF
  4.  
  5. ORG 0
  6.  
  7. #define RRLED PORTB,0  ; Right_Red_LED RB0
  8. #define ROLED PORTB,1  ; Right_Orange_LED RB1
  9. #define LOLED PORTB,2  ; Left_Orange_LED RB2
  10. #define LGLED PORTB,3  ; Left_Green_LED RB3
  11.  
  12. d1 equ 0x20
  13. d2 equ 0x21
  14. start
  15.  
  16. banksel PORTB
  17.  
  18. testB
  19.  
  20. bcf ROLED
  21. call delay
  22. bsf ROLED
  23. call delay
  24. goto testB
  25.  
  26. delay                           ;1 sec-es késleltetés
  27.         movlw 0x4FB
  28.         movwf d1
  29.         movlw 0x4FB
  30.     movwf d2
  31. del
  32.         decfsz d1
  33.         goto del
  34.         decfsz d2
  35.         goto del
  36. return
  37.  
  38. end
(#) watt válasza trudnai hozzászólására (») Nov 2, 2008 /
 
Idézet:
„most ugyis aktualis lenne ilyeneket epitgetni”

Bizony, már neki lehetne állni ilyeneknek:
- Fényfüggöny -
És tavaj karácsonyra építettem egy karácsonyfa izzósort, amiből lehet, hogy írok egy cikket, csak most nagyon benne vagyok egy induktivitás mérőben...
(#) watt válasza Thomas10100 hozzászólására (») Nov 2, 2008 /
 
Így ebben a formában, hogy bármelyikre, nem értelmezhető. Attól függ milyen jeleket akarsz feldolgozni és azt milyen módon akarod programba önteni. Ha szoftveresen akarod feldolgozni, megszakítás és belső hardver segítsége nélkül, akkor igen bármelyik I/O lábra tehetsz bármilyen szabványos feszültségű jelet.
(#) trudnai válasza mrfencer hozzászólására (») Nov 2, 2008 /
 
Eloszor is teljesseggel hianyzik a port inicializalas, igy a PORTB inputra lesz kapcsolva + ha vannak mas periferiak is multiplexalva akkor azokkal akadhat. Adatlapban meg kell nezni hogyan kell a PORTB-t inicializalni, altalaban van is pelda.

Masodszor nem tudsz 0x4FB betolteni egy 8 bites valtozoba! En azt csinalnam, hogy csinalnek egy 100ms idozitot amit "delay100ms" -nek hivnek, es csinalnek egy 1s idozitot is amit meg "delay1s"-nek neveznek el. Ez utobbi 10x hivogatna ciklusbol a "delay100ms" rutint...

Harmadszor az utasitasoknak nem szabad a sor legelejen kezdodniuk! Ott a cimkek vannak - azoknak meg nem szabad beljebb kezdodniuk... Tehat az #include es #define-on kivul minden ami nem cimke indentald beljebb. Forditaskor nezd at mikra panaszkodik, biztosan mondja, hogy hey, baj van...
(#) trudnai válasza watt hozzászólására (») Nov 2, 2008 /
 
Ez jol nez ki! Tenyleg jo lenne egy cikkecske rola!
(#) Thowra hozzászólása Nov 2, 2008 /
 
Üdv mindenkinek!
Lenne pár apró kérdésem.
1. Szeretnék építeni egy kis távirányítós autót és a vezérlő jel átvitelét RF modulokkal szeretném megoldani (HE store ban kaphatókra gondolok). A távirányítóban lévő PIC egy számot küldene uarton és a kocsi vevője ezt fogadná.
Kérdésem, hogy ha a picre ráakasztom az adó és a vevő modul in és out vezetékét közvetlenül, akkor megy e így az uart?
2. Tegnap megnéztem frecsko kapcsolását és felmerült bennem egy kérdés, az MCLR lábre miért van ráakasztva ennyi cucc? Miért nem elég oda egy ellenállás?
3. Ha picet szeretnék pc hez illeszteni uarton, akkor a pc felőli progi hogy is működik? Van esetleg valakinek egy mintaprogija pascal vagy delphi nyelven? A hardver szerintem egy csatlakozókábel, MAX232 ic és a pic uart lábai lennének. Ez így helyes vagy kell még oda valami, esetleg a MAX 232 sem kell?
A válaszokat előre is köszönöm.

futofeny.gif
    
(#) watt válasza trudnai hozzászólására (») Nov 2, 2008 /
 
A cikk a fenyőfára valóról lenne, amin csak 80 izzó van.
A fényfüggönyről a fene tudja, lehet, hogy egyszer rászánom magam, de szerintem abból is megépíthető, ami most fenn van az oldalamon. Meglátom...
(#) Thomas10100 válasza watt hozzászólására (») Nov 2, 2008 /
 
Sziasztok!

Csináltam egy kis próbapanelt! Elég sokminden van rajta.
Ha valakit érdekel akkor irjon.Bővebben: Link
Következő: »»   330 / 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