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   1191 / 1210
(#) ssdroon30 hozzászólása Ápr 16, 2023 /
 
Sziasztok!

Volt a fiókomban egy sosem használt picf508-as pic-em.
Gondoltam felhasználom egy projektben.
Letöltöttem az adatlapját, és keresem benne, hogy hogyan lehet a Timer0-t indítani, illetve leállítani.
Egyébként xc8 fordítót és MPLABX-et használok.
Belső oszcillátort használok a config biteknél ez be is lett állítva.
Az OPTION, az OSCCAL regiszterek jól lettek beállítva, de nem érek vele semmit, ha a timer0-t nem tudom indítani.
A válaszotokat előre is köszönöm!

ssdroon30
(#) kissi válasza ssdroon30 hozzászólására (») Ápr 16, 2023 /
 
Szia!

Úgy látom nincs leállító/engedélyező bitje, annyit tehetsz, ha a léptetés a belső órajelre történik, hogy a léptetést a megállítás idejére a külső léptető lábra (T0CKI <-> GP2) teszed (belső órajel beállításnál egyébként folyamatosan működik!)!
Az is megoldás lehet (feladattól függ), hogy a PIC állít elő magának külső órajelet egy másik láb segítségével megszakításból, amit már tudsz ki-bekapcsolgatni.
A hozzászólás módosítva: Ápr 16, 2023

TMR0.JPG
    
(#) kuner hozzászólása Máj 17, 2023 /
 
Sziasztok. Olyanban kérném segítségeteket, hogy pl16f877 ( mert az van itthon vagy 8db) alkalmas 12 bemenet és 12 kimenet vezérlésére? Adott bemenet kap impulzust, akkor a hozzárendelt kimenet aktív, ismételt impulzusra a kimenet inaktívvá válik. Magyarán szólva impulzus kapcsoló. Ebből beleintegrálni 12db-ot. Lehetséges lenne? Kialakítható ennyi kimenet, bemenet ennél a típusnál? Valamint lenne aki tudna segíteni a program megírásában is? Köszönöm!
(#) benjami válasza kuner hozzászólására (») Máj 17, 2023 /
 
A lábszám az elegendő. Ezen kívül, ha definiálod azt, hogy mit értesz impulzus alatt (mondjuk hány millisec vagy mikrosec, pozitív vagy negatív, milyen időközönként), meg azt hogy mit értesz az alatt hogy a kimenet inaktívvá válik, akkor normálisabb választ is kaphatsz.
(#) kuner válasza benjami hozzászólására (») Máj 17, 2023 /
 
Impulzus alatt értem, hogy adott bemeneti lábat földre húzom kb 100ms - ra. Felhúzó ellenállás minden bemeneti lábon.
Ha másodpercenként tudja fogadni, az nekem már elég.

Bemeneti impulzus hatására földre kerül a kimenet, ott is tartja, míg nem kap ismételten impulzust .

Magyarán : megnyomod a gombot, világít az izzó, megint megnyomod, elalszik az izzó...
(#) Kera_Will válasza kuner hozzászólására (») Máj 17, 2023 / 1
 
Idézet:
„Magyarán : megnyomod a gombot, világít az izzó, megint megnyomod, elalszik az izzó...

Erre minek uC használni ?!
De most tényleg ?!
Ez 1 db kapcsoló és vezeték az izzó között + tápfesz esetleg teljesítmény kapcsoló áramköri elem.
(#) Kera_Will válasza Kera_Will hozzászólására (») Máj 17, 2023 /
 
Na jó D-tároló vagy J-K tároló ugyan ezt tudja
(#) kaqkk válasza kuner hozzászólására (») Máj 17, 2023 /
 
Megoldható a dolog , csináltam már hasonlót . Ha a nyákot megtervezed legyártod-legyártatod a programot megírom . Beszéljünk privátban
(#) benjami válasza kuner hozzászólására (») Máj 17, 2023 /
 
A 100msec egy kontrollernek nagyon hosszú idő, ennyi idő alatt rengeteg dolgot képes megcsinálni. Ha ez egy sima kézzel nyomkodható nyomógomb, akkor persze simán megoldható a feladat annyi be és kimenetig amíg a lábakból kifutja. Viszont a nyomógomb egy lenyomásra nem egyetlen impulzust fog adni, hanem sokat, mivel peregni fog. Ezért a nyomógombokat úgy célszerű beolvasni, hogy 30-50msec sűrűséggel olvassuk be (mintavételezzük) a gombok állapotát és összehasonlítjuk az előző "mintavétel" eredményével. Ebből már könnyedén eldönthető, hogy az adott gombot épp lenyomtuk, vagy épp felengedtük. Ezután már csak az adott kimenetet kell negálni, ha a hozzá tartozó gombot éppen felengedtük.
(#) benjami válasza Kera_Will hozzászólására (») Máj 17, 2023 /
 
Azért ha ezt 12 bemenetre és 12 kimenetre akarod megcsinálni tárolókkal elég rendes alkatrésztemető lesz belőle, főleg, hogy még a pergésmentesítést is kondival kell megoldani.
(#) kuner válasza benjami hozzászólására (») Máj 18, 2023 /
 
Reflexiós közelítésérzékelő fogja adni az impulzust. Itt ezáltal nem kell majd pergésmentesítés. Ez már meg van oldva az eszközben.
(#) PDM hozzászólása Máj 28, 2023 /
 
A múlt évezred végén a picmaster/mplab3.xxx és egy exel táblázat között volt kuplung.
Pl. az emulátort futtatva az adc eredményét be lehetett tölteni a táblázatba és onnan grafikont csinálva mondjuk egy LED karakterisztikáját ki lehetett rajzolni.
Van ilyen kuplung manapság az icd3, pikit4 mplabx korszakban? Esetleg az ice2000?

Hátha tud valaki határozott igent vagy nemet mondani.
Kösz. a választ elóre is.
(#) gyurma888 hozzászólása Jún 18, 2023 /
 
Sziasztok!
Vannak újabb generációs PIC-ek, például a PIC18F16Q40. Van egy PICKIT 3-am, azonban ez sajnos ezt a kontrollert már nem tudja kezelni. Szeretném megkérdezni, hogy van-e esetleg valami trükk arra, hogy mégis együttműködjön a PK3 ezzel a kontrollerrel (és az MPLAB X-szel), illetve ha nincs akkor kérdezném, hogy ti ma milyen korszerű PIC programozókat használtok az újabb generációs kontrollerekhez? Láttam például ezt az MPLAB SNAP-ot, de nem nagyon látok belőle raktáron sehol. Vagy a PK4 a jó megoldás? Esetleg annál olcsóbb nincs?
Mit ajánlanátok ha új PIC kontrollerekkel szeretnék foglalkozni a legolcsóbban?
Meg ez már kicsit OFF, de ipari szinten hogy látjátok a PIC-ek helyzetét az utóbbi időben (mondjuk 10 évben)? Nőtt a piacuk, vagy inkább csökkent? Van itt valaki aki erre rálát akár a munkahelyén?
A hozzászólás módosítva: Jún 18, 2023
(#) Bakman válasza gyurma888 hozzászólására (») Jún 19, 2023 / 7
 
Itt: PICkit- software suite. MPLAB X (XC8) elkészíti a hex fált, a linkelt program segítségével pedig a PIC-be töltöd. Ebben a formában közvetlen nem tudod programozni a kontrollert MPLAB X-ből, de jelenleg ez a legolcsóbb megoldás meglévő PICkit 2 és/vagy 3 mellé.

Ha most akarsz programozót venni, csakis PICKit 5, azzal évekig nem lesz támogatási kérdés.

XC8 a legolcsóbb megoldás, ingyen is fordít, igaz, nem olyan hatékonyan mint a fizetős verzió, de ez az éppen említett PIC18F16Q40 esetén nem okoz nagy gondot, 64k programmemória kb. mindenre elég.
(#) gyurma888 válasza Bakman hozzászólására (») Jún 19, 2023 /
 
Nagyon jó, köszönöm! Ezt a programot használtam már, csak nem tudtam, hogy valaki továbbfejlesztette és így most támogatja a 18F16Qxx sorozatot. A GUI amúgy ha jól tudom akkor egy nyílt forráskódú .NET projekt. Esetleg nem tudtok egy linket, hogy ez hol érhető el? A konzolosat megtaláltam, de a GUI-sat nem.
(#) pipi válasza Bakman hozzászólására (») Jún 19, 2023 /
 
Ez a pickit progi jóóó, nyomnék 2 mancsot is érte
nálam már rég valamiért megmakkant/el se indult a pk2 gyári programja, ez a "szuper fusi" verzió működni látszik
Jópofa hogy pk2 és pk3-at is kezel
(#) Bakman válasza gyurma888 hozzászólására (») Jún 19, 2023 / 1
 
Kicsit lejjebb görgetsz, ott a link is.
(#) Bakman válasza pipi hozzászólására (») Jún 19, 2023 /
 
Én csak azután találtam rá, miután megvettem a PICKit 4-et. Igazábol nem bántam meg, csak spóroltam volna pár forintot.
(#) gyurma888 válasza Bakman hozzászólására (») Jún 20, 2023 /
 
És tényleg, köszönöm!
(#) glaci hozzászólása Júl 3, 2023 /
 
Sziasztok!
Nem ír ki a pic16f628a az LCD-re semmit. Nyilván elrontottam valamit, de nem tudok rájönni, hogy mit.
Kérem a segítségeteket!

  1. // LCD module connections
  2. sbit LCD_RS at RA7_bit;
  3. sbit LCD_EN at RA6_bit;
  4. sbit LCD_D4 at RB7_bit;
  5. sbit LCD_D5 at RB6_bit;
  6. sbit LCD_D6 at RB5_bit;
  7. sbit LCD_D7 at RB4_bit;
  8.  
  9. sbit LCD_RS_Direction at TRISA7_bit;
  10. sbit LCD_EN_Direction at TRISA6_bit;
  11. sbit LCD_D4_Direction at TRISB7_bit;
  12. sbit LCD_D5_Direction at TRISB6_bit;
  13. sbit LCD_D6_Direction at TRISB5_bit;
  14. sbit LCD_D7_Direction at TRISB4_bit;
  15. // End LCD module connections
  16.  
  17. void main()
  18.  {
  19.  
  20.  
  21.    TRISA=0x01111100;
  22.    TRISB=0x00000000;
  23.   Lcd_Init();                        // Initialize LCD
  24.   Lcd_Cmd(_LCD_CLEAR);               // Clear display
  25.   Lcd_Cmd(_LCD_CURSOR_OFF);  
  26.  
  27.    Lcd_Out_Program_Memory(1,1,szo9);     Lcd_Out_Program_Memory(2,1,szo10);
  28. }
(#) Elektro.on válasza glaci hozzászólására (») Júl 3, 2023 /
 
Szia!
Mit takar a 27 -es sorban a "szo9" és a "szo10" változó?
Nem látom hol kap tartalmat.
A hozzászólás módosítva: Júl 3, 2023
(#) glaci válasza Elektro.on hozzászólására (») Júl 3, 2023 /
 
Ez nem lenne lényeges, de kap

  1. const char  szo9[]=" Ho:  . C Kelt.nap:   n";
  2. const char szo10[]=" Pa:  . % Forg.:     sec";
  3.  
  4. void Lcd_Out_Program_Memory(char row, char column, const char * src)  //szöveg írása lcd-re memória használat nélkül
  5. {
  6.     if (*src)
  7.     {
  8.          Lcd_Chr(row, column, *src++);
  9.          while(*src)
  10.          {
  11.               Lcd_Chr_Cp(*src++);
  12.          }
  13.     }
  14. }
(#) Bakman válasza glaci hozzászólására (») Júl 3, 2023 /
 
A program kezdődjön valamennyi késletetéssel, a kijelzőnek kell némi idő, mire magához tér. 100 ms bőven elég.
(#) glaci válasza Bakman hozzászólására (») Júl 3, 2023 /
 
  1. // LCD module connections
  2. sbit LCD_RS at RA7_bit;
  3. sbit LCD_EN at RA6_bit;
  4. sbit LCD_D4 at RB7_bit;
  5. sbit LCD_D5 at RB6_bit;
  6. sbit LCD_D6 at RB5_bit;
  7. sbit LCD_D7 at RB4_bit;
  8.  
  9. sbit LCD_RS_Direction at TRISA7_bit;
  10. sbit LCD_EN_Direction at TRISA6_bit;
  11. sbit LCD_D4_Direction at TRISB7_bit;
  12. sbit LCD_D5_Direction at TRISB6_bit;
  13. sbit LCD_D6_Direction at TRISB5_bit;
  14. sbit LCD_D7_Direction at TRISB4_bit;
  15. // End LCD module connections
  16.  
  17. void main()
  18.  {
  19.  
  20.  
  21.    TRISA=0x01111100;
  22.    TRISB=0x00000000;
  23.   Lcd_Init();                        // Initialize LCD
  24.   Lcd_Cmd(_LCD_CLEAR);               // Clear display
  25.   Lcd_Cmd(_LCD_CURSOR_OFF);  
  26.    Delay_ms(100);
  27.    Lcd_Out_Program_Memory(1,1,szo9);     Lcd_Out_Program_Memory(2,1,szo10);
  28. }


nincs változás
(#) Bakman válasza glaci hozzászólására (») Júl 3, 2023 /
 
Így:
  1. void main()
  2. {
  3. Delay_ms(100);
  4. TRISA=0x01111100;
  5. TRISB=0x00000000;
  6. Lcd_Init();                        // Initialize LCD
  7. Lcd_Cmd(_LCD_CLEAR);               // Clear display
  8. Lcd_Cmd(_LCD_CURSOR_OFF);  
  9. Lcd_Out_Program_Memory(1,1,szo9);     Lcd_Out_Program_Memory(2,1,szo10);
  10. }
(#) Taki33 válasza glaci hozzászólására (») Júl 3, 2023 /
 
A kontrasztot beállítottad?
(#) pipi válasza glaci hozzászólására (») Júl 3, 2023 /
 
A6 input?
RW hová van kötve?
A hozzászólás módosítva: Júl 3, 2023
(#) glaci válasza Bakman hozzászólására (») Júl 3, 2023 /
 
Válasz mindenkinek aki segíteni próbált: bár többször ellenőriztem, egy forrasztás, történetesen az RS kivezetés nem érintkezett, vagyis nem volt kontakt a piccel. Javítva MŰKÖDIK!

Köszönöm szépen a segítséget!
A hozzászólás módosítva: Júl 3, 2023
(#) bitmixer hozzászólása Júl 7, 2023 /
 
Sziasztok!
Nem találok infot arról, hogy mit lépnek a 8 bites PIC-ek ADC konverterei az alul- illetve túlcsordulásra. Például a 12F683-nál mi történik, ha Uref=Uss mellett 10-20-30 mV-tal többet kap a bemenetén. A védődióda még messze van a megszólalástól, de mi lesz az eredmény az ADRES-ben?
Kösz, üdv!
(#) kissi válasza bitmixer hozzászólására (») Júl 7, 2023 /
 
Szia

Ha több, akkor max. kód, ha kevesebb, akkor nulla.
Következő: »»   1191 / 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