Szerző |
Üzenet |
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
watt!
Tom12 írta: ...ATMEL-hez tudsz javasolni valamit basic vagy pascal nyelvre? (asm, c kizárva ) ... Azt hiszem az MPLAB ASM ennek a kritériumnak nem felel meg. Azt a litániát, amit az előzőekben leírtam, azért tettem, hogy lásd, nem vagyok teljesen tapasztalatlan a programnyelvek terén, tudatosan döntök ezügyben valami mellett-valami ellen. Nem az a probléma az asm-el, hogy nem lehet megtanulni 20(35) utasítást, hanem az, hogy ezeket az utasításokat nagyon sokszor kell leírni, nagyon el lehet veszni a részletekben. Egy LED villogtatása asm-ben is csak 8-10 sor (sacc), de egy soros protokoll ami basicban (pacalban) 2 utasítás, azt Te asm-ben hány oldalon programozod le? (ha meg szubrutinba hívod meg a kész kódot, ugyan ott vagy a kézbentarthatóságával, mint a magasszintű nyelvnél) watt írta: Ne haragudj, de most akkor miért vagy itt? ...
...Ja LED villogtató szintűt igen, de látható, hogy itt még az is gondot okoz. ...
Azért, mert a példaprogram tartalmazott egy olyan banális elírást, amit az adatlap megnézése után saját magam javítottam életem első Atmel progijában, és ha már itt jártam kérdeztem egy olyat, hogy ebben a témakörben valaki tud-e programot javasolni. Erre is való ez a topic.
Hozzászólásod kicsit hittérítő jellegűre sikeredett fűszerezve SPafi stílusával (kösz, a LEDvillogtatás megy, a valahonnan bontott majdnem kompatibilis LCD modulra még nem tudtam írni, de ez ASM-ből se lenne könnyebb ),de azért köszönöm, hogy foglalkoztál a kérdéssel akkor is, ha az abszolúte a Te tevékenségi körödön kívül eső téma volt (mivel nem foglalkozol Atmel Basiccal)
Amennyiben lehetséges, azért továbbra is szeretném profilodba vágó ügyekben segítségedet kérni.
|
hétf. okt. 20, 2008 8:06 |
|
|
watt
gyémánt tag
Csatlakozott: szer. nov. 01, 2006 14:00 Hozzászólások: 3559 Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
|
Idézet: watt! Nem ideológia, azért, hogy évente 1-2-szer megírjak egy magas szintű nyelven 50-100! soros programot, Ne haragudj, de most akkor miért vagy itt? Csak nem azért, mert nem megy ezen a "könnyű" nyelven? De nekem tök mindegy, azt használsz amit akarsz, csak ne terjeszd alaptalan indokokkal, hogy ez a jó módszer a kezdéshez. Idézet: És igen: a segítség ez esetben az lett volna, ha valaki azt irja: próbáljam ki az XY progit, neki bevállt. (mint nekem PIC-hez a PBP) esetleg link...
Parancsolj: MPLAB ASM! Ingyenes, egyszerű, nagyszerű. www.microchip.com
Ja és még valami ehhez a nagy profi vs. hobbi kérdéshez. Én nem vagyok profi, és csak hobbiból építek...
|
hétf. okt. 20, 2008 5:01 |
|
|
watt
gyémánt tag
Csatlakozott: szer. nov. 01, 2006 14:00 Hozzászólások: 3559 Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
|
Idézet: És a tévhitekkel ellentétben magas szintű nyelvvel is lehet működő és stabil programot írni.
Ja LED villogtató szintűt igen, de látható, hogy itt még az is gondot okoz.
Abban igazad van, hogy nem a nyelvtől függ elsősorban, de a nyelv korlátoz. Most írok egy olyan progit, amit asm-ban is alig tudok szinkronizálni, más nyelven pedig asm betét nélkül lehetetlen lenne, mivel nem tudod követni hány sorra fordítja el a fordító a kódot. És ez egy nagyon egyszerű folyamat, ha csak simán végiggondolod, de lekódolni az más tészta.
Egyébként sem azért kell asm-ban tanulni, mert a többi nyelv nem jó, én is használom a C-t PIC-hez, hanem azért mert eltakarja a lényeget, hogy a PIC erősen egy digitális áramkör, amit véletlenül lehet programozni is, és nem egy PC!
A PIC alapos ismerete nélkül semmilyen nyelven nem lehet eredményt elérni, és a megismerésthez az asm adja a legtöb lehetőséget. Azt a 35 utasítást, amiből 20-at használunk, nem nagy dolog megtanulni, nem is ez a nehéz és nem is ez a lényeg, hanem az áramkör ismerete.
|
hétf. okt. 20, 2008 4:57 |
|
|
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
Tényszerűen a soros átvitelről:
A hardwer adott, 10%-os jel a PWM kimenetről ÉS kapun keresztül becsatolva a soros jel -> SI2315 FET hajtja az IR LED-et. (kulcstartó méret, 3V-os Li gombelemről. Vevő TSOP4836, optika nincs.
Amíg a PBP Serin-Serout kb 6m-ig biztosított biztos adatátvitelt, addig a microPascalos Manchester-kódos hibajavítós algoritmus (ugyan úgy 1 paraméterezett parancs), és amitől azért vártam volna vagy 10m-t, már 3-4m-en elvérzett. Ismétlem: a hardware ugyan az!
watt! Nem ideológia, azért, hogy évente 1-2-szer megírjak egy magas szintű nyelven 50-100! soros programot, ugyan úgy nem veszek >20kHUF-os fejlesztőkörnyezetet, mint ahogy nem állok neki megtanulni egy új és nem kifejezetten amatőröknek való programnyelvet. A hobby már csak ilyen. Ha heti 2-3-szor 8 órában szívnom kellene a Basiccal, gyorsan áttérnék valószínűleg a C-re. (az ASM csak legvégső esetben, max a kritikus rutinok.) Pl a watchdog timer törlését asm utasítás végzi, mert nincs rá Basic parancs . Azért köszi, aki ASM-ben "csuklóból" programoz, azt én nem akarom meggyőzni a Basic "jóságáról", de ha pl Attila86 csak azért idegenkedik a mikrovezérlőktől, mert nem tud programozni, akkor van a Basicnek is létjogosultsága. És igen: a segítség ez esetben az lett volna, ha valaki azt irja: próbáljam ki az XY progit, neki bevállt. (mint nekem PIC-hez a PBP) esetleg link...
Ui:
snapscan: Kb 10 percet foglalkoztam a bascommal, egyszerűen nem esett kézre. Még nincs elfelejtve. Köszi.
|
vas. okt. 19, 2008 20:57 |
|
|
snapscan
platina tag
Csatlakozott: szomb. jan. 01, 2005 11:21 Hozzászólások: 857
|
watt írta: Tom12 Látom ideológiákat tudsz gyártani, engem nem győztél meg, de nem is kell. Én PC-n Basicben és C-ben programozok, de a PIC esetében eszembe sem volt magasszintű nyelvet használni, mikor elkezdtem. Zsákutca, többen leírták már akik így indítottak.
Nem ideológia, ez is egy nézőpont és nincs vele gond. És a tévhitekkel ellentétben magas szintű nyelvvel is lehet működő és stabil programot írni. A baj általában a felhasználóban van..
Ha konkrét bascom kérdés van, jöhet, megpróbálok segíteni.
|
vas. okt. 19, 2008 20:18 |
|
|
watt
gyémánt tag
Csatlakozott: szer. nov. 01, 2006 14:00 Hozzászólások: 3559 Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
|
Tom12
Látom ideológiákat tudsz gyártani, engem nem győztél meg, de nem is kell.
Én PC-n Basicben és C-ben programozok, de a PIC esetében eszembe sem volt magasszintű nyelvet használni, mikor elkezdtem. Zsákutca, többen leírták már akik így indítottak.
De ezen nem fogunk összeveszni. Segíteni viszont majd az fog, aki ugyenezzel a nyelvvel próbálkozik. Nem sokan vagyunk itt ilyenek...
|
vas. okt. 19, 2008 19:48 |
|
|
gozi
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 382
|
Érdekes, amit írtok a fordítókról. A BASIC tanulónyelv. Ezt el kell fogadni. A kezdőnek pedig hamar sikerélményre van szüksége. Ezt tudja megadni egy BASIC fordító. Én alapvetően nem szeretem a BASIC nyelvet.
Idézet: Valószínűleg a compiler miatt... Hááát... Az egésszel inkább az a baj, hogy mindennemű alap nélkül ugranak neki a tanulni vágyók. Adatlap elolvasása nélkül, sokszor a programozási alapok is hiányoznak náluk. Innentől jön az, hogy sz ar ez sz ar az... Hobbiszintű tötymögésre bármi jó.
A hozzászólást 2 alkalommal szerkesztették, utoljára gozi vas. okt. 19, 2008 19:50-kor.
|
vas. okt. 19, 2008 19:46 |
|
|
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
Persze hobby célra is számít, de annyira azért nem kritikus.
A C-vel az a problémám, hogy tudomásom szerint nagyon kötött és árnyalt szintaktikájú, könnyen megtéved benne az ember. Ha nem napi szinten használom nagyon gyorsan ki lehet jönni a gyakorlatból.
Annó Basicet használtam HT-1080Z-tól Commodor64-ig (suliban), aztán PC-n TurboPascalt, egy kis Fortranos ill ASM-es kitérővel (Z80 assembler).
C-vel soha nem volt még dolgom, ha nem leszek rákényszerítve, próbálom elkerülni. Gyakorlatilag 5-10 évet lehúztam úgy hogy semmiféle programot sem írtam, majd amikor jött a PIC16F84, akkor kezdtem újra Basic ill Pascal nyelven, és azonnali eredményeket tudtam felmutatni. (Sokat szórakoztam soros adatátvitellel infrán, ami végülis PicbasicPlus alatt Serin-Serout utasításokkal vállt be, a mikroPascal alatt támogatott Manchester-kódos átvitel nem volt az igazi. Valószínűleg a compiler miatt...) Ha ASM-ben próbálkozok ilyen szintű feladatot negoldani, talán hetekig tartott volna, ami Basicban órákig. Ritkán programozok, hónapok telnek el úgy, hogy mikrovezérlőt se látok.
|
vas. okt. 19, 2008 19:39 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Tom12 írta: de valszeg az LCD modulomnak is vannak kompatibilitási nyűgjei.) Ugyanilyen nyűgökre számíthatsz a többi fordítónál is. Mivel az asm-et és a C-t sokan használják, így ott ezek a hibák gyorsabban kiderülnek, előbb javítják azokat. Idézet: Esetleg számít a kisebb kódméret, meglepetésmentesebb futás. Hobbi célra az nem számít, hogy mást csinál, mint amit szeretnénk?
|
vas. okt. 19, 2008 19:01 |
|
|
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
Az összefüggés az az, hogy az ember, ha hobbyból csinál valamit, akkor a hatékonyság másodlagos, viszont élvezni szereti a programírás részleteit...
Pénzkeresésnél valószínűleg jobban fest, ha a forráskódot is le kell adni, akkor az asm-ben, vagy c-ben van. Komolyabbnak tűnik, mintha Basicba lenne. Esetleg számít a kisebb kódméret, meglepetésmentesebb futás.
A Bascom helpje ill az egész program felépítése-filozófiája nem annyira fekszik számomra, mint amivel pl a PicBasic Plus bejött nekem.
Az azért a Basic mellett szól, hogy a compiler feltelepítése után pár órával már az ADC-ről beolvasott értéket soros porton a PC-re küldtem, még akkor is, ha a PortA megszívatott. (LCD-re akartam kiküldeni, de valszeg az LCD modulomnak is vannak kompatibilitási nyűgjei.)
A hozzászólást 1 alkalommal szerkesztették, utoljára Tom12 vas. okt. 19, 2008 19:13-kor.
|
vas. okt. 19, 2008 18:51 |
|
|
watt
gyémánt tag
Csatlakozott: szer. nov. 01, 2006 14:00 Hozzászólások: 3559 Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
|
Idézet: Járni járnék, ha pénzkeresős lenne a dolog, de csak hobbyra kell Nem látom az összefüggést! Idézet: de a Bascommal mint compilerrel már egy kicsit összevesztem.
Ezzel is össze fogsz, csak idő kérdése...
|
vas. okt. 19, 2008 14:08 |
|
|
snapscan
platina tag
Csatlakozott: szomb. jan. 01, 2005 11:21 Hozzászólások: 857
|
Tom12 írta: de a Bascommal mint compilerrel már egy kicsit összevesztem.
Mi volt a probléma? Nem szokott bődületes hibákat véteni, max. az új chipekkel, de azt is folyamatosan javítgatják.
|
vas. okt. 19, 2008 10:54 |
|
|
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
potyo írta: Tom12 írta: asm, c kizárva Pedig jobban járnál...
Járni járnék, ha pénzkeresős lenne a dolog, de csak hobbyra kell, ezért nem akarok megtanulmi egy első látásra antipatikus programnyelvet.
Valaki linkelt a NYÁK-gyártásba laminátorhoz való termosztátot, az elektronika pofonegyszerű Atmega8 + 1N4148 érzékelőnek -> gondoltam jó lesz akár sok más célra is, de a "gyárilag" mellékelt hex nem igen azt teszi, amire való volna, hát írok hozzá másik progit. Jelenleg hiperterminálra már beküldi a dióda feszültségét, és reagál, ha melengetem. Ez az első Atmel progim. Majd kinövi magát.
|
szomb. okt. 18, 2008 15:34 |
|
|
gozi
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 382
|
Tom12 írta: PIC-hez találtam korrekt compilert a PicBasic Plus személyében, ATMEL-hez tudsz javasolni valamit basic vagy pascal nyelvre? (asm, c kizárva ) Háát, ezzel a két programmal a BASIC kínálat nagyjából ki is van lőve. Pascal-ból szintén két "normálisabbnak" mondható program van. C esetén egy picit jobb a választék.
|
szomb. okt. 18, 2008 15:15 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Tom12 írta: asm, c kizárva Pedig jobban járnál...
|
szomb. okt. 18, 2008 15:10 |
|
|
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
Tom12 írta: ... a PORTA kifejezésre "nem deklarált változó" hibaüzenetetad. A PORTB, PORTC, PORTD -t tökéletesen kezeli...
Nos rájöttem ... Az ATMEGA8-nak nincs "A" portja. Most csak a gyári példaprogi volt felhasználóbarátságtalan.
PIC-hez találtam korrekt compilert a PicBasic Plus személyében, ATMEL-hez tudsz javasolni valamit basic vagy pascal nyelvre? (asm, c kizárva )
Égetni egyenlőre STK200/300-at használok, amit a Bascom szoftverével hajtok meg, de a Bascommal mint compilerrel már egy kicsit összevesztem.
|
szomb. okt. 18, 2008 15:07 |
|
|
gozi
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 382
|
Egyelőre nem javaslom a használatát. A fejlesztők is beismerték, hogy nagyon sok hiba van a fordítóval, így újraírták az egészet az alapoktól. Nagyjából október vége felé ígérték az új verziót.
Itt egy screenshot az új változatból: http://www.mikroe.com/upld/mikropascal_for_avr.jpg
|
szomb. okt. 18, 2008 13:43 |
|
|
Tom12
platina tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 588 Tartózkodási hely: Szeged
|
Sziasztok!
Használja itt valaki a Mikroelektronika cég mikroBasic (v mikroPascal) for AVR programot.
Feltettem a demó változatukat, és első körben elindítottam egy példaprogramjuk fordítását, de a PORTA kifejezésre "nem deklarált változó" hibaüzenetetad. A PORTB, PORTC, PORTD -t tökéletesen kezeli.
Mi lehet a nyűgje?
|
szomb. okt. 18, 2008 13:23 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Kattints kettőt a hibaüzenetre, akkor a súgóban odavisz, ahol le vannak ezek írva.
|
szomb. okt. 18, 2008 9:24 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Amikor lefordítom a progit miért írja ki ezeket? Hogyan lehet eltüntetni őket?
Warning[205] D:\PETI\PIC\ORA_EREDETI\VEZERLOORA_KOR_628.ASM 9 : Found directive in column 1. (LIST)
Warning[215] D:\PETI\PIC\ORA_EREDETI\VEZERLOORA_KOR_628.ASM 9 : Processor superseded by command line. Verify processor symbol.
Message[301] C:\PROGRAM FILES\MPLAB IDE\MCHIP_TOOLS\P16F628A.INC 35 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Message[305] D:\PETI\PIC\ORA_EREDETI\VEZERLOORA_KOR_628.ASM 56 : Using default destination of 1 (file)
|
szomb. okt. 18, 2008 9:10 |
|
|
gozi
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 382
|
Itt a Microchip nyilatkozata:
Link
|
hétf. okt. 06, 2008 17:52 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Kb. ennyit hallottam én is róla.
|
hétf. okt. 06, 2008 12:55 |
|
|
Ros-Co.
a fórum lelke
Csatlakozott: hétf. nov. 08, 2004 20:03 Hozzászólások: 6046 Tartózkodási hely: Bp.
|
Ki mit tud arról hogy a Microchip és az OnSemi megveszi az Atmel-t?
http://www.atmel.com/corporate/document ... Letter.pdf
Ez lesz az új logó?
Ez nagyon rossz hír, mivel AVR-ekkel fejlesztünk.
A levél szerint csak az automotive, az RF sé FPGA részlegetadja el, de a gazdasági szopásnak még korántsincs vége, bármi lehet...
|
hétf. okt. 06, 2008 10:23 |
|
|
Vendég
|
delmur írta: Üdv!
Nem tudjátok honnan tudnék neten beszerezni PIC16F628 -at jó áron,könnyen?
Heló!
Innen: http://www.chipcad.hu/
|
pén. okt. 03, 2008 20:44 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Üdv!
Nem tudjátok honnan tudnék neten beszerezni PIC16F628 -at jó áron,könnyen?
|
pén. okt. 03, 2008 20:10 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Ha elért nullára, akkor a legközelebbi DECFSZ alkalmával az értéke átbillen 0xFF-re.
|
hétf. szept. 29, 2008 16:56 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Üdv!
Egy egyszerű de fontos kérdés:
Kód: DECFSZ VAL,f GOTO EGY GOTO KETTO
Mi történik ha VAL letelik?
először ugrik GOTO KETTO -re ugye.
De mi van ha VAL értékét én nem töltöm fel.
A következő ciklusban is átugorja GOTO EGY -et, és VAL értéke marad "0" amíg fel nem töltöm????
Köszi.
|
hétf. szept. 29, 2008 16:38 |
|
|
watt
gyémánt tag
Csatlakozott: szer. nov. 01, 2006 14:00 Hozzászólások: 3559 Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
|
delmur írta: Köszia helpet! még annyi hogy a MAX 232 -t közvetlenül kötöm a PIc-re?
Igen(A TTL felét)
|
csüt. szept. 25, 2008 11:45 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Köszia helpet!
még annyi hogy a MAX 232 -t közvetlenül kötöm a PIc-re?
|
csüt. szept. 25, 2008 10:36 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Ja bocs, rosszul néztem. Szerintem simán annyi, hogy biztosan magas szintre álljon a láb, hogy amikor a soros portot bekapcsoljuk, akkor ne keletkezzel felfutó él (illetve ne akkor keletkezzen). Mindez azzal a feltétellel, hogy az RB2 a TX láb (nincs adatlap nálam).
|
csüt. szept. 25, 2008 10:32 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Azt hittem hogy a TRISA, TRISB regiszterek állításával adom meg hogy bement vagy kimenet legyen. A PORTA - val csak értéket adok neki. NOS pont ez nem tiszta. Rendben van hogy bemenet de miért 1 az értéke?
|
csüt. szept. 25, 2008 10:24 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
1. mert ha adatot akarunk fogadni, akkor azt nem egy kimenetnek állított lábon csináljuk
2. igen, és NÉZD MEG AZ ADATLAPBAN, hogy mi a regiszterek funkciója
3. hiányszik az, hogy a dataL hol kap kezdőértéket. Ez a kód így le sem fordul. De egyébként az ott egy várakozás, aztán meg háromszor kiovassa az RCREG-et (hogy miért háromszor, azt nemtudom).
4. ki, feltéve, hogy előtte a soros küldés engedélyezve lett. adatlap
5. és 6. mert azok a sorvég jelek, mintha entert nyomnál.
|
csüt. szept. 25, 2008 10:13 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Bocsi igazad van.
16F628 -as PIC, PC-n lévő hiper teminállal vagy az RScheck nevű progival akarok kommunikálni. A sebesség pl. 9600 bpm legyen. Pontosabban apró kis kérdéseim lennének a miértekről. A legegyszerűbb ha fölteszek egy progit és kérdezek. A kérdések a kommentek.
Kód: LIST P=16F628, R=DEC #include "P16F628.INC" ;ezt miért kell linkelni? mi van ha nem linkelem?
__config _INTRC_OSC_NOCLKOUT & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_ON
CBLOCK 0x20 ENDC
ORG 0x000
movlw 7 movwf CMCON
movlw b'00000000' movwf PORTA movlw b'00000100' ;miért állítom az RB2 -t 1 -re és miért csak azt, RB1 ??? movwf PORTB
bsf STATUS,RP0
movlw 0xFF movwf TRISA
movlw b'11110010' movwf TRISB
movlw 0x19 ;nos gondolom itt akülönbözó spec. rgiszterek állítgatása megy movwf SPBRG movlw b'00100100' movwf TXSTA
bcf STATUS,RP0
movlw b'10010000' movwf RCSTA
clrf dataL ;ez az egész rész ködös settle decfsz dataL,F goto settle
movf RCREG,W movf RCREG,W movf RCREG,W ; eddig ködös
call message loop call receive call send goto loop
receive btfss PIR1,RCIF goto receive
movf RCREG,W return
send movwf TXREG ; ha az adat a TXREG - ben van akkor már ki is van küldve automatikusan?
TransWt bsf STATUS,RP0 WtHere btfss TXSTA,TRMT goto WtHere
bcf STATUS,RP0 return
message movlw '1' call send movlw '6' call send movlw 'F' call send movlw '6' call send movlw '2' call send movlw '8' call send movlw ' ' call send movlw 'a' call send movlw 'l' call send movlw 'i' call send movlw 'v' call send movlw 'e' call send movlw 0x0D ; ez miért? call send movlw 0x0A ; ez miért? call send return
ELőre is köszi a választ.
Ja még annyi hogy hardware-sen max232 -vel akarom megoldani a kontaktot. hogyan kell illeszteni a PIc - hez? simán összekötni a megfelelő lábakat?
|
csüt. szept. 25, 2008 9:58 |
|
|
watt
gyémánt tag
Csatlakozott: szer. nov. 01, 2006 14:00 Hozzászólások: 3559 Tartózkodási hely: Régi nick .watt Hozzászólások: 3402
|
Benne van minden az adatlapban. Példa is van.
A kérdésed a levegőben lóg amúgy is, mert nem tudjuk milyen PIC-et akarsz használni, azt sem mivel akarod összekötni, azt sem milyen sebességgel akarsz kommunikálni. Érdemes lenne utánanézni legalább az alap fogalmaknak(google).
|
csüt. szept. 25, 2008 9:22 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Sziasztok!
Tudna valaki segíteni abban hogy hogyan kell beállítani a picet (portokat baudrate -t ) amikor soros porton adatokat akarok küldeni vagy venni? Csak egy kis példaprogi kéne ami kiküld egy szót mondjuk és vár a vételre, majd amit vett azt visszaküldi. Ha magyarul lenne kommentezve az maga lenne a tökély. Előre is kössz!
|
csüt. szept. 25, 2008 9:15 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
kopisti írta: Hogy pontosan mi áll ennek hátterében azt sajnos nem tudom, gondolom a PGM-nek nem nagyon kellene lebegnie. Valószínűleg, mint ahogy semelyik másiknak sem
Próbálj az adatlapban utánanézni, hogy mi a funkciója a PGM lábnak
|
kedd jún. 03, 2008 13:25 |
|
|
kopisti
vas-tag
Csatlakozott: szomb. máj. 24, 2008 16:10 Hozzászólások: 5
|
Rájöttem, pontosabban megoldottam a problémát.
A PGM (pin26) lábat összekötöttem a GND-vel és mostmár tökéletesen működik. Nem volt egy reset sem azóta.
Hogy pontosan mi áll ennek hátterében azt sajnos nem tudom, gondolom a PGM-nek nem nagyon kellene lebegnie.
kopisti
|
kedd jún. 03, 2008 13:21 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
kopisti írta: Az nem okozhat problémát hogy a többi nem használt láb csak "lóg" a levegőben? Nem, amennyiben azok kimenetté vannak állítva a programban.
|
kedd máj. 27, 2008 17:47 |
|
|
kopisti
vas-tag
Csatlakozott: szomb. máj. 24, 2008 16:10 Hozzászólások: 5
|
Igazad van a szabályzó/szűrő dologban. Most USB tápról megy, közvetlen a kábelről. MCLR láb 3,3KOhm ellenálláson keresztül van felhúzva. Én is azt találtam hogy a VDD - VSS lábak közé kellene egy 100nF-os kondi szűrés céljából. Az nem okozhat problémát hogy a többi nem használt láb csak "lóg" a levegőben?
|
kedd máj. 27, 2008 17:37 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Egy kondenzátor mindenképpen kell a pic táplábai közé. 100nF kerámia a lehető legközelebb a táplábakhoz. A szabályzó és a szűrés az két különböző dolog. Milyen tápról megy most?
|
vas. máj. 25, 2008 20:30 |
|
|
kopisti
vas-tag
Csatlakozott: szomb. máj. 24, 2008 16:10 Hozzászólások: 5
|
Köszönöm válaszod potyo.
A VUSB és föld között 220nF kondi van.
Sajnos tápszűrés az nincs, én is ilyesmi problémára gondoltam. 5V-os fesz. szabályzóra lenne szükségem vagy egy kondi is segíthetne?
Üdv.
kopisti
|
vas. máj. 25, 2008 11:23 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Tápszűrés és a Vusb lábon a kondenzátor ott van
|
szomb. máj. 24, 2008 21:45 |
|
|
kopisti
vas-tag
Csatlakozott: szomb. máj. 24, 2008 16:10 Hozzászólások: 5
|
Van egy előreprogramozott 18f2550-em (nem én programoztam) ami működik de nem tökéletes. USB portra csatlakoztatva felismeri a szgép de kis idő múlva nem látja majd újra megtalálja. Minden forrasztást ellenőriztem és minden jónak tűnik. Csak akkor működik folyamatosan ha megérintem a táp pontját (+5V) vagy a GND-t.
Ha esetleg valakinek volt már hasonló tapasztalata vagy valakinek van ötlete szívesen venném.
Üdv.
kopisti
|
szomb. máj. 24, 2008 16:20 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Elnézést!
Rendben van a dolog csak sajnos a PORTB 3. bit-je rossz. Ezért nem megy jól. Egy használt F628 -at próbáltam. Dehát csak úgy kaptam. Ez is jó lesz valamire.
|
csüt. márc. 27, 2008 20:24 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Üdvözletem!
Ha lehet még kérdeznék valamit. Ez a progi működik F84 -ben (persze átírva) de F628 ban nem. Valaki tudna segíteni mit kell még átírni hogy működjön?
Kód: LIST P=16F628 #INCLUDE "P16F628.INC" __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF CBLOCK 0x20 T1 T2 IRANY ENDC
ORG 0 START BSF STATUS,RP0 ;BANK1 MOVLW B'00011111' MOVWF TRISA MOVLW B'00000000' MOVWF TRISB BCF STATUS,RP0 ;BANK0
MOVLW B'10000000' MOVWF PORTB CLRF IRANY CLRC
MOVLW 7 MOVWF CMCON
BCF STATUS,6 BCF STATUS,7
VISSZA: MOVFW IRANY
BTFSS PORTA,0 MOVLW 00 BTFSS PORTA,1 MOVLW 01 MOVWF IRANY
XORLW 01 BTFSC STATUS,Z GOTO BALRA
JOBBRA: RRF PORTB,F CALL DELAY GOTO VISSZA
BALRA: RLF PORTB,F CALL DELAY GOTO VISSZA
DELAY: MOVLW d'150' MOVWF T1 DEL: MOVLW d'255' MOVWF T2 DEL1: NOP NOP NOP NOP NOP NOP NOP NOP DECFSZ T2,f GOTO DEL1 DECFSZ T1,f GOTO DEL RETURN END
Futófénynek kelene lennie de csak 2 led villan fel a nyolc helyett
|
csüt. márc. 27, 2008 18:50 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
OK!
köszi! Minden világos.
|
csüt. márc. 27, 2008 11:49 |
|
|
Miky_16
ezüst tag
Csatlakozott: szomb. márc. 08, 2008 10:38 Hozzászólások: 17 Tartózkodási hely: JNKSZ
|
delmur írta: Viszont a gyors freki miatt és a ledek tehetetlensége miatt a következő körben a második kijelző "a" szegmense is világítana amikor vezérlést kap az anódja. Ha tudnátok segíteni jó lenne. Hogyan szokták ezeket megoldani?
Valamit nagyon elnéztél.
RA0-3 kikapcs,RB-n kiírod az első számot,RA0 aktív,vársz picit, RA0-t törlöd,
RB-re második szám,RA1 aktív,vársz,törlöd RA1-et ......
folytatod a 4.számig majd újrakezded.
Ha jól csinálod akkor a magasfreki és az emberi szem tehetetlensége miatt folyamatosnak látod (pl.) az 1234 kiírást.
|
kedd márc. 25, 2008 19:19 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
delmur írta: Hogyan szokták ezeket megoldani? Pontosan úgy, ahogy leírtad. Idézet: Viszont a gyors freki miatt és a ledek tehetetlensége miatt a következő körben a második kijelző "a" szegmense is világítana amikor vezérlést kap az anódja. Ha a katódja is vezérlést kap, akkor igen. Ha nem, akkor nem. Nem világos, hogy hol látod a problémát?
|
kedd márc. 25, 2008 18:33 |
|
|
delmur
ezüst tag
Csatlakozott: csüt. jan. 31, 2008 9:00 Hozzászólások: 65
|
Sziasztok!
Van 4 db 7 szegmenses kijelzőm. Közös anódosak. Szertenék a négy kijelzőre egyszerre különböző számokat kiíratni 16F84 -el.Viszont nem tudom hogyan lehetne megcsinálni azt hogy ne midegyiken ugyanaz látszódjon.PL. RB0 - RB6 -ra kötném a szegmenseket, az anódokat pedig RA0-RA3 -ig. Gondolom valamiféle mátrixos megoldás kéne, hogy ha vezérlést kapna RB0 meg RA0 akkor az első kijelző "a" szegmense világítson. Viszont a gyors freki miatt és a ledek tehetetlensége miatt a következő körben a második kijelző "a" szegmense is világítana amikor vezérlést kap az anódja. Ha tudnátok segíteni jó lenne. Hogyan szokták ezeket megoldani?
|
kedd márc. 25, 2008 17:21 |
|
|
potyo
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3691 Tartózkodási hely: Ada
|
Ez inkább úgy szokott kinézni, hogy van egy feladat, és ahhoz nézünk pic-et, nem pedig a pic-hez feladatot. Kisérletezés céljára valami univerzálisabb pic-et szoktunk használni, pl. 16F877 vagy 18F4550. Ezekben szinte mindenféle periféria megtalálható, van sok lábuk, így majdnem mindent ki lehet próbálni rajtuk. A 16F84 kevés beépített perifériával rendelkezik, így az alkalmazások köre is szűk. Hardveres soros port úgy emlékszem nincs is benne a pc-vel való kommunikáció sem egyszerű. Szoftverből kellene a soros kommunikációt megvalósítani, de ahhoz előbb ismerni kell a soros kommunikáció pontos működését.
|
pén. márc. 21, 2008 20:03 |
|
|