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   1109 / 1210
(#) Hp41C válasza pipi hozzászólására (») Feb 21, 2020 /
 
Kapcsold ki a C fordító optimalizálását.
(#) pipi válasza Hp41C hozzászólására (») Feb 21, 2020 /
 
De "akkó" változatlan formában miért jó a pickit3-al? Nem az a baj, hogy nem tudom a C progit nyomkövetni pickit4-el, mert az optimalizáció miatt "látszólag összevissza" tekereg, hanem az a baj hogy pickit4-el "rosszfelé" tekereg, egyszercsak beleugrik egy tök másik függvény közepébe, és természetesen onnan kezdve eltéved, baromságot csinál, még olyat is láttam hogy a C-t a progmemben követtem és mindenféle ugró utasítás nélkül egyszer csak tök más címre ugrott.
(#) Hp41C válasza pipi hozzászólására (») Feb 21, 2020 /
 
A gondok okozója lehet a PCLATH és vagy a PCLATU regiszterek állítása. Az emlékeim szerint a környezetben átírt PC nem állítja be ezeket a megadott értéknek megfelelően.
Ettől függetlenül nem lennék meglepve, ha a PICkit4 még bug -os lenne.... Csak 2 éves...
A hozzászólás módosítva: Feb 21, 2020
(#) Swarcy válasza Tasznka hozzászólására (») Feb 21, 2020 /
 
Köszi mindenesetre, megpróbálom a virtuális gépet, vagy majd a régi gépemen csinálom. De lehet leszedem ezt a win10 f..st, lassan agyfa..t kapok tőle.... Köszi
(#) Swarcy válasza Swarcy hozzászólására (») Feb 22, 2020 /
 
Úgy néz ki megvan a gond miért lassú az MPLAB 8 !
A képernyő méret miatt !!!!!!! Nekem 4K -s 3840x2160 as nagy monitorom van és hozzá a Videó kártya. De ha teljes méretben van az MPLAB akkor lassú, a szimuláció! Ha összekicsinyítem felgyorsul nem is kevéssel! Ez vagy Win10 hiba vagy az MPLAB nem tudja rendesen kezelni a dolgokat nem tudom, de bosszantó, hogy erőltetik a win10 et , felrakja az ember és csak rosszabb lesz nem pedig jobb........... Valszeg visszamegy a win 7 és marad is még vagy 1000 évig .......
(#) Pali79 válasza Swarcy hozzászólására (») Feb 23, 2020 /
 
Az Mplab ide utolsó verziója 2013-ban jött ki. Nem csodálkoznék rajta, ha nem kezelné rendesen a 4K felbontást. Egyébként a fiamnak van egy 34-es és egy 21-es monitor a gépén, bár az Mplabot nem használja, de még sosem panaszkodott lassúlásra vagy egyébre.
(#) Lamprologus hozzászólása Feb 24, 2020 /
 
Mitől függ az, hogy Microchip float-ként vagy IEEE float ként kezel egy float típusú változót egy PIC?

Írtam (CCS-C-ben) egy programot PIC18F4550-re ... ESP8266 felé küldtem soros porton float változót, de előtte át kellett konvertálnom IEEE float-ra hogy tudja értelmezni az ESP.
Ugyan ezt a programrészletet átmásoltam egy PIC24FJ256GB106-os PIC-programjába, és ott konvertálás nélkül kellett elküldeni és úgy tudta fogadni az ESP.
A hozzászólás módosítva: Feb 24, 2020
(#) Hp41C válasza Lamprologus hozzászólására (») Feb 24, 2020 /
 
XC8 leírás 5.4.3
Idézet:
„For both float and double values, the 24-bit format is the default. The options --FLOAT=24
and --DOUBLE=24 can also be used to specify this explicitly. The 32-bit format is used for
double values if the --DOUBLE=32 option is used and for float values if --FLOAT=32 is used.”
(#) Lamprologus válasza Hp41C hozzászólására (») Feb 24, 2020 /
 
Bár az angolom elég hiányos sajnos, annyit azért látok hogy ez az XC8-ra vonatkozik ... CCS-C-ben 32 bit az alapértelmezett float.

A mellékelt képen látszik mi a problémám: ugyan az a hexa szám kétféle lebegőpontos értéket jelent, attól függően hogy Microchip float32, vagy IEEE float32 ként olvasom.

Addig nincs is probléma belőle amíg egy PIC-en belül használom, de ha hexában átküldöm másik PIC-be ( vagy ESP-be) akkor már probléma adódik, ha nem ugyanazt a "rendszert" használják.

float.JPG
    
(#) usane válasza Lamprologus hozzászólására (») Feb 24, 2020 / 1
 
Mert a 8 bites PIC másképp kezeli a float-ot. Valahol olvastam anno, hogy a 8 bites PIC-ben más a bitek és bájtok sorrendje. Van valami Microchipes doksi is, hogy a 8 b ites milyen sorrendben használja a float bitjeit. A 16 és 32 bites PIC már IEEE formatként kezeli. Nem a fordító a ludas, illetve részben, mert az is konvertálhatná, de biztos volt valami oka, hogy így maradt.
A hozzászólás módosítva: Feb 24, 2020
(#) usane válasza usane hozzászólására (») Feb 24, 2020 /
 
Na, most jövök rá, ha te CCS-C-t használsz, valószínűleg azért nem jó a 8 bitesen(a fentebb leírt okok miatt). Gondolom a MC az XC8-ban megírta a konverziót, a CCS-C meg nem, mert nem konkrétan PIC-re írták anno.
(#) Lamprologus válasza usane hozzászólására (») Feb 24, 2020 /
 
Köszönöm! A lényeg, hogy már tudom: PIC függő... nem kell keresgélnem a beállítások között, hogy hol lehet átállítani, mert sehol!

Csak az bosszant, hogy PIC18-on teszteltem a programot, és elment egy csomó időm mire rájöttem, hogy konvertálni kell a float-ot.
Áttettem a programot PIC24-re, erre kiderül hogy simán megy konvertálás nélkül, ha egyből ezen teszteltem volna soha sem tudtam volna meg, hogy létezik többféle float!
A hozzászólás módosítva: Feb 24, 2020
(#) Hp41C válasza usane hozzászólására (») Feb 24, 2020 /
 
AN575
A hozzászólás módosítva: Feb 24, 2020
(#) usane válasza Hp41C hozzászólására (») Feb 24, 2020 /
 
Igen,köszönöm, azt hiszem ez volt az a doksi.
(#) Antennaman hozzászólása Feb 28, 2020 /
 
Sziasztok,
Most találkoztam egy SONIX SN8P2722 mikrokontrollerrel. A PIC KIT programban nincs ilyen eszköz. Tudjátok esetleg milyen programmal lehet ezt kezelni?
Előre is kösz a segítséget.
(#) Zsora válasza Antennaman hozzászólására (») Feb 28, 2020 /
 
Miből gondolod hogy egy SONIX cuccot a Microchip eszközeivel kellene programozni?
Miért nem a SONIX weboldalán keresgélsz?
PL. SN8ICE2K Plus II programozó és SN8 C Studio fejlesztőkörnyezet...
(#) usane válasza Antennaman hozzászólására (») Feb 28, 2020 /
 
Ahogy Zsora írta van sajátja. Valamint ha az már be van építve és ki akarod bontani akkor felejtsd el. OTP ROM-ja van.
(#) siemenstaurus hozzászólása Márc 3, 2020 /
 
Sziasztok! Egy amatőr kérdés engedtessék meg: imhol ez a "csoda". A forrasztástól és egyéb dolgoktól tekintsünk most el, vannak itt nagyobb gondok is.
Melyik kört kell nézni ha szeretném behatárolni az egyes lábát? Pic18f97j94 -ről van szó.
Köszönöm!
(#) pipi válasza siemenstaurus hozzászólására (») Márc 3, 2020 / 1
 
A mélyebbet (szerintem a kisebb átmérőjű).
De ki is mérheted. Mivel a táp lábai "összevissza" nem szimmetrikusan vannak, ki tudod mérni,
az azonos táp lábak belül is össze vannak kötve...
Ha jól látom egyezik a panelen lévő számozással
Nem pont ez a típus, de 465. oldal
A feliratok irányához képest is viszonyíthatsz
(#) asch válasza siemenstaurus hozzászólására (») Márc 3, 2020 / 1
 
A pöttytől balra indulva vannak a pinek számozva 1-től általában. Breakout boardnak tűnik, ami kezelhető távolságokra kivezeti a lábakat. A pálya szélére írt számok stimmelni látszanak.

A típust keresőbe beírva megtalálod a gyártói oldalt: https://www.microchip.com/wwwproducts/en/PIC18F97J94

Ott a view datasheetre kattintva az adatlapot: http://ww1.microchip.com/downloads/en/DeviceDoc/30000575C.pdf

Ezen belül pedig az ötödik oldalon "FIGURE 3:100-PIN TQFP DIAGRAM FOR PIC18F9XJ94" címmel látod a lábkiosztást.

Szerk: benéztem a kérdést, a jobb oldali halványabb pöttyöt nem is láttam.
A hozzászólás módosítva: Márc 3, 2020
(#) siemenstaurus válasza pipi hozzászólására (») Márc 3, 2020 /
 
Köszönöm! Sikerült felvenni a 0.0 pontot.
(#) lóri válasza siemenstaurus hozzászólására (») Márc 6, 2020 /
 
Igen, meg elvileg a tok sarka is le van törve 45 fokban és a panelre is van szitázva egy pont az 1-es lábnál. Én legalábbis így látom.
(#) aroxol hozzászólása Márc 9, 2020 /
 
Sziasztok!

Pic-el szeretnék csinálni egy step down konvertert.

A pic stabil 5V-ről üzemelne, és ez vezérelne "valami" alkatrészeket ami 12v-ból csinálna 1-12V-ot.
Gondolom frekvencia vezérelné a "valami" alkatrészeket, így lehetne feszültséget növelni, csökkenteni.

Van valakinek ötlete hogy lehet ezt megoldani a legegyszerűbben? Feszültség fontos, áram szinte lényegtelen.
(#) Pali79 válasza aroxol hozzászólására (») Márc 9, 2020 /
 
Nekem elsőre egy sima fet-es pwm jutna eszembe.
(#) usane válasza aroxol hozzászólására (») Márc 9, 2020 /
 
Amit te leírsz az nem step-down konverter, hanem egy szabályozó, vagy dimmer. Ha azt szeretnéd, hogy egy meglevő 12V-ot alakíts 1-12V-ra akkor arra a legegyszerűbb ha egy analóg bemeneten egy potméteres megoldást raksz, AD-vel méred a jelet, és a kimeneten PWM jelet szabáylzol az analóg jel alapján. Ha a kimentre egy FET-et kapcsolsz akkor teljesítményt is levehetsz róla, mert a PIC-nek a kimenete nem igazán terhelhető. Esetleg kondival és frekvencia növeléssel simíthatod a kimenetet.

A konverternek az a lényege, hogy a bemeneti feszültségből készíti a kimenetit, tehát nincs 12V-od, csak 5V-od. Ahhoz nem a PIC a megoldás, vannak ehhez cél IC-k, ráadásul trafó plusz egyebek is kellenek. Ráadásul ha 5V-ból 1-12 kellene akkor az nem egy sima step down.

Látom Pali79 közben meg is válaszolta röviden, de kb ez a lényege amit leírtam.
A hozzászólás módosítva: Márc 9, 2020
(#) Szárnyas válasza aroxol hozzászólására (») Márc 9, 2020 /
 
Ebből talán tudsz ötletet meríteni az elgondolásod megvalósításához: Bővebben: Link, Bővebben: Link
Bár ebben Arduinoval van megvalósítva a feladat, de talán nem jelent gondot neked PIC-re átportolni ezt.
A hozzászólás módosítva: Márc 9, 2020
(#) menyus hozzászólása Márc 12, 2020 /
 
Sziasztok!

Hosszú idő után álltam neki ismét kezdő szinten PIC et programozni. Egy 16F877 el akadt olyan gondom hogy a jó istennek se tudom a PORTA egyik lábát se kimenetnek konfigurálni. TRISA regiszterben minden PORTA láb kimenetnek állítva, ADCON ban minden digitálisnak állítva, mégse tudom kimenetnek állítani a PORTA egyik lábát sem. A lábakat a program közben váltogatom ki / és bemenetnek is ezért a lábak fel vannak húzva VDD re 82K val. Mit csinálok rosszul? Tudna segíteni valaki? Köszönöm.

  1. ;----------- CONFIGURÁCIÓS BITEK BEÁLLÍTÁSA ------------------------------------------
  2.  
  3.  
  4. __CONFIG_HS_OSC&_WDT_OFF&_DEBUG_OFF&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF&_LVP_OFF  ; (QARTZ = 12MHz )
  5.  
  6.        
  7. ;--BANK VÁLTÁS MAKRÓK        ----------------------------------------------------------
  8.  
  9. BANK0   MACRO
  10.                 BCF     STATUS,IRP
  11.                 BCF     STATUS,RP0
  12.                 BCF     STATUS,RP1
  13.  
  14.                 ENDM
  15.  
  16. BANK1   MACRO
  17.                 BCF     STATUS,IRP
  18.                 BSF     STATUS,RP0
  19.                 BCF     STATUS,RP1
  20.  
  21.                 ENDM
  22.  
  23. BANK2   MACRO
  24.                 BSF     STATUS,IRP
  25.                 BCF     STATUS,RP0
  26.                 BSF     STATUS,RP1     
  27.                 ENDM
  28.  
  29. BANK3   MACRO
  30.                 BSF     STATUS,IRP
  31.                 BSF     STATUS,RP0
  32.                 BSF     STATUS,RP1
  33.  
  34.  
  35.                 ENDM
  36.  
  37. ;----------- VÁLTOZÓK DEKLARÁLÁSA ------------------------------------------------
  38.  
  39.         CBLOCK  0X070
  40.  
  41.                        
  42.                 S1                                      ;COUNTER LOOP1                           
  43.                 S2                              ;COUNTER LOOP2           
  44.                 S3                                      ;COUNTER LOOP3           
  45.                 REF                                      
  46.                 REF1
  47.                                        
  48.                 ENDC
  49.  
  50.                        
  51. ;---------------------------------------------------------- RESET PONTOK KIJELÖLÉSE --------------------------------------------
  52.                        
  53.                                 ORG     0X00
  54.                                 GOTO    INI
  55.                                 ORG     0X04
  56.                                 GOTO    INT
  57.  
  58.  
  59. ;------ MEGSZAKÍTÁS --------
  60. INT    
  61.  
  62.  ; NEM HASZNÁLUNK MEGSZAKÍTÁST, MINEK? MEGSZAKÍTÁS GLOBÁLISAN TILTVA ÉS A PERIFÉRIÁKNÁL SINCS BEÁLLÍTVA.
  63.  
  64.                                 RETFIE
  65.  
  66. ;---------------------------------------------------------- PIC ALAP INICIALIZÁLÁS ------------------------------------------------------------
  67.  
  68. INI
  69.  
  70.                         BANK1
  71.                                 MOVLW   B'00000010'                    
  72.                                 MOVWF   TRISB                                  
  73.                                 MOVLW   B'00000000'             ; MINDEN PORTA LÁB KIMENET      
  74.                                 MOVWF   TRISA
  75.                                 MOVLW   B'00000010'                    
  76.                                 MOVWF   TRISC                                  
  77.                                 MOVLW   B'00000110'                      
  78.                                 MOVWF   TRISD
  79.                                 MOVLW   B'00000010'                    
  80.                                 MOVWF   TRISE                                  
  81.                
  82.                                 MOVLW   B'00000000'                    
  83.                                 MOVWF   INTCON
  84.  
  85.                                 MOVLW   B'00000000'                    
  86.                                 MOVWF   OPTION_REG     
  87.  
  88.                                 MOVLW   B'00000000'                    
  89.                                 MOVWF   PIE1
  90.  
  91.                                 MOVLW   B'00000000'                    
  92.                                 MOVWF   PIE2
  93.  
  94.                                 MOVLW 0x06 ; MINDEN PORTA LÁB DIGITÁLIS KIMENET VAGY BEMENET
  95.                                 MOVWF ADCON1
  96.  
  97.                        
  98.        
  99.                                
  100.                          
  101.                                
  102.                         BANK0
  103.                          
  104.                                 CLRF    PORTB                                           ;TÖRÖLJÜK AZ I/O PORTOKAT
  105.                                 CLRF    PORTA
  106.                                 CLRF    PORTC                                            
  107.                                 CLRF    PORTD
  108.                                 CLRF    PORTE          
  109.  
  110.                                 BCF             STATUS,0
  111.                                 BCF             STATUS,1
  112.                                 BCF             STATUS,2
  113.                                 BCF             STATUS,3
  114.                                 BCF             STATUS,4
  115.  
  116.                                 MOVLW   B'00000000'                    
  117.                                 MOVWF   PIR1
  118.  
  119.                                 MOVLW   B'00000000'                    
  120.                                 MOVWF   PIR2
  121.  
  122.                                 MOVLW   B'11111111'     ;       PORTA 0 - 7 IG "H" BAN 
  123.                                 MOVWF   TRISA
A hozzászólás módosítva: Márc 12, 2020
(#) Pali79 válasza menyus hozzászólására (») Márc 12, 2020 /
 
Nem tudom van-e többi része a programnak, de ez így tele van hibákkal, le sem lehet fordítani. Ha a hibákat kijavítom, akkor a szimulátor szerint átváltanak kimenetre.
(#) menyus válasza Pali79 hozzászólására (») Márc 12, 2020 /
 
persze ez csak egy vázlat, se eleje se vége így. Csak egy részlet. Lefordulni lefordul nálam a teljes program hiba nélkül de 5 V "H" szint helyett fél tápfesz van a PORTA összes lábán. Meg rosszul is tördelte a fórummotor az egész kódrészletet, nem így néz ki nálam... az utolsó sorban nem TRISA hanem PORTA, de ezt már javítottam csak a vázlatban maradt így. Az eredeti kódban jó.
A hozzászólás módosítva: Márc 12, 2020
(#) Pali79 válasza menyus hozzászólására (») Márc 12, 2020 /
 
Értem, a szimulátorban a TRIS regiszterek átváltanak. Én ilyenkor azt szoktam csinálni, hogy a program elejére beteszek egy tesztet. Pl. a kimenetek átállítása után jön egy mondjuk BSF PORTB,5 utána megy egy GOTO $. Az RB5-re teszek egy LED-et így meg tudom nézni, hogy ott felveszi-e a kívánt állapotot. Ha igen akkor ezt a két sort lentebb teszem és megnézem ott is. Így ki lehet szűrni a hibát. De az MPlab simulátora is sokszor nagy segítség.
Következő: »»   1109 / 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