Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   334 / 1319
(#) googa válasza googa hozzászólására (») Nov 8, 2008 /
 
(#) mrfencer válasza googa hozzászólására (») Nov 8, 2008 /
 
Remek, köszi googa! Ez így első olvasatra kicsit bonyolultabbnak tűnik, mint gondoltam
De kipróbálom. Neked sikerült, használod is?
(#) googa válasza mrfencer hozzászólására (») Nov 8, 2008 /
 
Te, én még fel sem fogtam. Egy kis LCD vezérlő alkalmazás letöltése után nézegettem, hogy az ASM nagyon kis karcsú, viszont tele van include-okkal. Láss csodát, ott figyelt a könyvtárban a többi fájl, amiben megvoltak írva előre a rutinok. Ekkor jöttem rá, hogy ezt így meg lehet ügyködni, ezért is kérdeztem itt a fórumon, hogy mi a módja. Simán megy úgy is, ahogy te akartad és csak az include fáljodban meghatározott címkéket kell meghívnod így pl.: CALL Delay50...stb...
(#) mrfencer válasza googa hozzászólására (») Nov 8, 2008 /
 
Nha majd próbálkozok
(#) szigetivan hozzászólása Nov 8, 2008 /
 
hali!

PIC-el lehet AT parancsokat küldeni?
Én ugy olvastam,h.lehetséges és egyesével kell küldeni a parancsokat karakterenként..
Erősítsen meg v.ki akinek már csinált ilyet.
(#) mrfencer hozzászólása Nov 8, 2008 /
 
Irtam eg ykis progit ami arra lenne hivatott, hogy az RC1 lábon lévő kapcsoló logikai 1 akkor az RB0-ás lábon a ledem világitson, ha lekapcsolom a kapcsolót ne világitson. De sajna nem műkszik. Valaki segítene nekem , hol tévedtem rossz útra?

  1. LIST P=16F877
  2. #INCLUDE "P16F877.INC"
  3. __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF
  4.  
  5. ORG 0
  6.  
  7. #define RRLED PORTB,0  ; Right_Red_LED RB0
  8. #define S1 PORTC,1         ; S1 kapcsoló
  9.  
  10.        
  11.  
  12. start
  13.  
  14.         banksel TRISB          
  15.         clrf    TRISB          
  16.         banksel PORTB          
  17.  
  18.  
  19. testS1
  20.         btfsc S1
  21.         goto testS1
  22.  
  23. main
  24.  
  25.         bsf RRLED
  26.         nop
  27.         goto testS1
  28. end
(#) icserny válasza mrfencer hozzászólására (») Nov 8, 2008 /
 
Idézet:
„...ha lekapcsolom a kapcsolót ne világitson.”

Ez hol van a programban??? Én csak olyat látok, hogy "bsf RRLED". Olyat sehol, hogy "bcf RRLED"...

Ilyesmire gondolok:

  1. testS1
  2.         btfsc S1
  3.         goto ledOFF
  4. ledON
  5.         bsf RRLED
  6.         goto testS1
  7.  
  8. ledOFF
  9.         bcf RRLED
  10.         goto testS1

(#) watt válasza szigetivan hozzászólására (») Nov 8, 2008 /
 
Idézet:
„Erősítsen meg v.ki akinek már csinált ilyet.”

Bár ennek a mondatnak nem sok értelme van, megerősítlek, lehet AT parancsokat küldeni és mivel a soros kommunikáció 8 bites, így karakterenként lehet csak elküldeni a karaktereket.
(#) mrfencer válasza icserny hozzászólására (») Nov 8, 2008 /
 
Ohó, Köszönöm szépen!
(#) KipKap hozzászólása Nov 8, 2008 /
 
Sziasztok!
PIC-el szeretnék megépíteni egy vezérlést. Mit gondoltok (van-e tapasztalat) a bemenetként használt lábakat negatívra kapcsolni működik-e cirka 25m hosszú távolságból 0,5-ös MZS kábelen át direktben kapcsolóval vagy illik relét alkalmazni? Arra gondolok, hogy a 25m-es vezeték (több is) okozhat-e problémát a lábakra kötve. Szed-e fel zajt, ami befolyásolja a működést,stb. Esetleg használja árnyékolt kábelt?
(#) potyo válasza KipKap hozzászólására (») Nov 8, 2008 /
 
Ha kapcsolóról van szó, akkor a picnél egy kondenzátort kell a bemeneti láb és a test közé kapcsolni, a vezetékbe meg egy soros ellenállást tenni, hogy az RC tag megszűrje a pic felé érkező zavarokat. Meg célszerű valamelyik ST bemenetű lábat használni a feladatra. Illetve szoftveresen is prellmentesíteni a biztonság kedvéért.
(#) zacc hozzászólása Nov 8, 2008 /
 
A minap gondoltam tovabb haladok es elkezdek microcontrolerekkel foglalkozni. Epitetem egy ilyen egetot:Bővebben: Link Lass csodat ,enged ell magad nem mukodik. mar legalabb vagy 10 szer atneztem . programozas kozben villog a led, meg van az MCLR labon a 13v feszultseg es meg van a Vcc-n az 5v is. tehat elmeletileg mukodnie kellene de failed at address 0000h uzenet jelenik meg. Tanacsaitokat elore is kosz

AZ 1MB-os KÉPET LECSERÉLTEM. --vicsys

untitled.gif
    
(#) KipKap válasza potyo hozzászólására (») Nov 8, 2008 /
 
Köszönöm!
Nyomógombról lenne szó, azt hiszem, ez még rosszabb mint ha kapcsoló lenne... Én is attól félek, hogy lesz benne pergés bőven.
(#) trudnai válasza googa hozzászólására (») Nov 8, 2008 /
 
A lenyege ezeknek a "bonyolitasoknak" hogy legyen dinamikus eroforras kezelesed a modulokbol. Gondolj bele, hogy van mondjuk egy LCD modulod, annak kell valamekkora memoria terulet. Ez kulon file-ban van es beinkludalod az #include paranccsal. Honnan fogod tudni, hogy az az LCD modul hova pakolhat a memoriaban? Egyreszt meg a PIC tipusat sem ismeri, igy meg a memoria terulet elejet sem tudja. Ezenfelul ha elkezdesz mondjuk a 0x20 teruletre pakolgatni es egy masik modul vagy a foprogram is oda pakolgat akkor igen nagy kalamajkak johetnek ki abbol.

A linker sciptekkel azonban nem adod meg hova tegyen, csak annyit, hogy szukseged van valamekkora teruletre. Ekkor a linker fogja a vegleges helyet kivalasztani, kozben ugyel ne legyenek atfedesek vagy ne lepd tul a rendelkezesedre allo memoria tartomanyt.
(#) potyo válasza KipKap hozzászólására (») Nov 8, 2008 /
 
Kapcsolónál is ugyanúgy van pergés, de a pergést ki lehet küszöbölni szoftveresen, ha van elég idő rá. A zajt meg ki lehet szűrni célszerűen megválasztott RC taggal. Pl. ha a láb fel van húzva a pic-nél 4k7 ellenállással, akkor az RC tag legyen 470ohm és 2,2µF-ból.
(#) icserny válasza KipKap hozzászólására (») Nov 8, 2008 /
 
Ha megoldható, akkor alakíts ki 10-20 mA-es áramhurkot, s hajtsd meg vele egy (lassú) optocsatoló LED-jét. A fototranzisztor kollektora meg billegesse a PIC bemenetét (1-2 kOhm-os felhúzóellenállás kell). Ez szerintem jobb, mint a PIC lábára direktben rákötött antenna...
(#) m.joco válasza zacc hozzászólására (») Nov 8, 2008 /
 
Hello
Az IC-Progban talán ki kéne kapcsolni az LVP-t.
Üdv.
(#) watt válasza zacc hozzászólására (») Nov 8, 2008 /
 
Olvasd el az oldalamon a JDM-es írást! Topi is írta a cikkben, hogy nem mindig működik. (abból kiindulva, hogy "mindent rendben találtál".)
(#) KipKap válasza potyo hozzászólására (») Nov 8, 2008 /
 
Oké, köszike! A kondi alapban rajta legyen a lábon vagy a nyomógomb tegye rá?
(#) KipKap válasza icserny hozzászólására (») Nov 8, 2008 /
 
Jó ötlet! De relém van itthon, optokapum nincs... Ha tényleg gond a hosszú vezeték, a relés megoldás is jó lehet, nem?
(#) icserny válasza KipKap hozzászólására (») Nov 8, 2008 /
 
A relé is jó, ha kisfeszültségű, kisáramú...
(#) geri12 hozzászólása Nov 8, 2008 /
 
Üdv mindenkinek!

Tegnap írtam hogy a 12C509A mikrovezérlőt felprogramoztam egyszer, de nem vettem észre hogy hogy C-s, ezért úgye nem tudom törölni...

Na most! Nem tudom hogy gondoljátok, de sok külfőldi oldalon írják hogy régi meg elavult darab. Megjelenleg nincs is itthon másik. Ezért én tegnap neki fogtam hogy ezt a rövidke programot átíjam 12F629-be, ami megtalálható nálam is. Ehhez van forráskódom tehát ezt nem kellett visszaalakítgatni. így egyszerűbbnek is hittem, de fentakadtam. A program feladata hogy bizonyos lábakon frekiket adjon ki egy RDS coderhez. Na már most átgeneráltam 12F629-be, a számítógépes szimulátor szerint a lábakon meg is jelenik a jel. De akkor az áramkörbe betéve miért nem műxik? Mit rontottam el a progiban? Valami láb beállítási gond van?

Egy kis útmútató:GP0, 1, 2 - kimenet GP3, 4, 5 - bemenet 4,332Mhz kvarc-ról megy, de ez mellékes...

Nem szurom be az egészet, csak az elejét...

Itt lenne a progi eleje:

LIST p=12f629a ; proc. defs
#include ; constants

__CONFIG _MCLRE_ON & _CP_OFF & _WDT_ON & _XT_OSC


ORG 0000h

CLRF GPIO
MOVLW H'00'
TRIS GPIO
MOVLW H'00'
OPTION
(#) mrfencer hozzászólása Nov 8, 2008 /
 
Üdv!

Lenne egy rövid kérdésem. Az MPLAB-ban a DMCI (Data Monitor Control Interface) menü mire jó? Biztos hasznos, de nekem nem sikerült életre keltenem, szóval nem tudom mire lehet használni.
Köszi!
(#) geri12 hozzászólása Nov 8, 2008 /
 
Közben rájöttem mi lehet a hiba. Bár evvel felmerült még egy kérdés.

TRIS "regiszter" nincs az 12F629-be. Ahogy kivettem a forrásból azt az egy sort, már a szimulátornál sem volt jó. Érthető, az áramköben ezért nem ment...

Azt mivel lehet helyettesteni?

(#) trudnai válasza geri12 hozzászólására (») Nov 8, 2008 /
 
A 12C509 az Baseline, a 12F629 pedig Mid-Range, ugyhogy ez a kod nem hiszem neked lefordult. Mid-Range-ben nincs TRIS es OPTION utasitas, helyettuk TRISIO es OPTION_REG regiszterek vannak... Adatlapot ki kell nyitni, mind kettot, es nezegetni, hogy egyik helyen mit csinal, masik helyen mit csinal.

Amugy miert ez a fura erteku kristaly? Ha nem szukseges rendkivul nagy pontossag akkor hasznald a belso orajat.
(#) geri12 válasza trudnai hozzászólására (») Nov 8, 2008 /
 
Hali!

Ebben az áramkörben fontos a 4.332Mhz. A kimeneteken így jelenik meg a 57Khz, 1187,5Mhz, stb. Ez a része a proginak jó is, nem is kell módosítani. (nyilán a CALL, NOP, GOTO, BCF BSF, stb lefordul, nem kell piszkálgatni -- zömmével ennyi az utánalévő része a proginak)

Ok! A TRIS -re rájöttem az előbb, de az optionra még nem gondoltam. Nézegetem az adatlapját, aztán meglátjuk mia jutok.

Köszi a segítséget!
(#) trudnai válasza geri12 hozzászólására (») Nov 9, 2008 /
 
57kHz-et meg csak elo lehet allitani, na de 1187.5MHz?! Nem 1.1875MHz akart ez lenni? (amugy nem kotozkodes keppen, de a kilo az kis k es a Hertz az nagy Hz - egeszen pontosan az SI kilo/1000 az mindig kicsi es a computereknel szokas a nagy K mint kilo de az 1024, amugy pedig a Kelvin jele!).

A Baselinenak kevesebb utasitasa van es par SFR hianyzik (pl a TRISIO es az OPTION_REG - ezert szukseges neki kulon utasitas). Amiket felsoroltal vannak, de pl ADDLW/SUBLW nincs. Erdemes atfutni az adatlapokon az Instruction Set Summary reszt, bar meg kell jegyezni ha felfele valtasz akkor nem hiszem nagyobb akadalyokba utkozol ilyen teren.

Ami esetleg gondot okozhat, hogy a bank hasznalat teljesen maskepp van - es nyilvan azt is at kell nezni mi melyik bankon talalhato, nincs-e ebbol eredo problema...

Amugy forditaskor erdemes elolvasni mit irkal a fordito, lehet van egy csomo Error vagy Warning amik esetleg segitenek a lehetseges problemak felderiteseben - pl ami arra figyelmeztet, hogy egy adott regiszter nem a bank0-n van es hogy kellene ele bank szelekcio.
(#) geri12 válasza trudnai hozzászólására (») Nov 9, 2008 /
 
De igen! Bocsi, khz-el akartam írni és mHz lett belőle. Igaz-igaz...

A felsoroltakon kívül más utasítás nincs. A program eleje (amit már bemásoltam) + 80 sor utasítás felváltva az előbb írtakból

Másként kéne deffiniállni a GPIO-kat, kimenet, bemenet, stb a progi elején. A bank használat amúgy rendben van. Majd délután gondolkodom hogyan. Addig is ha valaki tud valami megoldást, példát, akkor várom.
(#) zacc válasza m.joco hozzászólására (») Nov 9, 2008 /
 
Kosz szepen az otletet ki gondolta volna hogy egy kis bifa csodakat tesz . megy
(#) mrfencer hozzászólása Nov 9, 2008 /
 
Egy újabb kérdéssel állnék elő

Ha ezt irom:
  1. #define LED PORTB,0
  2. ....
  3. bsf LED

Akkor ugye az RB0 portján lévő LED világit. Nha de ha én azt akarom hogy az RB0-RB4-ig vílágitson a led, akkor azt
ugyebár nem irhatom, hogy
  1. #define LED PORTB,0,1,2,3

És még sok egyéb más ötletem volt, de egyik sem működik. Ezt hogy lehet megvalósítani hasonló gondolkodás móddal?
Következő: »»   334 / 1319
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