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   374 / 1210
(#) tom75 válasza Hp41C hozzászólására (») Feb 25, 2013 /
 
és ha átírnánk c be?
(#) Hp41C válasza Hp41C hozzászólására (») Feb 26, 2013 /
 
Próbáld meg ezt.

ESR_883.ZIP
    
(#) tom75 válasza Hp41C hozzászólására (») Feb 26, 2013 /
 
kipróbáltam sajnos semmi változás.
Lehet meg kéne próbálni eredeti pic-el?
Hogy azzal mit csinál?
Hogy a komment az miért ilyen fura karakter azt végkép nem tudom
A hozzászólás módosítva: Feb 26, 2013
(#) tom75 hozzászólása Feb 27, 2013 /
 
pickit 2 vel lehet áramkört is indítani?
Mármint, hogy ne keljen minden alkalommal külön tápra csatlakoztatni az áramkört?
(#) hepi02 válasza tom75 hozzászólására (») Feb 27, 2013 /
 
Igen. Én szinte csak így használom a kísérleti áramköreimet a dugdosós próbanyákon.
(#) tom75 válasza hepi02 hozzászólására (») Feb 27, 2013 /
 
Mit kell beállítani?
(#) hepi02 válasza tom75 hozzászólására (») Feb 27, 2013 /
 
A bekarikázott részben kell tenni egy pipát az "On" négyzetében és a mellette lévő számmal lehet beállítani a feszültséget, ami max 5V.

pickit2.PNG
    
(#) tom75 hozzászólása Feb 27, 2013 /
 
Hogy kell mikro c-be lcd-t definiálni?
(#) Hp41C válasza tom75 hozzászólására (») Feb 27, 2013 /
 
No talán ez?

ESR_883.ZIP
    
(#) janimester hozzászólása Feb 27, 2013 /
 
Sziasztok , valaki tudna segíteni abban hogy egy 18F2550-el hogy tudnék összehozni egy ADC 0-20V feszültségmérést? ÉS még egy hőfokmérést ds18b20-al? A kijelzés 4x20-as lcd-n lenne.
ÉS még azt szeretném megtudni hogy melyik program író szoftverrel álljak neki amivel kivitelezni lehet ezt.
A hozzászólás módosítva: Feb 27, 2013
(#) vicsys válasza janimester hozzászólására (») Feb 27, 2013 /
 
Szerintem (ha elfogadsz egy jó tanácsot), kezdd az alapoktól. (led villogtatás, LCD-re "Hello World", stb...) Ha már 2...3 programnyelvet kipróbáltál, Te is tudsz dönteni. (Én speciel assembly-t és C-t javaslok. A C egy kicsit emberközelibb volt nekem az ilyen egyszerűbb feladatokhoz.)
(#) zenetom válasza vicsys hozzászólására (») Feb 27, 2013 /
 
A C inkább a bonyibb progikhoz emberközelibb, nem?
(#) vicsys válasza zenetom hozzászólására (») Feb 27, 2013 /
 
Relatív ez is mint minden az univerzumban. Számomra az assembly egy katyvasz. A C maga angol parancsszavaival, jobban kézre áll. Szinte automatikusan nyitom a C-s progit, ha egy időzítő/számláló/vagy led villogtató kell. Mondjuk, lehet, hogy csak egy rossz szokás és ideje lenne kényszeríteni magam az asm-re.
A hozzászólás módosítva: Feb 27, 2013
(#) janimester válasza vicsys hozzászólására (») Feb 27, 2013 /
 
És mit gondolsz a Flowcode-ról? Megvan a legeslegújabb verziója teljesben ami kijött csak éppen olyan röghöz kötött az egész hogy led villogtatáson kívűl semmire nem jó az egész vagy csak én nem jöttem rá a nyitjára. Pl. Megcsináltam benne a hőmérő kapcsit ds szenzorral de a hőmérőt szimuláció közbe nem tudom elővarázsolni sehonnan sem hogy tudjam állítani másnak meg láttam megy de el nem tudom képzelni honnan szedte elő.
(#) vicsys válasza janimester hozzászólására (») Feb 27, 2013 /
 
Azzal nem foglalkoztam. Az utolsó emlékem az, hogy nem fejlesztik és mélyen kell beletúrni egy hardverközelibb progi esetén. Ezután már ki sem próbáltam.
(#) janimester válasza vicsys hozzászólására (») Feb 27, 2013 /
 
Akkor hagyom is, mindenképp meg kell tanulnom vagy a c-t vagy az assemblyt. A Mikro C for Pic az kezdésnek jó lessz szerinted? És esetleg nem tudod hogy valami 18F procikhoz való utasításszavakat hol találok valami kis leírással?
(#) vicsys válasza (Felhasználó 15355) hozzászólására (») Feb 27, 2013 /
 
Bocsánat, mondom, hogy nem is foglalkoztam vele. Anno, valami ilyesmit olvastam... Rosszul tudom, hogy az eredeti szerzője abbahagyta...?
(#) vicsys válasza (Felhasználó 15355) hozzászólására (») Feb 27, 2013 /
 
Ja, bocsi! Tényleg, lehet, hogy az volt. Egy kicsit összekevertem. Látod milyen jó, hogy tudsz segíteni? Majdnem félrevittem janimestert.
(#) adams007 hozzászólása Feb 27, 2013 /
 
Sziasztok! EEPROM írással kapcsolatban szeretnék segítséget kérni. Adott egy PIC16F88, és szeretnék 5 bájtot írni az EEPROM-ba. Az adatlapban található példakód alapján írtam a programot, és elég sok lehetőséget kipróbáltam. A probléma az, hogy az első bájtot jól kiírja, viszont az azt követőket hibásan, vagy egyáltalán nem írja ki, pedig - az adatlapban leírtaknak megfelelően - az EECON1 regiszter, WR bitjét ellenőrzöm minden írás előtt. Próbálkoztam az EEIF flag ellenőrzésével is, viszont ezt valamiért nem állítja be, végtelen ciklusban marad a program (úgy tudom az ehhez kapcsolódó interrupt engedélyezése nélkül is be kellene állítania a flaget). Végül megpróbáltam, hogy két EEPROM írás közé 10ms késleltetést teszek, de szintén korrupt adatok kerültek be az első bájt után. (A PICkit viszont megfelelően írja az EEPROM-ot, valamint két PIC-et is kipróbáltam.)
A fórumon találtam olyan információkat, hogy bizonyos mid-range eszközöknél problémás volt az EEPROM írás, de itt erre vonatkozó errata-t nem találtam

Az alábbi forráskódot írtam, ez a W-ben megadott címre írja ki az indirekt címzéssel adott bájtot:
  1. EEPROMsaveByte
  2.  banksel EECON1
  3.  btfsc EECON1, WR
  4.  goto $-1
  5.  
  6.  banksel EEADR
  7.  movwf EEADR
  8.  movf INDF,w
  9.  movwf EEDATA
  10.  
  11.  banksel EECON1 ;EEPROM write cycle
  12.  bcf EECON1, EEPGD
  13.  bsf EECON1, WREN
  14.  bcf INTCON, GIE
  15.  movlw 0x55
  16.  movwf EECON2
  17.  movlw 0xAA
  18.  movwf EECON2
  19.  bsf EECON1, WR ; Set WR bit to begin write
  20.  bsf INTCON, GIE ; Enable INTs.
  21.  bcf EECON1, WREN ; Disable writes
  22.  
  23.  banksel PIR2
  24.  btfss PIR2,EEIF  ;Itt végtelen ciklusba kerül, nem állítja EEIF-et.
  25.  goto $-1
  26.  bcf PIR2,EEIF
  27.  return
(#) tom75 válasza Hp41C hozzászólására (») Feb 27, 2013 /
 
Sajnos semmi változás, de most kipróbáltam beállítást, de nem őrzi meg a beállított értéket.
Szerintem meg kéne, hogy őrizze.
Pickit 2 meg kiírja, hogy nem minden config bit van beállítva.

Tamás
(#) Hp41C válasza adams007 hozzászólására (») Feb 27, 2013 /
 
Szia!
A bcf EECON1, WREN ; Disable writes sort vidd a bcf PIR2,EEIF utánra.
(#) Hp41C válasza tom75 hozzászólására (») Feb 27, 2013 /
 
Szia!
A config probléma a "__CONFIG _CONFIG2, _WRT_OFF & _BOR40V" sorral orvosolható.
  1. ifdef __16F883
  2.          list      p=PIC16F883
  3.      #include  P16F883.inc ;    ; 20.000 MHz
  4.         __CONFIG _CONFIG1, _CP_OFF & _BOR_OFF & _HS_OSC & _WRT_OFF & _WDT_OFF & _PWRTE_ON & _DEBUG_OFF & _CPD_OFF & _LVP_OFF
  5.         __CONFIG _CONFIG2, _WRT_OFF & _BOR40V
  6.         endif

Most ellenőriztem, az LCD .nek küldött parancsok jók, az EEPromot a szimulátorban írja. Azt, hogy mit is kellene ode beírnia, azt nem tudom.
Sajnos a továbbiakhoz meg kellene érteni a programot...
Ki lehetne próbálni az eredeti 16F873A -val, de akkor meg minek átírni...
A kommentek azért néznek ki így, mert valamilyen exotikus nyelven írodtak.

Pass..
(#) tom75 válasza Hp41C hozzászólására (») Feb 27, 2013 /
 
Akkor nem tudom mit csináljak.
Igazából nem szeretnék procit venni mivel akkor ezt nem tudom használni semmire egyenlőre.
Én az biztos nem tudom megérteni mert az assembler nekem érthetetlen, esetleg c-be talán megérteném.
Köszi, hogy próbálsz segíteni
(#) Hp41C válasza tom75 hozzászólására (») Feb 28, 2013 /
 
Szia!

Motto: A net -ről letöltött források a legrittkább esetben hibátlanok. Ha valaki megtalálja bennük a hibá(ka)t, használja egészséggel...

Nos, találtam valamit. Miért programoznak sokan úgy, hogy nem használják a definiált konstansokat? A programban volt néhány hivatkozás, amit nem értek miért kell így írni:
  1. bsf ADCON0, 2
  2. movlw b'10001001'
  3. movwf ADCON0

Ha már az ADCON0 -t használjuk, akkor használjuk a bit nevét is...
Most, hogy kezdtem végigkövetni, mit csinál a program, vettem észre, hogy az ADCON0 regiszterben arrébbmásztak a GO és a CHS bitek a 16F88x -ben a 16F87x -hez képest.
Az alábbi formát gond nélkül jó kódra fordította volna minkét típusnál. Még olvashatóbb is lenne...
  1. bsf ADCON0, GO
  2. movlw (1 << ADCS1) | (1 << CHS0) | (1 << ADON)
  3. movwf ADCON0

Az LCD inicializálásánál, az EEPROM írásánál volt egy-egy Bankváltási hiba is.

Talán ez már jó lesz...
A hozzászólás módosítva: Feb 28, 2013

ESR_883.ZIP
    
(#) janimester hozzászólása Feb 28, 2013 /
 
Na bújtam a netet és találtam nekem pont megfelelő kapcsolást amivel csak annyi a gondom hogy 7 szegmeneses kijelzőre ír ki tudna valaki segíteni benne hogy hol és mit kéne átírni hogy lcd-re írja ki a hőmérsékletet?
(#) Hp41C válasza janimester hozzászólására (») Feb 28, 2013 /
 
Szia!
Inkább keressgess még egy kicsit. Bővebben: Link
(#) janimester válasza Hp41C hozzászólására (») Feb 28, 2013 /
 
Köszönöm szépen ez tökéletes is , csak nekem 18b20-am van nem sima 1820.
(#) vicsys válasza janimester hozzászólására (») Feb 28, 2013 /
 
Igaz, ez nem mér ADC csatornán, nem 18F2550 van benne, nem DS18B20-al mér és nem 4x20-as LCD-re dolgozik. A többi stimmel.
(#) tom75 válasza Hp41C hozzászólására (») Feb 28, 2013 /
 
Szia!

Annyi történt, hogy a kijelző az egyik sor végig kivan világítva amiben a karaktereknek kéne lenni, de most ugyanolyan sötét mint amikor a karakterek lennének, és most a beállítás menübe is ugyan ez a helyzet.

Eddig nem volt ennyire kontrasztos sokkal halványabban adta elő.
Következő: »»   374 / 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