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   13 / 1210
(#) zsoltee0001 válasza watt hozzászólására (») Aug 6, 2009 /
 
Szia

Kipróbáltam másikkal is, és ugyanaz
PIC18458-al (ez volt otthon) egy egyszerű villogó programját akarom beírni, és a következő hibaüzenetet írja ki (melléklet).
Mivel abszolút kezdő vagyok, először azt a célt tűztem ki magam elé, hogy programot tudjak beírni majd visszaolvasni, de még mindig nem tudom, hogy a printer portom alkalmas-e erre.
Még ma kipróbálom másik számítógépen.
üdv

hiba.JPG
    
(#) watt válasza zsoltee0001 hozzászólására (») Aug 6, 2009 /
 
Mutass egy olyan képet, ahol a PIC-et felismeri! Biztosan felismeri a sárga kérdőjeles IC ikon megnyomása után? A program be van állítva? Arról is csatolj egy képet!
(#) zsoltee0001 válasza watt hozzászólására (») Aug 6, 2009 /
 
szia
fejlemények vannak! mindjárt visszaírok
(#) zsoltee0001 válasza watt hozzászólására (») Aug 6, 2009 /
 
szia
orbitális gixer volt, a PGC előtét ellenállása (270 ohm) hibás volt, én még ilyet nem láttam , semmi külsérelmi nyom, akkor lett gyanús amikor elkezdtem tesztelni a fesz értékeket a PGD 4,7 V, a PGC meg nulla
úgyhogy az egyik probléma megoldva.
viszont van egy olyan gond, hogy a kis ikon-ra kattintva felismeri a 18f-t . Elindítom az írást, az is lefut, visszaellenőrzöm, stimmel, és később leellenőrzöm akkor meg totál hülyeségeket olvas ki (ilyenkor nem is ismeri föl a 18f-t sem) ha újra indítom akkor viszont jó.
Ez a bizonytalanság az adatkábel hibája lehet? lehet, hogy árnyékolt és még rövidebb vezetéket kellene berakni (a mostani kb 20 cm)
a 100 nanos kondit közvetlen az ic lábára tettem.
üdv
(#) watt válasza zsoltee0001 hozzászólására (») Aug 6, 2009 /
 
Miért hagytál fel a jó szokásoddal, hogy rendesen írj? Én nem állok szóba olyanokkal, akik kisbetűvel kezdik a mondatot és nem használnak írásjeleket. Én csak ennyit kérek cserébe!
(#) zsoltee0001 válasza watt hozzászólására (») Aug 6, 2009 /
 
Szia
Elnézést a helyesírási hibákért, kicsit kapkodva írtam (munkaidőbe voltam )
Most ott tartok, hogy összeraktam a 8 ledes villogó áramkört, ami persze még nem működik, szerintem az eltérő kristály értékben lesz a hiba (20Mhz-s van), de ez a probléma holnapra marad.
Üdv.
(#) watt válasza zsoltee0001 hozzászólására (») Aug 6, 2009 /
 
Javaslom használd a WPB-t! Épp most írtam a PIC miértek-be, hogy miért!
(#) zsoltee0001 válasza watt hozzászólására (») Aug 7, 2009 /
 
Szia

Elolvastam, akkor ezzel az égetővel nem fog összejönni a 18f? Pedig örültem, mert vissza is tudta olvasni a kódot, és átnéztem, nem tévesztett.
Lehet, hogy egyszerűbb ic-vel kellett volna kezdenem, de ez volt kéznél.
Túl gyorsan akartam előrre lépni, valószínűleg pár hetet rá kell szánnom az olvasásra.
A WPB_F18 programot letöltöttem, de nem működik, pedig minden fájlt bemásoltam a system32 könyvtárba.
esetleg van tipped mi lehet a gubanc? ezt a hibaüzenetet adja ki (melléklet).
üdv

hiba2.JPG
    
(#) watt válasza zsoltee0001 hozzászólására (») Aug 7, 2009 /
 
Azért ajánlottam a WPB_F18-at, mert mint írtam, az ezzel működő égetők pl. a WinPIC800-al, vagy az IC Prog-al nem működtek.

Nem a PIC tehet erről, más PIC-ek se mennek, ha ez nem!

Másold vissza az io.dll-t a könyvtárba is(azt írtam volna, hogy azt le kell törölni a könyvtárból?). Az ocx-eket is! Inditsd újra a PC-t!
(#) zsoltee0001 válasza watt hozzászólására (») Aug 8, 2009 /
 
Szia

"Másold vissza az io.dll-t a könyvtárba is(azt írtam volna, hogy azt le kell törölni a könyvtárból?). Az ocx-eket is! Inditsd újra a PC-t!"
Ezt is kipróbáltam már, és mégsem megy, de a gépembe van a hiba, mert másik számítógépen meg fut, úgyhogy :
üdv
(#) brato hozzászólása Aug 8, 2009 /
 
Üdv!

Megnézné valaki, hogy mit rontottam el a mellékelt kódban?
Egy BC1602A tipusú lcd-t szeretnék szóra bírni de sehogy nem sikerül az inicializálás.
Az adatlapja alapján csináltam a kódot de valamit nagyon elszúrtam és nem találom a hibát.

LCD.ASM
    
(#) potyo válasza brato hozzászólására (») Aug 9, 2009 /
 
Kódot még nem analizáltam, de a kontraszt be van állítva?
(#) brato válasza potyo hozzászólására (») Aug 9, 2009 /
 
Üdv!

Igen be van, másfajta hex fájllal működik.
(#) MPi-c válasza brato hozzászólására (») Aug 9, 2009 /
 
A kontrasztnak mi köze a hex fájlhoz?
(#) brato válasza MPi-c hozzászólására (») Aug 9, 2009 /
 
Annyi, hogy egy múködő programmal lett beállitva, és igy biztosan jól van beállítva.
(#) MPi-c válasza brato hozzászólására (») Aug 9, 2009 /
 
OK! Belenéztem a kódba, az LCD inicializálás 4 bites módba történik, de szerintem nem úgy, ahogy kellene. Mellékelek egy leírást. Ellenőrizd!
(#) zsoltee0001 hozzászólása Aug 10, 2009 /
 
Sziasztok

Winpic800 -> Opciók ablak, erről kellene nekem valami leírás, mert rákerestem és semmit nem találtam.
Az osc részt értem, de a többit nem. Mik ezek a beállítások? Lehet, hogy azért nem találtam semmit mert nem is lényeges?
Összeraktam a cikkben található 8 ledes villogót, ami nem működik, teljesen elakadtam.
üdv
(#) MPi-c válasza zsoltee0001 hozzászólására (») Aug 10, 2009 /
 
Hogyne lenne lényeges! Az adott PIC konfigurációs bitjeit lehet beállítani, annak leírása pedig a PIC adatlapjában van.
Erősen ajánlott a kód elején elhelyezni a beállításokat ("__config","#fuses","#pragma config" stb.) és nem kézzel állítgatni. Ha a kódban benne van, akkor a hex betöltésekor itt annak megfeleően jelenik meg a beállítás és nem kell rajta módosítani semmit.
(#) El_Pinyo válasza brato hozzászólására (») Aug 10, 2009 /
 
Szia!
A Delay szubrutinok hibásak! A 100 us-os késleltetésnél a * , /, -, (, ) operátoroknak semmi értelme, ezeket a direktíváknál lehet csak használni. Bővebb leírást az MPASM Assembler Help tárgymutatójában találsz a "Symbols, In Expressions" címszó alatt. Ha valaminek az értékét 1- gyel szeretnéd csökkenteni, akkor használd a decf vagy decfsz esetleg a sublw, subwf utasításokat. Egyébként a neten rengeteg assembly nyelven íródott LCD kezelő program van, keress rá.
Üdv.
(#) zsoltee0001 válasza MPi-c hozzászólására (») Aug 10, 2009 /
 
Szia

Ha más PIC tipust használok (18F458) akkor ezeket a konfigurációs biteket át kell állírtani (ha az órajel nem változik) ?
Erről a kapcsolásról lenne szó
üdv
(#) brato válasza El_Pinyo hozzászólására (») Aug 10, 2009 /
 
A delay szubrutin szimulátorban helyes időzítéssel futott le (Picsimulátoride proramban).
Pont ez a bajom, hogy sok program van és némelyik működik pedig messziről sem hasonlít az lcd adatlapjában leírtakhoz. Ezért szeretnék saját kezelőprogramot írni, hogy értsem is miért működik.
(#) watt válasza zsoltee0001 hozzászólására (») Aug 10, 2009 /
 
Vannak hasonlóságok, és lehetnek eltérések. Mindig a kérdéses PIC-nek megfelelően kell beállítani mindent! Természetesen!
(#) zsoltee0001 válasza watt hozzászólására (») Aug 11, 2009 /
 
Szia

Írtad a pic - miértek, hogyanok-ba: "Tanulni szerintem is a 18F jobb, mert egyszerűbb. Utána jöhet a 16F-el való kínlódás, mert addigra legalább van egy kis rutin."
Lehet, hogy ez nálam fordítva van.

Az most már világos, hogy egy 16F részére befordított hex file-al nem működik a 18F PIC,
és az ASM file-t kellene átkonfigurálnom.
Most jelenleg az MPLAB a következő hibát találja:

Idézet:
„Make: The target "E:\---------Elektro\PIC\main.o" is out of date.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F458 "main.asm" /l"main.lst" /e"main.err" /o"main.o" /d__DEBUG=1 /c-
Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_XT_OSC)
Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_CP_OFF)
Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_WDT_OFF)
Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Symbol not previously defined (_LVP_OFF)
Warning[230] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG.
Error[126] E:\---------ELEKTRO\PIC\MAIN.ASM 3 : Argument out of range (not a valid config register address)
Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 13 : Symbol not previously defined (RP0)
Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 21 : Symbol not previously defined (RP0)
Halting build on first failure as requested.


Tehát már az oscillátor konfigurálásánál elakad!
Próbáltam már sima "XT"-vel, de ugyanaz, az adatlapja nem tér ki az asm-re.
Olvastam egyik MPLAB-os topicban, hogy meg kell nyitni Headre-file-ként a pic-hez tartozó INC fájlt, de ez sem hozott eredményt.
Mi lehet a megoldás?
üdv
(#) kisszee válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
Szia,

egyik fajta megoldásnak azt tudom javasolni, hogy megnyitod a kérdéses PIC .inc kiterjesztésű file -ját, és megnézed a lejjebb található "configuration bits" -eknél, hogy valóban létezik -e ilyen szimbólum, amit te fel akarsz használni.
(#) watt válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
Idézet:
„Lehet, hogy ez nálam fordítva van.”

Nem csak nálad. A legtöbben azt hiszik, hogy az F18 nehezebb, mert nagyobb a szám!

A megoldás a konfigra az lenne, hogy a megfelelő PIC-et választod ki a projectben és a megfelelő symbol-okat használod. Itt egy példa a configra. Az adatlap alapján lehet megnézni melyik bit mire való.
  1. LIST P=18F458, F=INHX32
  2.         #include <P18F458.INC> 
  3.  
  4.  
  5. ;       __CONFIG        _CONFIG1L   Nem használt regiszter
  6.         __CONFIG        _CONFIG1H,      b'00100010'             ; 010 = HS oscillator, PLL Diabled. 10MHz-ES KRISTÁLY
  7.                                                                                         ; Oscillator system clock switch option is disabled (main oscillator is source)        
  8.         __CONFIG        _CONFIG2L,      b'00000000'             ; Brown-out Reset disabled, PWRT enabled
  9.         __CONFIG        _CONFIG2H,      b'00000000'             ; WDT OFF
  10. ;       __CONFIG        _CONFIG3L,  Nem használt regiszter
  11. ;       __CONFIG        _CONFIG3H,  Nem használt regiszter
  12.         __CONFIG        _CONFIG4L,      b'10000001'             ; Background Debugger disabled. RB6 and RB7 configured as general purpose I/O pins.
  13.                                                                                         ; Low Voltage ICSP disabled, Stack Full/Underflow will cause RESET     
  14. ;       __CONFIG        _CONFIG4H,  Nem használt regiszter    
  15.         __CONFIG        _CONFIG5L,      b'00001111'             ; CODE PROTECT OFF
  16.         __CONFIG        _CONFIG5H,      b'11000000'             ; EEPROM, BOOTBLOCK PROTECT OFF
  17.         __CONFIG        _CONFIG6L,  b'00001111'         ; WRITE PROTECT OFF
  18.         __CONFIG        _CONFIG6H,      b'11100000'             ; EEPROM WRITE, BOOT WRITE, CONF REG WRITE PROTECT OFF
  19.         __CONFIG        _CONFIG7L,  b'00001111'         ; TABLE READ PROTECTION OFF
  20.         __CONFIG        _CONFIG7H,      b'01000000'             ; BOOT READ PROTECT OFF


Ha ezeket beállítod(persze úgy, ahogy neked kell!), akkor még egy csomó eltérés lesz(portok, symbol nevek, perifériák eltérései) amit csak gyakorlott programozó tud megoldani szerintem.
(#) zsoltee0001 válasza watt hozzászólására (») Aug 11, 2009 /
 
A fejlécbe írtakat most már elfogadja, bár még mindig nem nagyon tetszik neki:
"Warning[230] E:\---------ELEKTRO\PIC\MAIN.ASM 6 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG. "

Mire gondolhat vajon ezzel a "directive config"-al?
Úgy tűnik Itt se született megoldás
Néztem a 18F architektúráját és nincs is benne STATUS regiszter , a bank1 re való átlépés is egészen másképp van, úgyhogy azt hiszem még 1-2 hétig nem fog villogni ez a 8 ledes.
Mindenesetre köszönöm a gyors válaszokat.
(#) icserny válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
A "Warning" csak figyelmeztetés, első körben ne izgasd vele magad!

Az MPLAB telepítési könyvtárában érdemes szétnézni, az MPASM Suite/Template/Code könyvtérban van miden PIC-hez egy minta keretprogram. Abból például kiderül az is, hogy a konfigurálás javasolt formája:

  1. ;   Oscillator Selection:
  2.     CONFIG      OSC = LP             ;LP

Persze, LP helyett írj mást, azt, ami kell!
(#) zsoltee0001 válasza icserny hozzászólására (») Aug 11, 2009 /
 
Nem izgatom miatta magam
Annál jobban árdekel, hogy
" BCF STATUS,RP1

BSF STATUS,RP0 ;BANK1-be átlépünk
;PORTA Digitális I/O-vá tétel "
helyett (bankváltáskor) mit kellene írni, mert ez viszont error
üdv

(#) icserny válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
Bankváltáshoz a Bank Select Register-t (BSR) kell használni. Már ha szükség van rá...

STATUS regiszter egyébként van, csak RP1 meg RP0 bitje nincsen, mivel a bankváltás a fent említett BSR regiszterhez került át.

Át kell tanulmányozni az adatlapot, mert abból kiderül, hogy PIC18-nál a speciális funkciójú regiszterek az Access RAM címtartományába esnek, így a PIC16-hoz képest egyszerűsödik az elérésük (nem kell slalomozni a bankok között).
(#) szilva válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
Idézet:
„Error[113] E:\---------ELEKTRO\PIC\MAIN.ASM 13 : Symbol not previously defined (RP0)”


Ha erre gondolsz, akkor ebből az derül ki, hogy nem ismeri fel definiált szimbólumként az RP0-t. Vagy mert nem így hívják az adott PIC include-jában, vagy mert nem is töltötte be valamiért az include-ot. Elérési utak, ilyesmi lehet a gond.
Következő: »»   13 / 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