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   353 / 1210
(#) pjg válasza Hp41C hozzászólására (») Jan 15, 2013 /
 
Megnyugodtam. Most vettem 10 db-ot ebből a típusból.
(#) Hp41C válasza Cthulhu hozzászólására (») Jan 15, 2013 /
 
Szia!
Így bekötött C1, C3, C4, C5 -nek nincs sok értelme. A kondenzátorok minkét kivezetését ugyan arra a vezetékre kötötted.
Helyesen a C1 egyik kivezetését a PIC 5., a másikat a PIC 14. lábára, a C3 egyik kivezetését az oszcillátor Vdd, a másikat az Vss lábára kell kötni. C4, C5 elhagyható.
(#) Hp41C válasza pjg hozzászólására (») Jan 15, 2013 /
 
Ha venni kellene, akkor a PIC16F1827, 16F1847 -et választanám...
A hozzászólás módosítva: Jan 15, 2013
(#) pjg válasza Hp41C hozzászólására (») Jan 15, 2013 /
 
Most már én is. Kicsit elkapkodtam Szerencsére ócó volt. 1$ sem volt darabja.

Frekimérőnek, motorgyújtásnak, stroboszkópnak, riasztónak jó lesz.
A hozzászólás módosítva: Jan 15, 2013
(#) mrobi válasza kistee hozzászólására (») Jan 15, 2013 /
 
Szia!

A VREF+ lenne a 2,56-os feszültség! 5V-nál több nem is fog rá kerülni. Engem csak az érdekelne hogy ha a referencia feszültségnél nagyobb feszt kapcsolok rá akkor az a programban mit fog eredményezni?
(#) kaqkk válasza mrobi hozzászólására (») Jan 15, 2013 /
 
Túlcsordulást ?!
A hozzászólás módosítva: Jan 15, 2013
(#) icserny válasza mrobi hozzászólására (») Jan 15, 2013 /
 
Idézet:
„ha a referencia feszültségnél nagyobb feszt kapcsolok rá akkor az a programban mit fog eredményezni?”
Végkitérést. 10 bites ADC-nél 1023-at...
(#) vicsys hozzászólása Jan 15, 2013 /
 
Szeretnék kérni egy kis segítséget, akinek van feltelepített HI-tech C -je, készítsen nekem egy gyors hex-et, ebből: Bővebben: Link
Előre is köszönöm!
(#) brato hozzászólása Jan 15, 2013 /
 
Üdv!

Az alábbi ASM programhoz kérnék segítséget.
Egy változó bájtjainak beolvasását kellene ciklusban megvalósítani.

  1. LIST P=PIC16F877
  2.  #INCLUDE "P16F877.INC"
  3.  errorlevel -302 ;BANKHIBAJELZÉS ELNYOMÁSA A FORDÍTÓBAN
  4.  errorlevel -305 ;
  5.  
  6.         __CONFIG _CP_OFF & _HS_OSC & _WDT_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF
  7.  
  8.         CBLOCK 0x20                    
  9.         number                         
  10.         ID:8
  11.         ID_byte_number
  12.         ENDC
  13.  
  14.         ORG     0
  15.         GOTO START
  16. teszt:
  17.         movlw   .2                              ;ciklus száma
  18.         movwf   number
  19. számolás:                            
  20.         clrf    ID_byte_number
  21. byte_számolás:
  22.         movlw   .8                              ;W=8d, a konstans megadása
  23.         subwf   ID_byte_number,0;W=ADAT-8d
  24.         btfsc   STATUS,0                ;a C túlcsordulás jelzőbit vizsgálata
  25.         goto    byte_kész              ;ugrik, ha C=1, vagyis ha ID_byte_number>8
  26.  
  27. ;Itt kellene a W regiszterbe beolvasni az ID változó, ID_byte_number sorszámú
  28. ; bájtjának étékét.
  29.  
  30.         incfsz  ID_byte_number,1;
  31.         goto    byte_számolás
  32. byte_kész:
  33.         decfsz  number,1                ;első ciklusszám csökkentés
  34.         goto    számolás
  35.     retlw 0            
  36.  
  37. START  
  38. ;Ezek tesztadatok, hogy látszon a beolvasás eredménye.
  39.         movlw   0x33
  40.         movwf   ID
  41.         movlw   0x90
  42.         movwf   ID+1
  43.         movlw   0x66
  44.         movwf   ID+2
  45.         movlw   0x90
  46.         movwf   ID+3
  47.         movlw   0x99
  48.         movwf   ID+7
  49.  
  50.         CALL teszt
  51.         GOTO    START
  52.         END
A hozzászólás módosítva: Jan 15, 2013
(#) Cthulhu válasza Hp41C hozzászólására (») Jan 15, 2013 /
 
Ááá köszönöm. Nem mondom hogy nagy elektronikai guru vagyok, de ezt most lányos zavaromban kötöttem be így.
Esetleg más hibát is felfedeztél?? Csak mert kijavítottam de sajnos így se müködik, én arra gyanakszom hogy az oszcillátor környékén van valami hiba
(#) benjami válasza vicsys hozzászólására (») Jan 15, 2013 /
 
Ha a lite verzióval készült is megteszi akkor a mellékletben itt van. 5 helyen javítani kellett, a javított forrását is mellékeltem (a nT1SYNC definíciót a HI-TECH is elronthatta, de ha egyszer ez van az include-ban). A lite nem tudja a konfigurációs biteket, ezért azt manuálisan állítsd be.
(#) vicsys válasza benjami hozzászólására (») Jan 15, 2013 /
 
Köszi, de így játszanom kellene vele.
(#) Hp41C válasza vicsys hozzászólására (») Jan 15, 2013 /
 
Szia!
Íme...
(#) Temela hozzászólása Jan 16, 2013 /
 
Üdv!

Szeretném kérdezni (nem vagyok hozzáértő), hogy valaki ismeri-e a Genius G540 programozót?
Ilyenem van és nem tudom, hogy mindent jól csinálok-e? A problem az, hogy az LCM3 nevű műszert építettem meg és PIC 16F690 van benne - persze nem indul. A programozó töröl, üres, másol, kikódol, ellenőriz funkciót csinál. Mit jelent a kikódol? A hex fájlt bemásolom a pic-be és kész vagy valami mást is kell tenni? Ugyanez a gondom a tranzisztor teszterrel is, abban atmega8 van. Lehet tök buta a kérdés: csak hex fájlt kell írni a kontrollerbe vagy más kiterjesztésűt is? Sokszor látom, hogy egyéb fájlkokat is mellékelnek azok, akik írták a programokat.
Szóval ilyen felhasználói szintű ffelvilágosítás jól jönne...
Köszönettel
(#) Hp41C válasza Temela hozzászólására (») Jan 16, 2013 /
 
Szia!
PIC
Idézet:
„Mit jelent a kikódol?”

A kiolvasásvédelem feloldását jelethedi, de az csak a tartalom teljes törlésével lehetséges a PIC -eken. Mivel a hex -ben a kiolvasás védelem be van állítva, ezért a töröl, üres, másol (beprogramoz) sorrendnek jónak kell lennie. Az ellenőrzés a kiolvasás védelem miatt nem lehetséges, csak a konfigurációs szavak beprogramozása előtt. Nem tudom pontosan, mit is csinál ez a programozó.
AVR
Idézet:
„csak hex fájlt kell írni a kontrollerbe vagy más kiterjesztésűt is?”

A hex és az eep kiterjesztésűt valamint a fuse biteket...
(#) vicsys válasza Hp41C hozzászólására (») Jan 16, 2013 /
 
Ismét csak köszönöm szépen a sokadik segítségedet!
(#) patrik81 hozzászólása Jan 16, 2013 /
 
Sziasztok!Tud valaki egy drivert USB-s Pic égetőhöz?Nemrég vettem egy hardvert,de nem kaptam hozzá szoftvert.
(#) potyo válasza patrik81 hozzászólására (») Jan 16, 2013 /
 
Ha elmondanád, hogy milyen az a hardver, akkor lehet, hogy tudunk segíteni. Enélkül a kérdésed kb. olyan, hogy vettem autót, tudtok-e hozzá gumit adni. Anélkül, hogy tudnánk a szükséges gumi méretét.
(#) Cthulhu hozzászólása Jan 16, 2013 /
 
Köszönöm szépen mindenkinek a segítséget, végül is nem én voltam a béna hanem az oszcillátor volt hibás és az szívatott.... Kicseréltem és most már működik minden!

Azt szeretném még kérdezni, hogy az OshonSoft PIC SIMULATOR IDE program mennyire fedi a valóságot, ha ott működik a programom mennyire valószínű hogy a PIC-en is menni fog??
(#) patrik81 válasza potyo hozzászólására (») Jan 16, 2013 /
 
pontosan nem tudom,olcsó volt,csak egy képet tudok küldeni róla.már egy drivert találtam neten,de nem települt fel.
(#) icserny válasza patrik81 hozzászólására (») Jan 16, 2013 /
 
Ha ilyen kártyát vettél, akkor próbálkozz a fenti oldalon található linkekkel!

A driver egyébként valószínűleg a gyártő az IC gyártő (Prolific) honlapjáról is letölthető. Úgy látom, PL2303HX USB-UART protokol konverter van beépítve.
Idézet:
„olcsó volt”
és híg a leve...
(#) icserny válasza icserny hozzászólására (») Jan 16, 2013 /
 
Kiegészítés: Az általad vett kártya valószínűleg a kitsrus.com K150 programozójának egy koppintása. Ami szembetűnő különbség: a fenti címen található K150 FTDI USB-UART protokol konvertert tartalmaz, az "olcsó kártya" pedig PL2303HX-et. Ezért más driver kell hozzá. A PIC16F628A-ban lévő firmware és az égetőprogram elvileg lehet ugyanaz, mint a K150-höz való.

Egy tanulságos olvasmány a Microchip fórumán: http://www.microchip.com/forums/m668494.aspx
(#) Hp41C válasza patrik81 hozzászólására (») Jan 16, 2013 /
 
Ép most szidta egy társunk, mert nem tudta programozni a 16F886 -ot (ha jól emlékszem). Ha programozza a 18F2550 -et, akko rmegnyílt a lehetősége egy PICKit2 klón összerakásának.
(#) nagzso hozzászólása Jan 17, 2013 /
 
Sziasztok!
Egy kis felvilágosítást szeretnék kérni a timer-ekkel történő késleltetésekkel kapcsolatban. PIC18F2550-et használok 20MHz-en, a TMR0-t indítanám be 16bit-be. 0.1sec-ra lett elvileg beconfigolva. Ez lenne a kód:
  1. T0CON = 0x05;
  2. TMR0H = 0x00;
  3. TMR0L = 0x00;
  4. INTCONbits.TMR0IE = 1;
  5. T0CONbits.TMR0ON = 1;

  1. void delay(unsigned int delay) {
  2.     while(delay > 0) {
  3.         TMR0H = 0x85;
  4.         TMR0L = 0xEE;
  5.         while(!INTCONbits.TMR0IF)
  6.             ;
  7.         --delay;
  8.     }
  9. }

  1. void interrupt isr(void) {
  2.     INTCONbits.TMR0IF = 0;
  3. }
(#) icserny válasza nagzso hozzászólására (») Jan 17, 2013 /
 
Idézet:
PIC18F2550-et használok 20MHz-en”
Ha a PLL be van kapcsolva, akkor a CPU frekvenciája nem egyezik meg a kvarc frekvenciájával. Tehát mennyi is az annyi? (A Timer számláló bemenetére egyébként az utasításfrekvencia jut, ami Fosc/4, tehát legfeljebb 12 MHz lehet...

Idézet:
„while(!INTCONbits.TMR0IF)”
Ha ilyet csinálsz, akkor:
1. Ne engedélyezd a megszakítást!
2. Szoftverben töröld a megszakításkérő bitet, mielőtt a Timert indítanád!
3. Nincs szükség az isr() függvényre (úgysem jut szóhoz).

Ha ugyanis hardveres megszakítást használsz (és abban értelemszerűen törlöd a megszakításkérő bitet), akkor a while(!INTCONbits.TMR0IF) ciklusból nem fogsz tudni kilépni.
(#) nagzso válasza icserny hozzászólására (») Jan 17, 2013 /
 
Külső kvarcom van 20MHz-es. Ez a "while(!INTCONbits.TMR0IF)" számomra "újdonság" volt. Egy PIC16F627-be így használtam:
  1. while(delay < 3600000) {
  2.         TMR0 = 0;                       //TMR0 nullázása
  3.         while(TMR0 < 125)               //1ms elöállítása
  4.             ;
  5.         ++delay;                        //delay növelése
  6. }

Ezzel a módszerrel szépen léptetett óránként, de sehol nem láttam ilyen megvalósítását, ezért gondoltam, hogy lehet még se olyan jó. Emiatt próbáltam amazt.
Szóval, ha 20MHz-es kvarcom van, akkor 20MHz / 4 = 5MHz lesz, vagy ha kvarcot használok, akkor megint változik valami, mint pl. a PPL-nél? Igazság szerint azt szeretném beállítani, hogy 5sec-ig nyomok egy gombot akkor történjen valami.
(#) icserny válasza nagzso hozzászólására (») Jan 17, 2013 /
 
Idézet:
„Szóval, ha 20MHz-es kvarcom van, akkor 20MHz / 4 = 5MHz lesz?”
Nem egyértelmű a kvarc és a CPU frekvencia közötti összefüggés, ha nem tudom, hogy hogy van az órajelgenerátor konfigurálva (előosztó, PLL, utóosztó).
Idézet:
„Igazság szerint azt szeretném beállítani, hogy 5sec-ig nyomok egy gombot akkor történjen valami.”
Ehhez mit használ a késleltető függvény?
Kelts inkább periodikus megszakításokat! A megszakításokban nézz rá a nyomógombra! Ha le van nyomva, akkor növelj egy számlálót, s ha az elért egy kritikus értéket, akkor billent be egy jelzőt, ha pedig nincs lenyomva a nyomógomb, akkor nullázd a számlálót!

A főprogramban csak azt nézd (vagy várd), hogy be van-e billentve a jelző (felhasználás után nullázd!).
(#) nagzso válasza icserny hozzászólására (») Jan 17, 2013 /
 
Köszi szépen, igazad van. Megpróbálom összehozni.
(#) mykymokus válasza Cthulhu hozzászólására (») Jan 18, 2013 /
 
5ös lábra kötött 100nf kondinak nincs értelme.
(#) Gagyicom hozzászólása Jan 18, 2013 /
 
Sziasztok!

Szeretnék egy kis útbaigazítást kérni. Hol lehet fellelni a C programozás anyagát pic-ekhez? Nem C-s anyag kell. Csak nem tudom, hogy ha pic-re hogy kell írni a programokat.
Következő: »»   353 / 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