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   282 / 1210
(#) icserny válasza kissi hozzászólására (») Júl 12, 2012 /
 
Talán innen (már nem emlékszem).
(#) Zoli1974 hozzászólása Júl 12, 2012 /
 
Sziasztok!
Van egy Pic16c72A mikrovezérlős UTH-EU-01 termosztátom ami
elektromos padlófűtésé volt. Szeretném átalakítani, hogy a bekapcsolási hőmérséklet érték magasabb a kikapcsolási érték alacsonyabb legyen. Van Pickit2-őm tehát le tudom szedni a fimware-t róla, és megnézni a programját. Jelenleg még nem tettem meg. Mire figyeljek, és majd a programot hogyan módosítsam?
Sörkollektor vezérlőt szeretnék csinálni belőle.
(#) Hp41C válasza Zoli1974 hozzászólására (») Júl 12, 2012 /
 
Szia!
Elkeserítő híreim vannak:
- A 16C72A csak egyszer programozható, hacsak nem ablakos kerámia tokban van,
- Rendelkezik egy kiolvasás elleni védelemmel, ha aktív nem tudd belőle kiolvasni a programot, csak az egészet törölni. Azt is csak akkor, ha ablakos a tokja,
- A PICKit2 nem kezeli a 16C verziókat, mert nincs elég árama a Vdd ill a Vpp meghajtására.
(#) djadji hozzászólása Júl 12, 2012 /
 
Sziasztok!
Valaki használja a MikroC Pro programot? Akármilyen tesztprogramot írok bele, nem működik. Az első hiba, hogy a
#include "pic16f628a.h"
sorban nem találja "pic16f628a.h" filet. Letöltöttem neten, de hibába másolom be, vagy adom a project-hez, nem tetszik neki.
Meg tudná mondani valaki, hogy kell ezt?
Köszi!
(#) djadji hozzászólása Júl 12, 2012 /
 
Kiegészítés: Csak lejárt az időm
Most olvasom ezeket a fenti "aranyszabályokat". Ezek minden PICre, minden esetben igazak? Csak mert nem láttam még kapcs rajzon sehol ezt a 100nF-os KERÁMIA kondenzátorokat, sem a MCLR és VDD lábakat 100 Kohmmal kötni.
Szóval ez amolyan kötelező dolog?
(#) mps válasza djadji hozzászólására (») Júl 12, 2012 /
 
Igen, ezek azok. Sőt a 100nF kondi az minden gyors működésű digitális IC táplábára kell!
A MicroC-nek van saját topicja. (Így keresd: mikró C-ben)
(#) Hp41C válasza pjg hozzászólására (») Júl 13, 2012 /
 
Szia!

A kapcsolási rajza majdnem teljesen megegyezik a PICKit2 User's guide -ban megtalálhatóval. A módosíításokat leírtam a cikkben. A cikkben közölt kapcsolás csak annyiban tér el ettől, hogy a huzalozás könnyítése érdekében Q2, Q3, Q5 BC557 lett.

A furatszerelt klón panelje elkészíthető egyoldalas kivitelben is - ekkor van rajta 5 db átkötés.
A további részletek a PICKit2 klón építése topikban.
(#) djadji válasza mps hozzászólására (») Júl 13, 2012 /
 
Köszönöm a választ, keresem a fórumot (ez eszembe se jutott)
(#) Stadi hozzászólása Júl 13, 2012 /
 
Az innen-onnan felcsipegetett részletek alapján összeraktam egy IC tesztert. Ha tudnátok időt szánni rá, hogy átnézzétek, azt megköszönném. Bármilyen kritikát szívesen fogadok.

A könnyebb értelmezéshez:

U6A és a kimenetére kapcsolódó áramkörök a 14, 16, 20 és 24 lábú IC-k tápfeszültségét kapcsolják a teszt foglalatra, illetve erről egy vizuális visszajelzést adnak; U2, U3, U4, U6B, U8, U10 a háromállapotú kimenetek ellenőrzésére szolgál illetve az előbbi tápfeszek kapcsolását vezérli; U7 és ami mögötte van: soros LCD kijelző meghajtás.

U8 és U10 azért van külön tokban, mert ilyen IC-k vannak otthon, felesleges lenne venni emiatt egy tárolós léptetőregisztert.

IC_Tester.pdf
    
(#) aroxol hozzászólása Júl 13, 2012 /
 
Sziasztok!

Segitsetek légyszives hogy miért nem tudok átváltani a 2 funkcio (nyomogomb/kapcsolo) a letárolt számjegy szerint. A tárolás jo, látom hogy benne van.

lfsr 0,203h
MOVF INDF0,W
MOVWF REG1
MOVLW 30H ;0
cpfseq REG1
BRA NEMNULLAVOLT
BRA KAPCSOLO

NEMNULLAVOLT
MOVLW 31H ;1
cpfseq REG1
RETURN
BRA NYOMOGOMB
(#) djhua hozzászólása Júl 13, 2012 /
 
Ezt a projektet megszeretnem valositani , mar egy ideje gondolkodom azon hogy hogy lehetne atirni azokat a szovegeket belole . Mivel van vagy 15 mondat amit kitud irni , es en mit kene a forras faljban megvaltoztatnom hogy azt irja ki amit en akarok ?

Itt az oldal : Air Display ( PIC )

Elore is koszonom a valaszotokat
(#) Hp41C válasza djhua hozzászólására (») Júl 13, 2012 /
 
Click HERE to see the Algorithm Sorry, no longer available .... De egy jóravaló disassembler segíthet...

JP6293E.asm
    
(#) kissi válasza icserny hozzászólására (») Júl 13, 2012 /
 
Szia!

Köszi, úgy látom meg tudom vele nyitni a fájlt!

Steve
(#) djhua válasza Hp41C hozzászólására (») Júl 13, 2012 /
 
koszonom szepen .
(#) Hp41C válasza Stadi hozzászólására (») Júl 14, 2012 /
 
Szia!

- Vannak olyan áramkörök, aminek nem a két "szélén" van a táp és a föld csatlakozás: 7490 .. 7493,
- Az I2C busz SCL és SDA lábát a tápra kell húzni 2k7 ellenállásokkal,
- A 16F877 A/D átalapítójának leírását nézd meg! Jobb lenne 16F887 -et használni, ott lábanként állítható az analóg mód.
(#) Stadi válasza Hp41C hozzászólására (») Júl 14, 2012 /
 
Idézet:
„Vannak olyan áramkörök, aminek nem a két "szélén" van a táp és a föld csatlakozás: 7490 .. 7493”


Jogos az észrevétel, az ilyen "anomáliákat" viszont remekül lehet kezelni adapterek használatával.

Idézet:
„Az I2C busz SCL és SDA lábát a tápra kell húzni 2k7 ellenállásokkal”


Köszönöm, módosítom a rajzot.

Idézet:
„A 16F877 A/D átalapítójának leírását nézd meg! Jobb lenne 16F887 -et használni, ott lábanként állítható az analóg mód.”


Nem teljesen világos, mire gondolsz. A 877-ben 8 csatornás A/D van, a 887-ben 14 csatornás, de egyiket se lehet akármelyik lábra konfigurálni. Konkrétan melyik részét kellene olvasnom az A/D leírásnak? Mert már többször is átfutottam, a programozás része meg majd úgyis csak akkor lesz fontos, ha már a kódot írom.

Az adatlapon szerepel ez:

"The maximum recommended impedance for analog sources is 2.5 kOhm"

Ha jól értem, akkor ez a 11.2-es ábrán az Rs maximális értéke. De ez egy soros ellenállás, tehát ez engem nem érint, ugye?
(#) Hp41C válasza Stadi hozzászólására (») Júl 14, 2012 /
 
Szia!
16F877: DS30292C-page 112 vagy 16F877A: DS39582B-page 128 a 16F887: DS41291F-page 40, page 48 oldalaival szemben.
Idézet a 16F887 adatlapjából:
Idézet:
„Pins configured as analog inputs will read 0.”

A 16F877 és 16F877A típusokon is így van.
(#) Stadi válasza Hp41C hozzászólására (») Júl 15, 2012 /
 
OK, leesett, nagyot koppant , köszönet érte.

Tehát ha jól értem, ha pl. a 6 db. A/D bemenet / 0 db. referencia bement lehetőséget konfigurálom, akkor ugye AN0...AN5 fog 0-t adni olvasáskor. De ha teszem azt, AN1...AN4-et kimenetnek konfigurálom, és az A portot egész byte kiírásával kezelem, akkor a PIC lábai ugyanúgy működnek, mintha normál A/D nélküli kimenetek lennének? A read-modify-write módszer csak a bitenként írásnál zavar(na) be?
(#) Hp41C válasza Stadi hozzászólására (») Júl 16, 2012 /
 
Szia!

Ahhoz, hogy a AI és KBD vonalakat analógként kezeld, a 16F877(A) -n az RE1, RE0, RA5, RA3..RA0 lábaknak is analógnak kell lenniük. Ha egy láb analóg, akkor a PORT olvasásakor 0-t ad. Ez a RMW műveleteknél hibás eredményre vezet. RMW művelet a portról előbb olvas, végrehajtja a műveletet és az eredményt visszaírja. Pl. bsf, bcf, addwf ...,f, incf PORTA,f, decf PORTA,f, stb. A clrf PORTA, és a movwf PORTA működik. Kell tartani a RAM -ban egy másolatot a PORTA -ra kiküldött adatról, azon végezni a műveletet, az új tartalmat (a megszakítást letiltva) másolni a PORTA -ra. Ha egyes, analóg módra állított lábnál digitális kimenetet állítasz be, a kimenet feszültsége kijut a lábra, de nem tudod visszaolvasni.

Egyszerűbb az élet 16F887 -tel (ANSEL regiszterekkel lábanként lehet állítani az analóg módot), vagy még egyszerűbb 16F1937, 16F1939 (ANSEL regiszterekkel lábanként lehet állítani az analóg módot, LAT regiszterek elérhetők), vagy 18F4520, 18F4620 kontrollerekkel, ahol a LATA regiszter is elérhető (az A/D beállítás ezeknél sem lábanként megy).
(#) Stadi válasza Hp41C hozzászólására (») Júl 16, 2012 /
 
Köszönöm, így már minden világos.

Közben az egyik shift regiszter elhagyásával keletkezett 2 szabad láb, így a PIC lábkiosztásának átrendezésével megoldottam azt, hogy a KBD az AN0-ra került, az AI pedig az AN1-re. Utóbbit még pluszban rákötöttem az RA4-re is, mivel ez egy Schmitt-triggeres bemenet, és nem mellesleg számlálóval is összeköthető, amiből ráadásul megszakítást is lehet aktiválni, és ez még jól jöhet a program írásakor. Így elég lesz külső referencia nélküli háromcsatornásra konfigurálni az A/D konvertert, és a 3. csatorna szabadon maradhat, mivel nem lesz rá szükség.
(#) zsoltee0001 hozzászólása Júl 16, 2012 /
 
Sziasztok

24L01A eepromot nem támogat PK2, új fw esetén esélyes, hogy tudjam kezelni?
Üdv
(#) Hp41C válasza zsoltee0001 hozzászólására (») Júl 16, 2012 /
 
Szia!

A 24LC01B -t támogatja. A 128 byte -os I2C EEProm -okat ugyan úgy kell programozni.
(#) zsoltee0001 válasza Hp41C hozzászólására (») Júl 16, 2012 /
 
Köszönöm, ki fogom próbálni.
Üdv
(#) menyus hozzászólása Júl 17, 2012 /
 
Sziasztok,

Van egy kis problémám egy 16LF648A val. A benne lévő kódot nem lehet sem felülírni sem törölni. Törlés után is "0000" értékeket olvasok vissza a programozóval (PicKit2). Ha felül akarom írni akkor pedig betöltődik a kód, de az ellenőrzésnél: "Programming failed at Programming Memory address 0x000000"

Mi lehet a gond és mi a megoldás..? Kontroller csere..?
(#) zsoltee0001 válasza menyus hozzászólására (») Júl 18, 2012 /
 
Szia
Próbáld meg külső 5v megtápálással, valószínűleg kevés a fesz.
Üdv
(#) menyus válasza zsoltee0001 hozzászólására (») Júl 18, 2012 /
 
Szia, sajnos ez sem jön be.

Köszi
(#) pittosi válasza menyus hozzászólására (») Júl 18, 2012 /
 
Nem az ,hogy védet programot tetél rá . Azt nem tudod viszaovasni mert 00000000 ir ki .
(#) Hp41C válasza menyus hozzászólására (») Júl 18, 2012 /
 
Szia!

Vdd = 5.00V mellett töröld (Erase). Lépj ki a programból. Indítsd el újra. Olvasd ki (Read). Most üresnek kellene lennie (0x3FFF a program, 0xFF az adatmemóriában). Töltsd be a programodat. Megjelenik egy piros ... protect felirat? Programozd be. Sikeres? Ha nincs piros felirat, akkor lehet ellenőrizni, ha a piros felirat megjelent, akkor az ellenőrzés már nem lehetséges a védelem miatt.
(#) marek hozzászólása Júl 19, 2012 /
 
Sziasztok!
Már van egy működő, virtuális COM porton keresztül kommunikáló projektem 18F4550-el. Gyakorlatilag a Basic CDC demo-t valósítottam meg, fogadja az adatokat, és visszaküldi USB-n. De most a main függvényben a while hurok így néz ki:

while(1){
c=usb_cdc_getc();
printf("Received character: %c = %d\n",c);
}

Azt szeretném megoldani hogy az adatok küldésén és fogadásán kívül a program tudjon mást is, pl. ellenőrizni egy nyomógomb állapotát, és az alapján csinálni valamit. Próbáltam így átalakítani a while hurkot:

while(1){
if(usb_cdc_kbhit())
{
c=usb_cdc_getc();
printf("Received character: %c = %d\n",c);
}
if(!Button) doSomething();
}

De nagyon nem azt csinálja amit kellene. Valaki tudna segíteni, hogy ezt hogy kellene megoldani? Egy másik kérdés még: a ProcessIO()-t mikor kell meghívni?

Segítségeteket előre is köszönöm!
Marci
(#) menyus válasza Hp41C hozzászólására (») Júl 19, 2012 /
 
Igen mindig piros felirat van bármit csinálok, egyszerűen lehetetlen törölni vagy felülírni. "Erase", vagy Write".. ..megcsinálja. Az adatmemória védelem a kódban nincs is beállítva a konfigurációs szavaknál, manuálisan raktam rá a programból az írás előtt. Ha visszaolvasom "0000" mindenhol (az EEpromnál nem , annál nem volt bekapcsolva a védelem) , ha közben újraindítom a programot akkor sem változik semmi. Mindegy hogy ott a piros felirat vagy sem...hogyan állítom be törlés vagy felülírás előtt. Kínomban a Pic et kicseréltem...most jó. A másikkal nem tudom mi a bánat történhetett...kuka lett a vége.

Köszi
Következő: »»   282 / 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