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   564 / 1210
(#) Keresztes Vitéz válasza vicsys hozzászólására (») Szept 5, 2014 /
 
Először is köszönöm a segítőkész hozzászólásodat! Őszintén szólva nem értem, de ez annak tudható be, hogy én assembly-ben programozok, igaz ezt előtte nem mondtam. A lényeg, hogy egyszerre csak 1 karakter jeleníthető meg és egy ciklusban maximum 1 szó. Ezért kell, hogy betűnként választható legyen.
(#) kissi válasza Keresztes Vitéz hozzászólására (») Szept 5, 2014 /
 
Idézet:
„Azt szeretném elérni, hogy mindezt elkerülve, a bekapcsolásnál ki tudjam választani, hogy melyik részt akarom futtatni.”
Egy változó értékétől függően kell GOTO-t használnod, a változó értékének változtatását pedig egy bekapcsolásnál futtatott program végzi... !
(#) Keresztes Vitéz válasza kissi hozzászólására (») Szept 5, 2014 /
 
Köszönöm Neked is! Ezt értem, de kicsit gondolkodnom kell, hogy ezzel tényleg elérem-e, amit akarok. Egy példa: bekapcsolás után kiválasztom az S-betűt, ezt az infót elraktározza, majd ugyanez a Z-vel, I-vel, A-val. Így megkapnám, hogy SZIA. Ezután megnyomom a start gombot, és egymás után kiírja a kiválasztott betűket. Ezek szerint annyi változót kellene definiálnom, amennyi betűt maximálisan ki szeretnék íratni?
(#) kissi válasza Keresztes Vitéz hozzászólására (») Szept 5, 2014 /
 
Ha nem tudod előre a szöveget, akkor kénytelen vagy változókban letárolni... Én az előző leírásod alapján úgy értettem, hogy kész szövegek közül akarsz választani !?
(#) Pali79 válasza Keresztes Vitéz hozzászólására (») Szept 5, 2014 /
 
Hát elég kezdő vagyok, de ez nem olyan egyszerű mint amilyennek tűnik, legalábbis a kódot tekintve nem lesz rövid az biztos.
A változókkal még nem is lenne baj, magyar ABC-t alapul véve 31 féle kell, ez nem olyan sok. Láttam viszonylag egyszerű programot amibe sokkal több volt.
Idézet:
„kiválasztom az S-betűt”
Miből és hogyan? A legegyszerűbb ha minden értéknek saját bemenete van, de ez rengeteg külső alkatrészt jelent. Ha mondjuk egy mátrix billentyűzetet használsz akkor, mint a telefonoknál egy gomb több karaktert is kezelhet, de ezt lepogramozni nem éppen kezdőknek való feladat.
Idézet:
„infót elraktározza”
Ezt tárolni szerintem (lehet, hogy nem így van) csak az eeprom-ban tudod. Tehát minden karaktert elmentesz és a "start" gombra csak az eeprom tartalmát írod ki.
Az első rész, mire minden betűt belenyömöszölsz a programba, nem lesz sétagalopp.
(#) Keresztes Vitéz válasza kissi hozzászólására (») Szept 5, 2014 /
 
Elnézést, ha félreérthető voltam. A kész szöveg közül nem lenne probléma megoldani a választást, de ez a betűkből építkezés már más tészta. De végül is az új dolgokból tanul az ember. Ez így helyes lenne? :
  1. T1              EQU             0x20
  2.  
  3.                 MOVLW   Betü_S
  4.                 MOVWF   T1
  5.  
  6.                 CALL    T1


Tehát "T1" lenne a változó. A kiválasztás után pl az S betűt betenném T1-be, majd T1-et meghívva visszakapnám az S-betűt? Jól gondolom?
(#) Keresztes Vitéz válasza Pali79 hozzászólására (») Szept 5, 2014 /
 
Nekem már kezd világosulni, úgy tűnik nem is olyan bonyolult, mint ahogy elsőre gondoltam. A az egyes betűk programrészletei már megvannak, sőt számok és különböző írásjelek is, már csak a sorba rendezést kellene megoldanom.

Szerk: igazából 2 nyomógombból megoldanám az egész kiválasztást.
A hozzászólás módosítva: Szept 5, 2014
(#) Pali79 válasza Keresztes Vitéz hozzászólására (») Szept 5, 2014 /
 
Szintaktikailag biztos nem jó. Nem lehet ugyanaz a neve egy változónak és egy címkének is (szerintem).
A hozzászólás módosítva: Szept 5, 2014
(#) kissi válasza Keresztes Vitéz hozzászólására (») Szept 5, 2014 /
 
Nem, a táblázatot és a RETLW-t nézd meg ezzel kapcsolatban... !
(#) vilmosd válasza Keresztes Vitéz hozzászólására (») Szept 6, 2014 /
 
Egy megoldas egy (2) szoveg kiirasara:
  1. ;*****************************************************************
  2.  
  3. Tabla_mess              movwf   PCL                     ;message chars
  4.  
  5. Mess_0                  retlw   'H'
  6.                                 retlw   'e'
  7.                                 retlw   'l'
  8.                                 retlw   'l'
  9.                                 retlw   'o'
  10.                                 retlw   0x00            ;end of mess_0
  11.  
  12. Mess_1                          retlw   'A'
  13.                                 retlw   'd'
  14.                                 retlw   'i'
  15.                                 retlw   'o'
  16.                                 retlw   's'
  17.                                 retlw   0x00            ;end of mess_1
  18.  
  19.        
  20. ;**********************************************************************
  21. Message                 movwf   Temp_1      ;
  22. Message_1               movf    Temp_1,W    ;
  23.                         call    Tabla_mess      ;
  24.                         movwf   Temp_2      ;save char
  25.                         movf    Temp_2,F
  26.                 btfss   STATUS,Z    ;No more
  27.                 goto    more
  28.                 return
  29. more                    call    LCD_DAT     ;wr_to LCD
  30.                 incf    Temp_1,F    ;
  31.                 goto    Message_1
  32.                
  33. ;**********************************************************************
  34.  
  35.  
  36.                                 movlw   Mess_0                  ;dir of mess_0
  37.                                 call    Message                 ;Write mess_0        
  38.                                 .
  39.                                 .
  40.                                 .
  41.                                 movlw   Mess_1                  ;dir of mess_1
  42.                                 call    Message                 ;Write mess_1
  43.  
  44. ;**********************************************************************
(#) Pali79 válasza vilmosd hozzászólására (») Szept 6, 2014 /
 
Ebből, hogy lehet kiírni azt, hogy "sioleo"? Mert igazából ez lenne a feladat.
(#) Keresztes Vitéz válasza vilmosd hozzászólására (») Szept 6, 2014 /
 
Köszönöm, bár még nem igazán látom át. Egyelőre marad a kész szavak kiírása. Ez elég egyszerű is, másrészt mire az ember végigcsattogna az összes betűn... Ettől függetlenül a probléma érdekel, úgyhogy próbálkozni fogok vele. Még egyszer köszönöm a segítségeket!
(#) vilmosd válasza Pali79 hozzászólására (») Szept 6, 2014 /
 
Ezzel barmit kirathatsz, mert ez egy pelda. A Mess_0, Mess_1 cimkek utan olyan szoveget irsz be ami neked tetszik. Utana pedig azt a szoveget iratod ki.
  1. Tabla_mess              movwf   PCL                     ;message chars
  2.  
  3. Mess_0                  retlw   's'
  4.                                 retlw   'i'
  5.                                 retlw   'o'
  6.                                 retlw   'l'
  7.                                 retlw   'e'
  8.                                 retlw   'o'
  9.                                 retlw   0x00            ;fin of mess_0
Igy amikor meghivod a Message fvenyt a Mess_0 cimmel a ¨sioleo¨ szoveget irja ki a kijelzore. A tablat bovitheted ameddig a PIC programmemoriaja birja a Mess_3... Mess_x cimkekkel ami megfelel egy-egy szovegnek. Sot meg az egyszeruseg (atlathatosag) kedveert akar a cimkeket el lehet nevezni pl ¨sioleo¨, ädios¨, ¨hallo¨neven is.
A hozzászólás módosítva: Szept 6, 2014
(#) Pali79 válasza vilmosd hozzászólására (») Szept 6, 2014 /
 
Félreérted a dolgot. Nem előre definiált szavakat kell kiírni, hanem meglévő betűkből szabadon választott szavakat. Értem, hogy a táblázat miként működik, de ide más kell szerintem.
(#) Xenophobe hozzászólása Szept 7, 2014 /
 
Sziasztok!
Kezdő vagyok a témában és lehet rossz helyre írok, ez esetben elnézést kérek.
PIC panel segítségével és programozásával szeretném azt megoldani, hogy van egy lámpa a szobában, illetve egy éjjeli lámpa, melyet interneten keresztül szeretnék ki/be kapcsolni. Tehát a lényeg, hogy bármilyen internettel rendelkező eszközzel meg tudom valósítani a feladatot. A kérdésem az lenne, hogy ehhez mi szükséges, mert gondolom önmagában egy PIC panel és egy kis programozás nem elég? Gondolom a panel és a lámpa közé kell még némi elem mely vezérli a ki/be kapcsolást(esetleg relé)?
(#) matheattila válasza Xenophobe hozzászólására (») Szept 7, 2014 /
 
Szia, hát ez nem lesz épp olyan egyszerű feladat, mert a PIC és a relék mellé még kellene egy hálózat kontroller amit hálózat kábellel csatlakoztatsz pl egy routerhez, vagy ha wifi-vel gondoltad akkor valami wifi modul ami szintén csatlakozik a routerhez, de mindenképp kell legyen egy saját IP címe a panelednek.
(#) Bakman válasza Xenophobe hozzászólására (») Szept 7, 2014 /
 
Kezdésnek ezt olvasd át.
(#) kzolt hozzászólása Szept 7, 2014 /
 
Sziasztok!

Egy tényleg kezdő kérdéssel fordulok hozzátok. Fent a sárga boxban olvastam, hogy"- 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." Én sok ICSP adapter rajzát, képét nézegettem a neten, de az említett kondi és ellenállás nem igazán fellelhető a legtöbbjén. Ezek rosszak, vagy külön kell bekötni, vagy én értek valamit félre?
Köszönöm!
(#) kissi válasza kzolt hozzászólására (») Szept 7, 2014 /
 
Rakd oda, ha jót akarsz ! Így nem csinál "véletlenszerű" hülyeségeket ( csak amit Te kódoltál bele ! ) !
(#) matheattila válasza kzolt hozzászólására (») Szept 7, 2014 /
 
Szia, nem tudom hogy a kondiknak és az ellenállásnak mi köze az ICSP adapterhez, de azokat a 100n-s kondikat a PIC táplábai mellé kell tenni (VDD-VSS) valamint a PIC tápja (VDD) és a MCLR lába legyen összekötve egy 10k-s ellenállással, ezzel a MCLR lábán a potenciál a tápfeszültséggel lesz egyenlő és azért kell az ellenállás (és nem csak simán rákötni VDD-re), hogy a programozó készülék (PICkit2/3, ICD2/3) le tudja húzni 0-ra is amikor kell.
(#) kzolt válasza matheattila hozzászólására (») Szept 7, 2014 /
 
Tehát ha van egy adapterem, akkor felprogramozáskor ezeket az alkatrészeket csíptessem a PIC megfelelő lábai mellé a foglalatba? Bocs, ha hülye vagyok.
(#) Pali79 válasza kzolt hozzászólására (») Szept 7, 2014 /
 
Programozáshoz nem kell csak használathoz. Egyébként az adapterek többségének nem sok értelme van.
(#) icserny válasza kzolt hozzászólására (») Szept 7, 2014 /
 
Idézet:
„sok ICSP adapter rajzát, képét nézegettem a neten”
Az ICSP adapter fából vaskarika, hiszen az ICSP arról szól, hogy a programozás a felhasználói áramkörben (in circuit) történik, nem pedig egy programozói adapterben.

De ha már mindenáron adapter kell, akkor azon is legyen rajta minden, ami a PIC programozás alatti működtetéséhez kell (lásd sárga keret).
(#) kzolt válasza (Felhasználó 15355) hozzászólására (») Szept 7, 2014 /
 
Köszönöm mindenkinek!
(#) kzolt válasza (Felhasználó 15355) hozzászólására (») Szept 7, 2014 /
 
Köszi a sztorit, megjegyzem, megfogadom.
(#) Pali79 válasza (Felhasználó 15355) hozzászólására (») Szept 7, 2014 /
 
Nem vagyok nagy programozó, de én eddig mindig csak egy breadboardba beledugtam a picet összedrótoztam a pickit2-vel és sose volt még gond.
(#) Birs Alma hozzászólása Szept 7, 2014 /
 
Sziasztok!
Melyik C fordítót érdemes használni? Melyiket javasoljátok, melyiket nem?
Kösz.
L.
(#) hd8783 hozzászólása Szept 8, 2014 /
 
Sziasztok!
Úgy adódott, hogy egy 12c508-as PIC-ot kéne programoznom. Semmi tapasztalatom nincs a PIC témában, később azért tanulni szeretném, de jelen esetben csak egy hash dump-ot kéne ráégetnem. Erre a célra összeraktam a legmezeibb soros portos égetőt, amit találtam. (kép melléklet) Hogyan kéne kötnöm a PIC-ot (8 láb) az égetőre (6 pin), vagyis melyik lábak maradhatnak ki?
(#) KBal76 válasza hd8783 hozzászólására (») Szept 8, 2014 /
 
Ügyes vagy. Van pár topik amibe ez pont beleillene, pl: PIC kezdôknek.
Egyéb iránt, a saját mellékelt rajzodon ott a megoldás is. Persze előbb vedd elő a kiszemelt PIC lábkiosztását, esetleg a PDF-jét. (segítek: rákeresel hogy "programming", és megtalálod melyik láb a a CLK/DATA, direkt nem írom le hogy a GP1, GP0 keresd meg!)
A hozzászólás módosítva: Szept 8, 2014
(#) Pali79 válasza hd8783 hozzászólására (») Szept 8, 2014 /
 
Először is ilyen programozót csak jó régi pc-vel lehet használni, az újaknak más a vezérlése és a soros port már nem olyan. Persze lehet szerencséd. Másrészt az icsp csatlakónak a kimenetei rajta vannak a rajzon. A PIC lábai: MCLR-4, Vdd-1, Vss-5, PGD-8, PGC-2. De egyébként gugli barátunknak beírod: pic12c508 programmer megtalálod még a képek között is.
Azt ugye tudod, hogy ez a pic csak egyszer írható? Ha elrontottál valamit akkor kuka! Ezért kell 12Fxxx típust használni, az többször is írható-törölhető.
Következő: »»   564 / 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