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   502 / 1216
(#) gaspar_zsolt válasza usane hozzászólására (») Márc 20, 2014 /
 
Általában a paneleken rajta van a tápegység. 470µF a stab előtt, 100nF a PIC miatt stab után.
(#) elektros90 hozzászólása Márc 20, 2014 /
 
Sziasztok!
Nem foglalkoztam pic-el sohasem. Most van egy panelem, amin lehet elszállt a pic, de nem vagyok biztos benne. Gondoltam összerakok próbapanelen egy JDM-et és megpróbálok "bekopogni" neki. Milyen progi kell hozzá? Ha esetleg rosz, akkor veszek egy pickitet is és belekóstolok majd a picológiába (is). Köszönöm!
(#) Hp41C válasza elektros90 hozzászólására (») Márc 20, 2014 /
 
Kerülendő a JDM (soros porti) programozó. Hacsak nincs egy régi PC -d a 1990 körölről..
(#) elektros90 válasza Hp41C hozzászólására (») Márc 20, 2014 /
 
Hát olyan pont nincs, csak kicsit ujabb ami már réginek számít. (Celeron, 256MB ram...)
No de mindegy, veszek egy másik pic-et, meg egy pickitet. Az ára viszonylag megfizethető és hosszabb távra van. A megszerezhető tudás meg amúgy is többet ér. De azért még várom a progi javaslatot.
A hozzászólás módosítva: Márc 20, 2014
(#) Hp41C válasza elektros90 hozzászólására (») Márc 20, 2014 /
 
Az a kérdés, hogy a soros port illesztője MAX232, GD75232 (töltéspumpás) vagy a régi jó MC1489 / 1488. Az utóbbival talán még menne is a JDM.
(#) elektros90 válasza Hp41C hozzászólására (») Márc 20, 2014 /
 
Az alaplap MSI PT880 Neo. Gondolom kapcsolási rajz nem lesz a neten. Majd holnap megnézem mit találok az alaplapon. Köszi addig is. Viszont ha ezekből nincs SMD változat akkor tuti nincs belőle. DIP tok nincs rajta.
A hozzászólás módosítva: Márc 20, 2014
(#) Hp41C válasza elektros90 hozzászólására (») Márc 21, 2014 /
 
Ha lenne benne egy ISA csatlakozó, akkor egy régi kártyával is menne. Egyébként néyd meg Watt honlapján a javasolt programozókat.
(#) elektros90 válasza Hp41C hozzászólására (») Márc 21, 2014 /
 
Nincs benne ilyen csatlakozó, de nem baj. Különben meg talán JDM-el 18F családot nem is nagyon lehet programozni. Legalább is nemláttam egy oldalon sem, mint kompatibilis tipust.
Vásárolok egy PICKITet, úgyis temérdek PIC-es project kering a neten, megbánni szerintem nem fogom. Ha mégis, akkor még eladhatom valakinek.
(#) knorbika hozzászólása Márc 21, 2014 /
 
Sziasztok!
Segítséget szeretnék kérni tőletek.
Egy USB-s PIC projektet készítek. Azt szeretném megoldani, hogy a mikrovezérlő küld egy karaktertömböt a PC-nek, és az megjelenítem a küldött karaktereket C# winform-on. A probléma az, hogy a program az első 2 karaktert hibásan jeleníti meg, téglalapot hoz helyettük. Szerintetek mi a hiba, mit kellene módosítani? Köszönöm a segítséget!
A megírt függvényem:
  1. void Kuld()
  2. {
  3.            
  4. char pelda[5];
  5. pelda[0]='1';
  6. pelda[1]='3';
  7. pelda[2]='5';
  8. pelda[3]='8';
  9. pelda[4]=0x00; // \n !
  10.  
  11. if(mUSBUSARTIsTxTrfReady())
  12. {      
  13.                 putsUSBUSART(pelda);
  14.  
  15.                
  16. }      
  17.        
  18. }
  19.  
  20. A C# programrészlet:
  21. private void button1_Click(object sender, EventArgs e)
  22.         {
  23.             try
  24.             {
  25.                 SerialPort sp = new SerialPort(listBox1.SelectedItem.ToString());
  26.                 sp.Open();
  27.                
  28.             if (sp.IsOpen == true)
  29.                 {
  30.                     textBox1.Text = listBox1.SelectedItem.ToString() + "Csatlakozva";
  31.                     char[] result = new char[5];
  32.                    
  33.                     for (int i = 0; i < result.Length; i++)
  34.                     {
  35.                         result[i] = (char)sp.ReadChar();
  36.                         listBox2.Items.Add(result[i]);
  37.                     }
  38.                  
  39.                
  40.                 }
  41.  
  42.             }

Használd a "Kód" gombot. Javítottam- moderátor
A hozzászólás módosítva: Márc 21, 2014
(#) eSDi válasza knorbika hozzászólására (») Márc 21, 2014 /
 
Üdv!

Tegyél fel egy virtuális soros port programot, azzal le tudod tesztelni, hogy a PC-s programod jó e. Mondjuk én az adat vételét megszakításként (DataReceived Event) kezelném le, mert ekkor biztosan azt olvasod ki ami éppen jött. Esetleg próbáld ki egyesével küldeni a karaktereket, nem pedig egy tömbben az egészet.
(#) Fiti hozzászólása Márc 22, 2014 /
 
Helló!
Egy PIC24-gyel szeretnék vezérelni egy rezgőszivattyút és jó megoldásnak tűnne a kettő közé valamilyen optoleválasztott sztr, de nem igazán tudom, hogy milyen, vagy mi alapján keressek. A szivattyú 48W, 230V, 50Hz-en megy, a PIC, pedig 3-3.6V és van induktív terhelés. Erre valaki tudna ajánlani pontos típust?
(#) ha6qt válasza knorbika hozzászólására (») Márc 22, 2014 /
 
Helyezz el a C# programban Breakpointot. Ekkor debuggoláskor ott áll meg, ahol a bk-t elhelyezted. Így ellenőrizheted könnyen a változó értékét. Ha ott krixkraksz van, valami rs-232 hiba lesz.
(#) danydosster hozzászólása Márc 23, 2014 /
 
Sziasztok!

Egy vasúti átjáró működését szeretném megoldani egy Pic12F657 segítségével. Azért ezzel mert ezt találtam itthon, utánanéztem, van megfelelő számú kivezetése, programozása szintén megoldható!
Abban szeretném a segítségetek kérni hogy úgy akarom megcsinálni, hogy mikor bekapcsolom a pik-et ugye villog szépen a fehér ( tehát az egyik lábat ki-be kapcsolgatja)
de mikor egy kapcsoló segítségével aktiválom az egyik lábát akkor átvált a két pirosra.
Tudja valaki hogy az aktiváló lábat fel kell húzni ellenállásra?? Vagy honnan tudnám én azt megtudni, hogy pontosan hogyan is kell az áramkört megcsinálni? Esetleg valaki tudna küldeni képet róla, hogy hogyan nézne ez ki egy kapcsolási rajzban.
(#) icserny válasza danydosster hozzászólására (») Márc 23, 2014 /
 
Az egyik leggyakrabban alkalmazott megoldás az, hogy a bemenetet egy 10 kOhmos ellenállással tápfeszültségre kötöd (alaphelyzet a magas szint, azaz logikai "1"). A kapcsoló (vagy nyomógomb pedig ugyanezt a bemenetet aktív állapotban földre zárja (alacsony szint, logikai "0"). A programot ennek megfelelő logikával (aktív állapot az alacsony szint).

A 10 kOhmos felhúzás helyett bizonyos portlábakon a belső felhúzást is lehet használni, ekkor az ellenállás megtakarítható.
(#) vicsys válasza danydosster hozzászólására (») Márc 24, 2014 /
 
Az nem véletlenül PIC12F675?
(#) vladcepes hozzászólása Márc 25, 2014 /
 
Sziasztok! Olyan kérdésem lenne hogy SMD Pic- hez van valami foglalat amibe bele lehetne csíptetni a felprogramozáshoz? Ha igen mi a neve? Mert olyat már csináltam hogy nyákon kivezettem a lábait aztán úgy összekapcsolva programoztam fel.
(#) Hp41C válasza vladcepes hozzászólására (») Márc 25, 2014 /
 
Kapható, de drága... Miért nem a 6 pólusú ICSP csatlakozást használod? Jóval olcsóbb lenne...
(#) Prendick válasza vladcepes hozzászólására (») Márc 25, 2014 /
 
Textool
Nem olcsó játék.
(#) vladcepes válasza Hp41C hozzászólására (») Márc 25, 2014 /
 
Az van nekem a 6 pólusú ICSP. Vagy valamit félreértek?
(#) ktamas66 válasza vladcepes hozzászólására (») Márc 25, 2014 /
 
Én ilyet használok (bár nem programozásra): SOP28 to DIP
(#) vladcepes válasza Prendick hozzászólására (») Márc 25, 2014 /
 
Huh ez tényleg nem olcsó, jobban járok ha otthon gyártok egyet. (homemade)
(#) Hp41C válasza vladcepes hozzászólására (») Márc 25, 2014 /
 
A programozandó kontrollert beforrasztod a paneljába, amin rajta van a 6 pólusú ICSP csatlakozó is. Arra csatlakoztatod a PICkit -et közvetlenül.
(#) vladcepes válasza Hp41C hozzászólására (») Márc 25, 2014 /
 
Értem. Köszönöm!
(#) Bari- válasza vladcepes hozzászólására (») Márc 25, 2014 /
 
Szia

Én készítettem panelt amire iratcsipesszel felrögzítve dugdosós próbapanelhoz használható lesz az smd pic is, mióta megvan kb másfél éve többször használtam már gond nélkül. Jelenleg is így van fejlesztés alatt egy 16f1938-as pic a próbapanelba bedugva.

Bari
(#) vladcepes válasza Bari- hozzászólására (») Márc 26, 2014 /
 
Szia!
Köszönöm,szuper na ilyet csinálok én is .Üdv!
(#) KaiserA hozzászólása Márc 26, 2014 /
 
Sziasztok!

Van egy PIC18F4550 tipusu mikrocontollerem és beforrasztottam egy MCP9808 -as hőméesékletszenzort.
És nem vagyok valami jártas az i2c-ben, ccs fordítom van.
Valaki tudna segíteni, hogy tudom kiolvassni és kiiratni az lcd-re a hőmérsékletet.
jelenleg az alsó és a felső sorba is azt iírja ki , hogy: ertek: 255
  1. void main()
  2.                 {
  3.                 init();
  4.                
  5.                 while(1)
  6.                         {      
  7.                         i2c_start();
  8. //                      delay_ms(50);
  9.                         i2c_write(SLAVE_ADDRESS);
  10. //                      delay_ms(50);
  11.                         i2c_write(0x01);
  12.                         i2c_start();
  13.                         i2c_write(0x05 | 0xFE);
  14.                         fogadottadat=i2c_read(0);
  15.                         fogadottadat2=i2c_read(1);
  16.                         i2c_stop();
  17.                 *
  18.                         lcd_putc("\f");
  19.                         sprintf(felsosor,"ertek: %lu" ,fogadottadat);
  20.                         sprintf(alsosor,"ertek: %lu" ,fogadottadat2);
  21.  
  22.  
  23.                                                                         a=0;                                                                           
  24.                                                                         while(a<=16)                                                   
  25.                                                                                 {
  26.                                                                                 lcd_putc(felsosor[a]);                         
  27.                                                                                 a++;                                                           
  28.                                                                                 }
  29.                        
  30.                         lcd_putc("\n");
  31.                                                                         a=0;                                                                           
  32.                                                                         while(a<=16)                                                   
  33.                                                                                 {
  34.                                                                                 lcd_putc(alsosor[a]);                                  
  35.                                                                                 a++;                                                                   
  36.                                                                                 }
  37.                        
  38.                 delay_ms(50);
  39.  
  40.         }
  41. }


Köszönöm!!!

Használ légyszi a "Kód" gombot! --moderátor
A hozzászólás módosítva: Márc 26, 2014
(#) n_yálastrubadúr hozzászólása Márc 26, 2014 /
 
Sziasztok!
Hi-tech c ben kellene egy olyan megoldás ami tömböket kezel. De a tömbben változók vannak. Ne kelljen végig if'-elni az összes lehetőséget. Köszi!
(#) Hp41C válasza KaiserA hozzászólására (») Márc 26, 2014 /
 
  1. SLAVE_ADDRESS = 0x30;
  2.                         i2c_start();
  3.                         i2c_write(SLAVE_ADDRESS);
  4.                         i2c_write(0x05);
  5.                         i2c_start();
  6.                         i2c_write(SLAVE_ADDRESS | 0x01);
  7.                         fogadottadat=i2c_read(0);
  8.                         fogadottadat2=i2c_read(1);
  9.                         i2c_stop();
(#) n_yálastrubadúr hozzászólása Márc 26, 2014 /
 
Lehet nem írtam le rendesen. Van a konstans táblázat.
  1. const char table[4] = {0,1,2,3};


Ilyesmi kellene csak nem konstans pl:

  1. const char table[4] = {x,y,z,a};
de ez ugye nem jó..
A hozzászólás módosítva: Márc 26, 2014
(#) nedudgi válasza n_yálastrubadúr hozzászólására (») Márc 26, 2014 /
 
Nem értek a C-hez, de rémlik valami 'union' utasítás.
Következő: »»   502 / 1216
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