Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   863 / 1210
(#) Hp41C válasza don_peter hozzászólására (») Okt 14, 2016 /
 
De az OE minden memóriához elmegy... Csak akkor kellene bekapcsolni az adat szintillesztőt, ha a külső EEPRom aktív (CS) és az OE is aktív. Lehet, hogy ide egy vagy kaput is be kell építeni...
(#) don_peter válasza Hp41C hozzászólására (») Okt 14, 2016 /
 
Van itt egy ilyen kép..
Ez is egy ilyen megoldás..
Mi az az 5ábú kis valami A20 felett?

0.jpg
    
(#) ktamas66 válasza don_peter hozzászólására (») Okt 14, 2016 /
 
Könnyen lehet, hogy az kódolja ki a címből a memória CS jelet, és a szintillesztőnek is csak akkor kell aktívnak lennie, ha a memória ki van választva.
(#) nedudgi válasza don_peter hozzászólására (») Okt 14, 2016 /
 
Nem látom jó a jelölést, de a C4 sok mindent jelenthet.
(#) don_peter válasza nedudgi hozzászólására (») Okt 14, 2016 /
 
C405 talán..
Itt egy jobb kép: Bővebben: Link
(#) Zsora válasza don_peter hozzászólására (») Okt 14, 2016 /
 
Hp41C-nek teljesen igaza van. A 3. szintillesztő akkor lehet csak aktív, amikor a Flash ROM van kiválasztva (/CE) és olvasás van (/OE).

1/OE, 2/OE = /CE OR /OE

Továbbá; amikor a PIC32 fér a Flash ROM-hoz, akkor az 1. és 2. szintillesztő tiltva van, tehát a 3,3V-os oldalon kijövő /CE és /OE jelek nem tudják a 3. szintillesztőt vezérelni. Ezért kellene egy gyenge felhúzó ellenállás ezekre a vonalakra, hogy a 3. szintillesztő tiltva legyen ilyenkor. Vagy az 5V-os oldal jeleit használod.
A hozzászólás módosítva: Okt 14, 2016
(#) don_peter válasza Zsora hozzászólására (») Okt 14, 2016 /
 
De ezt már megcsináltuk.
Korábban átkötöttem már, ha 68K OE aktív akkor lesz 3. szintillesztő is aktív, addig tétlen vagy is nagy impedanciás.

A címbiteket tároló szintillesztők pedig folyamatosan aktívak..
Most nincs PIC így azzal a része egyelőre nem foglalkozok, majd ha működik már önmagában..
(#) Zsora válasza don_peter hozzászólására (») Okt 14, 2016 /
 
A /CE jel választja ki a Flash ROM-ot, az /OE pedig az olvasáshoz engedélyezi a kimeneteket. Ez utóbbi elvileg minden RAM és ROM IC-re rá van kötve, így önmagában nem használható az adatbusz kapcsolására.

Gondolkozz rendszer szinten! Az MC68000-hez RAM, IO és talán belső ROM is kapcsolódik. Tehát úgy kell újabb eszközöket csatlakoztatni hozzá kívülről, hogy az azok közötti kommunikációt ne zavarjuk meg.
A hozzászólás módosítva: Okt 14, 2016
(#) don_peter válasza Zsora hozzászólására (») Okt 14, 2016 /
 
Az a baj, hogy önmagában a CE nem elég, mert ha mondjuk 68K CE aktív vagy is kiválassza a memóriát, még nem biztos, hogy olvasni akar, lehet csak írni, na de ameddig írja a címbitet addig az adatbuszon lévő szintillesztőt továbbra is magas impedanciában kellene tartani nem?
És amikor CE és OE egyszerre aktív, akkor kellene engedélyezni adat szintillesztőt..

ui: ha csak nem úgy dolgozik a 68K, hogy előbb címbitekre kiteszi a címet majd engedélyezi a memóriát és utána egyből a memória kimenetet. Bár ezt nem hiszem..

Idézet:
„Gondolkozz rendszer szinten! Az MC68000-hez RAM, IO és talán belső ROM is kapcsolódik. Tehát úgy kell újabb eszközöket csatlakoztatni hozzá kívülről, hogy az azok közötti kommunikációt ne zavarjuk meg.”

Igen ez fontos lenne..
A hozzászólás módosítva: Okt 14, 2016
(#) Zsora válasza don_peter hozzászólására (») Okt 14, 2016 /
 
Igen.
A régi kártyádon - ahol csak Flash ROM volt - ott teljesült a feltétel, mert a logikai vezérlést maga a Flash elvégezte. De itt ezt most neked kell.
A hozzászólás módosítva: Okt 14, 2016
(#) don_peter válasza Zsora hozzászólására (») Okt 14, 2016 /
 
Úgy látom, hogy ide, akkor kell egy 74HC08-as logikai AND IC, vagy valami hasonló.
A régi kártyámon közvetlen kapcsolat volt a memória a 68K közt..
Itt a szintillesztés kicsit bonyolítja a dolgot..
A hozzászólás módosítva: Okt 14, 2016
(#) Zsora válasza don_peter hozzászólására (») Okt 14, 2016 /
 
Logikai vagy kapcsolat kell a negatív logika miatt.
Azon a fekete kártyán a C405 jelölésű IC egy SN74LVC1G240 invertáló meghajtó, és úgy néz ki hogy a szintillesztő DIR bemenetét vezérli.

Itt lehet jelölés alapján keresni:
http://www.ti.com/packaging/docs/partlookup.tsp
A hozzászólás módosítva: Okt 14, 2016
(#) pajti2 válasza Zsora hozzászólására (») Okt 15, 2016 /
 
Kicsit általánosabb fogalmat használva címdekódernek hívják azt a logikai alkotóelemet, amit rá kellene illeszteni a 68k adatbuszra, és azzal kapuzni az oe jeleket a buszon lévő szinkron vezérlő jelekkel együtt, és ami hiányzik a móricka kapcsolási rajzról is - elvi hibás az eszköz.
(#) kriszrap hozzászólása Okt 15, 2016 /
 
Sziasztok
Kérlek segítsetek mert már szétvet az ideg )
Elöbb a köd
  1. void alap()
  2. {
  3.  
  4.     OSCCON.IRCF0=1;///Internal Oscillator Frequency Select bits, 16MHz
  5.     OSCCON.IRCF1=1;
  6.     OSCCON.IRCF2=1;
  7.     OSCTUNE.PLLEN=1; // 4x PLL
  8.    
  9.     TRISA = 0;
  10.     TRISB = 0;
  11.     TRISC = 0;
  12.     TRISD = 0;
  13.     TRISE = 0;
  14.  
  15.     LATA = 0;
  16.     LATB = 0;
  17.     LATC = 0;
  18.     LATD = 0;
  19.     LATE = 0;
  20. }
  21.  
  22.  if(PORTE.RE1 ==1)
  23.     {
  24.          switch(jatek)
  25.          {
  26.          case 1:jatek1();break;
  27.          case 2:jatek2();break;
  28.          case 3:jatek3();break;
  29.          //case 4:jatekVU();break;
  30.          default:jatek=1;
  31.          }
  32.     }


Annyi a problémám egyszerüen nem akarja elinditani az animációt .
A gpomb kapcsolás mellékelve
Kérem segítsetek

Shot_425.jpg
    
(#) eSDi válasza kriszrap hozzászólására (») Okt 15, 2016 /
 
Üdv!

Nincs egy szál bemeneted sem.

  1. TRISA = 0;
  2. TRISB = 0;
  3. TRISC = 0;
  4. TRISD = 0;
  5. TRISE = 0;
(#) kriszrap válasza eSDi hozzászólására (») Okt 15, 2016 /
 
TRISA = 0;
TRISB = 0;
TRISC = 0;
TRISD = 0;
TRISE = 0;

TRISE.RE1=1; igy jó???
ADC ne kapcsoljam ki a lábon??
A hozzászólás módosítva: Okt 15, 2016
(#) don_peter válasza Zsora hozzászólására (») Okt 15, 2016 /
 
Jaja, igen, negatív logika kell.
Van itthon 74LVC86-om, jó lehet erre a célra?
A hozzászólás módosítva: Okt 15, 2016
(#) eSDi válasza kriszrap hozzászólására (») Okt 15, 2016 /
 
A legegyszerűbben így:

TRISE = 0b00000010

Kezdőként így binárisan látod a leg szemléletesebben, hogy a port melyik lábát állítottad bemenetre.
A 0b utáni első bit a port 7. bitje, a másik végén pedig a 0.-at találod. Amelyik 1, az bemenetre van állítva. Elég egyszer megadni ezt az elején és felesleges nullázni. Akkor kell többször megadni a TRIS-t, ha direkt ez a cél, mert a program futása közben kimenetté kell kapcsolni.

Igen, az analóg részt ki kell kapcsolnod.
A hozzászólás módosítva: Okt 15, 2016
(#) kriszrap válasza kriszrap hozzászólására (») Okt 15, 2016 /
 
meg annyit hogy az ellenállás és a nyomogomb felcseréltem csak a kapcsoláson nem modositottam
Beállitottam igy :
TRISE = 0b00000011; de semmi((
Digitet hogy offolom mikroC?
A hozzászólás módosítva: Okt 15, 2016
(#) Zsora válasza don_peter hozzászólására (») Okt 15, 2016 /
 
Nem annyira, mivel neked MEGENGEDŐ VAGY kapcsolat kell, ez meg KIZÁRÓ VAGY.
(Az elsőnél a kimenet akkor 1, ha bármelyik bemenete 1. A másodiknál meg csak akkor 1 a kimenet, ha csak az egyik bemenet 1, vagyis a két bemenet különböző.)

Negatív logikával:
1.: A kimenet akkor 0, ha mindkét bemenet 0. (/Y = /A * /B)
2.: A kimenet akkor 0, ha a bemenetek azonosak. (/Y = A * B + /A * /B)
A hozzászólás módosítva: Okt 15, 2016
(#) don_peter válasza Zsora hozzászólására (») Okt 15, 2016 /
 
Igen közben szimulátorban futtattam a dolgot, és a 74HC32, 74LS32 lesz a jó. Legalább is szerintem..
Azért ezek, mert ezek vannak itthon..
A hozzászólás módosítva: Okt 15, 2016
(#) Zsora válasza don_peter hozzászólására (») Okt 15, 2016 /
 
Az 5V-os oldalon kapuzd össze a /CE és /OE jelet és azzal vezéreld a szintillesztőt. A vezérlőbemenetei bírják az 5V-ot.
(#) kriszrap hozzászólása Okt 15, 2016 /
 
Kikapcsoltam a analogot igy :
  1. TRISA = 0;
  2.     TRISB = 0;
  3.     TRISC = 0;
  4.     TRISD = 0;
  5.     TRISE = 0b00000011;
  6.  
  7.     LATA = 0;
  8.     LATB = 0;
  9.     LATC = 0;
  10.     LATD = 0;
  11.     LATE = 0;
  12.     ANSELE.ANSE1 = 1;
  13.     ANSELE.ANSE2 = 1;

semmit Ötlet?
(#) don_peter válasza kriszrap hozzászólására (») Okt 15, 2016 /
 
Milyen PIC-el kísérletezel?
Összes portot digitálisra kell állítanod.
MicroC-nek biztos van doksija, sajna én tudom.
De a PIC nem árt ha tudjuk..
(#) kriszrap válasza don_peter hozzászólására (») Okt 15, 2016 /
 
Pic18f46k22
Hát nagyon küzdök vele D Nem egy pic16f877
(#) don_peter válasza kriszrap hozzászólására (») Okt 15, 2016 /
 
Én C18-ban írtam, de hátha ki tudod hámozni.:
  1. ADCON0 = 0;             // ADC le van tiltva
  2.         ADCON1 = 0;
  3.         ADCON2 = 0;
  4.        
  5.         CM2CON1 = 0;
  6.         CM1CON0 = 0;
  7.         CM2CON0 = 0;
  8.        
  9.         ANSELA = 0;             // Digital ports
  10.         ANSELB = 0;
  11.         ANSELC = 0;
  12.         ANSELD = 0;
  13.         ANSELE = 0;
  14.        
  15.         CCP1CON = 0;    // Coperátorok és PWM kikapcsolva
  16.         CCP2CON = 0;
  17.         CCP3CON = 0;
  18.         CCP4CON = 0;
  19.         CCP5CON = 0;

Ez a PIC kényes az OSC beállításokra..
Maximum 64MHz-t lehet belőle kipréselni, PLL beállításokra is figyelni kell.
Azt hiszem erre alapból képes a MicroC.

Zsora: bekötöttem, ahogyan mondtad. Sajna nem működik, így sem..
68K CE és OE lábakat 5v-os oldalon bevezettem 74HC32D A-B pinekre, majd onnét az Y vagy is vezérlő jelet bevittem adatport szintillesztő OE lábába.
Sajnos továbbra sem tudja olvasni az adatot 68K.
A hozzászólás módosítva: Okt 15, 2016
(#) lastewer hozzászólása Okt 15, 2016 /
 
Sziasztok!


LD33V - stabilizátorral állítok elő 3.3V-ot (800 mA) . A be és kimenetein 100 nF -es kerámia kondik vannak .

Egy low drop táppal adok neki 5V-ot ( Ez 3 Amperig jó ) , de nem éled vele az enc vezérlőm. Lenne valakinek ötlete , hogy miért?

A fesz rendben van , áramot max 300mA - t vesz fel az enc.

Másik táppal működik minden.
A hozzászólás módosítva: Okt 15, 2016
(#) kriszrap válasza don_peter hozzászólására (») Okt 15, 2016 /
 
Es ha adc szeretnek hasznalni akkor hogy??? 0 az nem az enable???
A hozzászólás módosítva: Okt 15, 2016
(#) Zsora válasza lastewer hozzászólására (») Okt 15, 2016 /
 
Esetleg nem elég gyorsan fut fel a tápfesz, ezért nem működik megfelelően a PowerOnReset funkció. Késleltesd a /Reset jelet, tartsd addig alacsony állapotban, amíg a tápfeszek biztosan stabilizálódtak!
Az LM1117V33 kimenetére egyébként 10µF-ot javasol a doksi.
A hozzászólás módosítva: Okt 15, 2016
(#) lastewer válasza Zsora hozzászólására (») Okt 15, 2016 /
 
Ha a tápot üresen járatom , majd ráteszem az enc vezérlőt , akkor is ez a helyzet.
Következő: »»   863 / 1210
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