Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   430 / 1319
(#) Syn7h37ic hozzászólása Márc 11, 2009 /
 
Sziasztok.
Kaptam egy gyári Parallax 16CXX_PGM programozót, és jó lenne hozzá valami dokumentáció, hogy mégis milyen csatlakozókiosztása van a PC felé. Ha jól rémlik, ez Parallel portos, csak a programozón nem a parallel portos csatlakozó van, hanem egy RJ11 csatlakozó, és ennek szeretném a lábkiosztását (közben előkerült a kábele is, egy parallel portos kábel (azt hiszem, egy 25 pólusú csatlakozó, a tüskés, tehát 99%-ban LPT. De csak 3 vezetékkel kapcsolódik a gépre)
A holmi nem mai darab. Van rajta egy 16C55-ös uC is.
Összesen ennyit találtam róla. Bővebben: Link annyi plusz, hogy van hozzá egy dipcif aljzat, ami a tüskesorra van dugva.
Jó lenne, ha be tudnám üzemelni, és ne a bontóban végezze, hogy kinyerjem belőle a foglalatokat.
(#) icserny válasza Syn7h37ic hozzászólására (») Márc 11, 2009 /
 
Add el egy múzeumnak!

Itt kellett volna keresni

Egy kis kedvcsináló (ha még nem ment el teljesen...)
(#) PLaci válasza potyo hozzászólására (») Márc 11, 2009 /
 
Hááát... nem sokkal lettem okosabb
Felinstaláltam az MPLab 8.20-as verziót. sajna ott sem billen be az RC.5-ös bitem a PWM kivánalmainak megrfelelően. Megpróbálom belinkelni a programrészt, hátha ti rájöttök hol bénázom el.
  1. ; RC1-RC3 a 4 PowerFET vezérlése
  2. ; RC5 PWM kimenet
  3.  
  4.  
  5.         __CONFIG _XT_OSC &_WDT_OFF &_CP_OFF ; 616-hoz
  6.  
  7.         #include P16F616.inc
  8.         radix dec
  9.  
  10. temp    equ     0x20            ; mindenfele
  11.  
  12.                 org 0x00
  13.                         goto    main
  14.  
  15.                 org 0x04
  16.                         retfie
  17.  
  18. main:           bcf             INTCON, GIE             ; all IRQ tilt
  19.                         movlw   0x00
  20.                         movwf   PORTA
  21.                         movwf   PORTC
  22.                         clrf    CCP1CON
  23.                         bsf             STATUS, RP0             ; 1-es lap
  24.                         movlw   b'00111111'
  25.                         movwf   TRISC                   ; RC0-RC5 bemenet
  26.                         clrf    ANSEL                   ; igy lesz RC digitalis I/O
  27.                         movlw   249
  28.                         movwf   PR2                     ; 4mhz/4/4/(249+1)  = 1khz
  29.                         bcf   STATUS, RP0           ; vissza anullás lapra
  30.                         movlw   125
  31.                         movwf   CCPR1L                  ; kitoltési tényezo kb 50%
  32.                         bsf        CCP1CON, DC1B0  ; kitöltési tényező alsó 2 bitje
  33.                         bsf        CCP1CON, DC1B1
  34.                         bcf         PIR1, TMR2IF
  35.                         bsf         T2CON, T2CKPS0  ; előosztó 4-et oszt
  36.                         bsf         T2CON, TMR2ON   ; TMR2 start
  37.                         btfss   PIR1, TMR2IF    ; vár az első túlcsordulásig
  38.                         goto    $-1
  39.                         bsf       STATUS, RP0             ; majd PORTC -t kimenetnek kapcsolja
  40.                         movlw   b'11000000'
  41.                         movwf   TRISC
  42.                         bcf        STATUS, RP0
  43.                         goto    $
  44.      end
(#) PLaci válasza PLaci hozzászólására (») Márc 11, 2009 /
 
Na! Csak megoldódott. A probléma annyi volt, hogy a CCP1CON regiszter 2-es és 3-as bitjét is H-ba kellett tenni. (Habár bekem a pdf-ből nem derül ki egyértelműen, hogy miért) de így szépen billeg az RC.5-ös láb a beállított frekvenciával, és kitöltési tényezővel.
Esetleg ha valaki megírná mi a feladata ebben a beállításban ennek a 2 bitnek, megköszönném. (No too good speak english) Mégegyszer köszi a segítséget! Laci
(#) Hp41C válasza PLaci hozzászólására (») Márc 11, 2009 /
 
Szia!

Már írtam a választ, amikor megjött a sajátod...

Bit 3.2.1.0
1100 = PWM mód; P1A, P1C aktív-alacsony; P1B, P1D aktív-magas
1101 = PWM mód; P1A, P1C aktív-magas; P1B, P1D aktív-alacsony
1110 = PWM mód; P1A, P1C aktív-alacsony; P1B, P1D aktív-alacsony
1111 = PWM mód; P1A, P1C aktív-alacsony; P1B, P1D aktív-alacsony

szintekkel.

Szia...
(#) Syn7h37ic válasza icserny hozzászólására (») Márc 11, 2009 /
 
Áááá köszi.
Most már tuti, hogy mi vár rá.
Megy a polcra, csak a dipcif kiegészítő marad mivel az nagyon jól fog jönni, a leendő pickit2-höz. A dipcif az a fajta 40 lábú, amibe a keskeny 18-28 lábú cucc is belemegy, nem csak a 40 lábú pic.
(#) icserny válasza PLaci hozzászólására (») Márc 11, 2009 /
 
Idézet:
„A probléma annyi volt, hogy a CCP1CON regiszter 2-es és 3-as bitjét is H-ba kellett tenni. (Habár bekem a pdf-ből nem derül ki egyértelműen, hogy miért)”


Már hogyne derülne ki! A PWM üzemmódok esetén mindkettőt 1-be kell írni. A többi kombináció Capture, Compare vagy nem használt módot állít be.

  1. CCP1M<3:0>: ECCP Mode Select bits
  2. 0000 = Capture/Compare/PWM off (resets ECCP module)
  3. 0001 = Unused (reserved)
  4. 0010 = Compare mode, toggle output on match (CCP1IF bit is set)
  5. 0011 = Unused (reserved)
  6. 0100 = Capture mode, every falling edge
  7. 0101 = Capture mode, every rising edge
  8. 0110 = Capture mode, every 4th rising edge
  9. 0111 = Capture mode, every 16th rising edge
  10. 1000 = Compare mode, set output on match (CCP1IF bit is set)
  11. 1001 = Compare mode, clear output on match (CCP1IF bit is set)
  12. 1010 = Compare mode, generate software interrupt on match (CCP1IF bit is set, CCP1 pin is unaffected)
  13. 1011 = Compare mode, trigger special event (CCP1IF bit is set; CCP1 resets TMR1 and starts an A/D
  14. conversion, if the ADC module is enabled)
  15. 1100 = PWM mode; P1A, P1C active-high; P1B, P1D active-high
  16. 1101 = PWM mode; P1A, P1C active-high; P1B, P1D active-low
  17. 1110 = PWM mode; P1A, P1C active-low; P1B, P1D active-high
  18. 1111 = PWM mode; P1A, P1C active-low; P1B, P1D active-low
(#) PLaci válasza Hp41C hozzászólására (») Márc 11, 2009 /
 
Szia!
Köszi a leírtakat! kb ennyit tudtam én is kihámozni a pdf-ből, de továbbra sem értem miért kellett nekem ezt a 2 bitet H-ba írni. Mik ezek a P1A, P1C stb. lábak. Én csak azt szerettem volna, hogy a RC.5-ön aminek az alternatív funkciója a CCP1 jöjjön ki az impulzussor. Ezek a P1valami lábak, csak az enchanged (bővített) üzemmódban működnek, amikor 4 kimenet van a H híd vezérléséhez vagy nem?
Icserny Köszi neked is, nagyon együtt írtunk
(#) potyo válasza PLaci hozzászólására (») Márc 11, 2009 /
 
A 2. és 3. bitet azért kellett H-ba rakni, hogy BEKAPCSOLD a PWM modult. Enélkül kb. olyan a dolog, mintha be akarnád indítani az autót, de nem tennél bele motort.

A P1A, P1B, P1C és P1D lábak az ECCP mód kimenetei. A CCP1CON regiszter 7. és 6. bitje dönti el, hogy ezekből melyik lesz PWM kimenet, és melyik lesz sima IO port.
(#) szigetivan hozzászólása Márc 12, 2009 /
 
Sziasztok!

van egy kész progi nálam amit átírtam saját kontrolleremre, de már a futtatás nem működik..
makrókat nem csatoltam, de itt megtaláljátok:
Link
szerintetek hol lehet a hiba?

köszi

swrs232.asm
    
(#) trudnai válasza szigetivan hozzászólására (») Márc 12, 2009 /
 
ANSELH-t port initkor ki kellene nullazni...

Amugy miert hasznalsz szoftveres soros modult mikor a 690-esben van EUSART modul?
(#) szigetivan válasza trudnai hozzászólására (») Márc 12, 2009 /
 
szia!

mert 2 soros kapcsolatra van szükségem
(#) szigetivan válasza trudnai hozzászólására (») Márc 12, 2009 /
 
amúgy kinulláztam, ahogy írtad, de a probléma nem oldódott meg, még mindig nem fordul le a program..
(#) PLaci válasza potyo hozzászólására (») Márc 12, 2009 /
 
Szia Potyo!
Köszi a leírtakat, így már minden világos. Majdnem olyan ez mint az A/D modul, ahol külön be kell kapcsolni, és megmondani, hogy melyik bemenet legyen normál I/O és melyik az analóg bemenet a méréshez.
Hiába az angol tudásom sok kívánnivalót hagy maga után Egyébként működik, csak szerettem volna érteni mit is csinálok. Laci
(#) whisky válasza PLaci hozzászólására (») Márc 12, 2009 /
 
Sziasztok!

Az én kérdésem az lenne, hogy megvalósítható-e ez a kapcsolás, és a hozzá tartozó program:
A képen látható rajzon a nyomógomb kapcsolódik egyszerre az RB0-hoz és az interrupt lábhoz diódával (pl:4148-al), az RA0 és RA1 pedig nyomtatóporton kap jelet, és a jellel egyidőben diódán keresztül szintén az interruptot is aktiválják.
A dolog lényege az lenne, hogy amikor jelet kap az interrupt ezekről a lábakról, akkor ez fusson le, így ki lehet deríteni, hogy melyik lábon kapott jelet (javítsatok ki, ha hibás a gondolatmenet, abszolut kezdő vagyok):

ORG 0x04
BTFSC 0x05,0 ;RA0 tesztelése
CALL ra0jel
BTFSC 0x05,1 ;RA1 tesztelése
CALL ra1jel
BTFSC 0x06,4 ;RB4 tesztelése
CALL rb4jel
RETFIE

Még egy kérdés: ha ez lefutott, és a call utáni rutin is, akkor ha még mindig kapja ugyanazt a jelet (pl a gomb "sokáig" van nyomva, akkor újra lefut az egész megszakítási folyamat, vagy csak a legközelebbi alacsonyról-magasra történő változás váltja ki ezt?

PIC.JPG
    
(#) watt válasza whisky hozzászólására (») Márc 12, 2009 /
 
Az elgondolás jó, de nem jó portot választottál. A legtöbb PIC B portja fel van készítve megszakításra(és van belső felhúzó ellenállása), azaz bármelyik lábat leviszed, akkor megszakítást generál(ha ez be van állítva). Utána jöhet a vizsgálat...
(#) kiskacsa2009 hozzászólása Márc 12, 2009 /
 
Tessék watt! Ide berakom a kreálmányom, és ha valakit érdekel, akkor egészséggel használja!
Azért elmondom, hogy ez egy pic égető, ésez alapján készült.
Felrktam az oldalamra, nyugodtan használjátok
(#) kiskacsa2009 hozzászólása Márc 12, 2009 /
 
Még valami:
Visszaolvasgattam, de nem nagyon leltem rá a "legegyszerűbb programnyelvre", ezért lécci osszátok meg váleméneiteket.
Köszi előre is
(#) potyo válasza kiskacsa2009 hozzászólására (») Márc 12, 2009 /
 
Ez már "néhányszor" szóba került itt, és jobb lenne, ha inkább végigolvasnád a témát ezügyben. Tudom, hogy sok, de vedd úgy, hogy ez csak egy töredéke annak, amit tudni kell ahhoz, hogy komolyan foglalkozhass kontrolleres áramkörépítéssel.
(#) icserny válasza kiskacsa2009 hozzászólására (») Márc 12, 2009 /
 
Idézet:
„Visszaolvasgattam, de nem nagyon leltem rá a "legegyszerűbb programnyelvre"”


A legegyszerűbb programnyelv a gépi kód: csak egyesek meg nullák vannak benne. :yes: A legbutább processzor is megérti. Na, erről ennyit, kár lenne több szót vesztegetni rá!
(#) watt válasza kiskacsa2009 hozzászólására (») Márc 12, 2009 /
 
Ezt annyiban egészíteném ki, hogy a paneltervedhez kell egy olyan tápegység, ami 5 és 12V stabil feszültséget ad, ki-be kapcsolhatóan.

Még meg szeretném jegyezni, hogy ez annyira halál egyszerű áramkör, hogy szándékosan nem terveztem neki nyákot, és nem azért mert nem lett volna kb. 200 ötletem a kivitelekre. Az alkotás örömét meghagytam az elkészítőknek és ezt javaslom ezután is, mert mindenki másképp oldhatja meg a dolgot, különböző méretű alkatrészekkel. Szerintem nem is kell neki nyák, de erről említést tettem a cikkben is.

Ezt a tervet letesztelted, és jól működik?
(#) szilva válasza icserny hozzászólására (») Márc 12, 2009 /
 
Hehe, PIC-re nem vállalkoznék, de a Z80-at még lehet, hogy ma is tudnám írni/olvasni gépi kódban. Valamikor még a 6502 is ment valamennyire ilyen szinten.
(#) trudnai válasza szigetivan hozzászólására (») Márc 13, 2009 /
 
Idézet:
„amúgy kinulláztam, ahogy írtad, de a probléma nem oldódott meg, még mindig nem fordul le a program.”


Jaa, hogy nem is fordul - valamiert azt hittem csak nem akarja az igazsagot... Es m a hibauzenet? Ha lehet kerlek masold be pontosan amiket kiir.
(#) trudnai válasza szilva hozzászólására (») Márc 13, 2009 /
 
Idézet:
„Hehe, PIC-re nem vállalkoznék, de a Z80-at még lehet, hogy ma is tudnám írni/olvasni gépi kódban. Valamikor még a 6502 is ment valamennyire ilyen szinten.”


Anno en is 6502-ztem eleg sokat, az Apple II-nek csak egy un. monitor programja volt amivel gepi kodban lehetett bevinni a programokat de volt egy disassemblerje amivel le lehetett csekkolni hogy minden okes-e. Allitolag maga Stephen Wozniak is ebben fejlesztette az elso Basic-et, nem tudom mi igaz belole. Az x86-os architekturaval lenyegesen tobbet foglalkoztam es jopar utasitasnak nagyjabol tudoom a gepi kodjat de mivel azota elkenyelmesedett a vilag nem mondanam kepes lennek hexaban beutni egy kisebb program kodjat - talan nehany dolgot felismernek a hex-bol de magamtol a fene fog szenvedni
(#) kiskacsa2009 válasza watt hozzászólására (») Márc 13, 2009 /
 
az áramellátás ne okozzon gondot, mert ott van a sz.gép tápja. ahogy mondtad,
Idézet:
a két 270ohm-os ellenállás korlátozza a vonalakon folyó áramot 25mA-nél kisebbre
tehát a tápnak meg se kottyan.
Elmondom, hogy a "billentyűzet kivilágítás" is onnan megy - saját találmány -, és az nem két led!
a tesztre meg meg kell várnom a jövőhetet(esetleg ma), mert akkor selejteznek a sulimban, és megengedték nekem, hogy az összes cuccot elvigyem (ennyivel tartoznak az 30000 Ft-os weblapért ha beleszámítjuk hogy hány KÉSZ verzióra mondtam nemet, akkor van vagy 80000-is. Asulim weblapja, ha valaki meg akarná nézni. Annyit még elmondok, hogy sikerült nagyon ügyesen elrontaniuk )
(#) SzervízMacska válasza kiskacsa2009 hozzászólására (») Márc 13, 2009 /
 
Érdekelt volna ez a weblap, de olyan jól sikerülhetett, hogy már híre-hamva sincs. Még a barátom, Google sem találja...
(#) icserny válasza SzervízMacska hozzászólására (») Márc 13, 2009 /
 
Itt nézd meg: kevesuli.ujbuda.hu.

(Sejtettem, hogy a "kee" elírás, így csak annyit írtam Gugli barátodnak, hogy suli.ujbuda.hu, s rögötön megmutatta... Ezt a módszert érdemes máskor is követni!)
(#) trudnai válasza kiskacsa2009 hozzászólására (») Márc 13, 2009 /
 
Par helyen 90 foknal kisebb szogek vannak a vezetekeknel. ar a 90 fok is hatar eset es ha lehet kerulni kell. Amugy is a vezetekeket celszeru minel kisebbre venni es ha lehet egy solid fold kitold=test csinalni ami egyreszt csokkenti az EMI-t masreszt sporol a marato folyadekkal. A beultetesi rajzon pedig hianyoznak az alktresz feliratok.

Amugy azok a 270 ohmos ellenallasok a pic port vedelmere vannak, igy nem tudom ertelmezni azt "a tap siman birja" kijelentesed.
(#) icserny válasza trudnai hozzászólására (») Márc 13, 2009 /
 
Én úgy értettem Kiskacsa hozzászólását, hogy az áramkorlátozásból próbált következtetni a maximális áramigényre, aminél biztosan nem kell több.
(#) trudnai válasza icserny hozzászólására (») Márc 13, 2009 /
 
Idézet:
„Én úgy értettem Kiskacsa hozzászólását, hogy az áramkorlátozásból próbált következtetni a maximális áramigényre, aminél biztosan nem kell több.”


Ertem, de hat nyilvan nem ettol fugg a dolog. ICSP ugye azt jelenti In Circuit Serial Programming, tehat a PIC egy aramkorben csucsul, igy az ossz aramfelvetel erosen fog fuggeni ettol az aramkortol - altalaban a PIC-nek joval kevesebb az aramfelvetele mint a kapcsolod egyeb alkatreszeknek.

Na mindegy, egy PC tap eseten inkabb attol tartanek nincs megfelelo terheles az 5V agon igy a visszacsatolas sem megfelelo, es ettol nemcsak az 5V hanem a 12V ag is elmaszhat. A Szilva fele PicSold-hoz hasznalt PC tapomban pl ha jol emlekszem 2A muterhelest raktam be amivel vegre stabilla valt a tap.
Következő: »»   430 / 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