Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   469 / 1320
(#) Hp41C válasza potyo hozzászólására (») Ápr 24, 2009 /
 
Sziasztok!

Egy másik megoldás:
Legyen a W -ben a kiviendő minta, aminek a felső 4 bitjeit kell valamelyik 8 bites portra kiírni.
  1. xorwf   LCD_PORT,w   ; Az eltérő bitek közül
  2.     andlw  0xf0                ; a maszk által meghagyottakat
  3.     xorwf   LCD_PORT,f    ; változtatjuk csak meg.

A maszk persze az igényeknek megfelelően változtatható. Lényegesen rövidebb lehet így a kód.

Probléma akkor lehet, ha a beolvasáskor (a két xorwf utasítás beolvassa a port értékét) nem a kimeneti regiszterbe írt értéket kapjuk meg. Pl.: Ha valamelyik portbitnél a feladat igénye miatt a TRIS bitet kell időről időre állítani. Ekkor azokon a biteken, ahol a TRIS bit 1, a bemeneti értéket kapjuk meg, és ezen értékkel fog számolni a xorwf. Azaz e műveletek elött, a nem módosított biteken már beáállított értékek mégiscsak módosulhatnak.
Ennek a problémának a kiszűrésére kell az árnyékregiszter.
(#) denisz válasza Hp41C hozzászólására (») Ápr 24, 2009 /
 
ezeknek lehet hatása arra, hogy az RCREG tárolóm az PIR1,RCIF szerint mindíg üres?
(#) potyo válasza denisz hozzászólására (») Ápr 24, 2009 /
 
Hogy kötötted össze a modult a PIC-el, és hogy volt összekötve a számítógéppel? MAX232-t vagy hasonló szintillesztőt használtál a géphez?
(#) denisz válasza potyo hozzászólására (») Ápr 24, 2009 /
 
igen, a géphez MAX232 -t használtam. a PIC-hez ezt kiiktattam és rákötöttem a modul TX lábát a PIC 7-es, RX lábára
(#) denisz válasza denisz hozzászólására (») Ápr 24, 2009 /
 
közel lehetek a megoldáshoz, mert amikor egy pillanatra leveszem a tápegységen az áramerősséget, elmegy ugye minden egy pillanatra, majd vissza és néha sikerül értlmes NMEA adatfoszlányokat a kijelzőre varázsolni.
Erre valami ötlet?
(#) denisz válasza denisz hozzászólására (») Ápr 24, 2009 /
 
egy problémára rájöttem. elnéztem pár sort és SPBRG értékadása még a RAM Page visszaváltás előtt volt. Ezt javítva csinos inverz P betűket irkál a kijelzőre.
(#) menyus hozzászólása Ápr 24, 2009 /
 
Sziasztok!

A soros vételi problémát végül sikerült megoldanom, végül Watt megoldását hoztam össze, a telefonszámokat indirekt címzéssel letárolom a RAM ba. Ez megy. Viszont eljutottam oda hogy a referencia telefonszámokat az EEPROM területen kéne tárolnom hogy aztán össze lehessen hasonlítani a bejövő hívásokkal (CID funkció...kapunyitás vezérlés meghatározott számról való híváskor) Az EEPROM ba 12 telefonszámot szeretnék letárolni, a PIC16F628A 128 bájtján ez el is fér, még marad is hely. "Öntanulós módszerrel" tanítanám fel a referencia számokat, ezzel sincs gondom. ( táp ráadása előtt egy nyomógombot lenyomva tartva egy elágazással a bejövő hívások az EEPROM ba tárolódnak el az INDF helyett) Úgy gondoltam megoldani hogy az EEPROM terület egy bájtját arra használom hogy eltárolja az utolsó használt EEADR címet. Új telefonszám tanítása esetén ezt a címet olvasná ki, és innét irná a telefonszámot, nehogy felülírja a meglévőket. Jó ez a megoldás szerintetek? Vagy van erre valami egyszerűbb is? Ti hogyan oldanátok meg?

Előre is köszönöm
(#) r3pl4y hozzászólása Ápr 24, 2009 /
 
Hali mindenki..

Nagyon kezdő vagyok a tmémában.. de szeretnék beletanulni és szeretnék kezdetnek megépíteni egy kapcsolást... ezt:

Bővebben: Link

de nem 9V ről szeretném üzememltetni hanem USB ről.... ebben az esetben kell e valamit tenni a PIC elé vagy direktbe mehet neki az USB 5V -je? Vagy hogy kellene átalakítani a kapcsolást h jó legyen...?
(#) menyus válasza r3pl4y hozzászólására (») Ápr 24, 2009 /
 
A 7805 öt nem ülteted be és a kimeneti lába helyére kötöd az USB 5 V ját. A szűrésért felelős kondenzátorokat azért hagyd rajta.

szerk: pontosabban a panelen az IC ki és bemeneti pad jeit összekötöd. Ez esetben az eredeti módon használható a panel a tápcsatlakozóról. Csak nem 12 V ról jár hanem 5 V ról.
(#) benjami válasza menyus hozzászólására (») Ápr 24, 2009 /
 
A másik módszer az, hogy a 0x00-kat tartalmazó telefonszám még üres, csak így nehezebb megkeresni az üres telefonszám helyét. Az általad leírt módszer egyszerűbb, viszont mi van ha ki szeretnél törölni egy telefonszámot ?
Én úgy csináltam a riasztómban, hogy a számokat a sim kártyán levő telefonkönyvben tárolom, és a "gazda..." nevűek tudják az élesítést megszüntetni, a "hivni..." nevűeket meg sorban végighívja riasztás esetén. Igaz ez rendes telefonnal van megoldva, annak meg ugye van kijelzője és gombjai amivel fel lehet a telefonkönyvet tölteni. Az nem jó megoldás hogy hogy a sim kártyát rendes telefonba átrakva a telefonkönvbe beírod ezeket a számokat? Ha törölni is kell néha belőle ez a megoldás egyszerűbb.
(#) menyus válasza benjami hozzászólására (») Ápr 24, 2009 /
 
Igen ez lényegesebben egyszerűbb, átgondolom. Ráadásul már más is javasolta. A lényeg az egyszerűségen van a felhasználó oldaláról nézve. Bolondbiztosnak kell lennie mert akik használni fogják nem túl műszaki beállítottságúak. A törléssel kapcsolatban igazad van, egyenként kell kezelni a számokat hogy ne kelljen az egészet újra progizni ha törölni akarok egy számot a 12 közül. Újabb feladat, újabb kihívás...Ez a szép ebben, ezért szeretem ezt csinálni
(#) pepe33 válasza menyus hozzászólására (») Ápr 24, 2009 /
 
Csinálsz egy szerviz SMS kódot, ami után írt dolgokat a PIC vissza leküldi a modulba az pedig végrehajtja.
Így távolról SMS ben bármit megtehetsz.
Sim hozzáférés SMS olvasás , bármi....
(#) KTobi hozzászólása Ápr 25, 2009 /
 
Gondban vagyok.

Eddig használtam az oshosoft féle égetőt. A elmúlt 5-6 napban nem akart működni, próbáltam mindent. Megelégeltem, az este összeraktam az oldalon található égetőt, szétbontva az előzőt. Felismerte a PICet (16F877/16F877A). Olvasni tudta, írni nem akarta. Ma kipróbáltam, hogy kicserélem a soros ellenállást kisebbre, nem segített. Visszatettem a 330ohmost (ilyenem van itthon). Reggel megtaláltam, hogy a tápok nagyon zajosak(50Hz), ezért cseréltem a pufferkondenzátort. Most semmi zaj nincs a tápon, feszültségek rendben vannak, órajel, adatjel van. 4V feletti érték. Szkóppal ellenőriztem. Most még felismerni se akarja a PICet. Olvasáskor üresnek mutatja, íráskor, mint az este, már az első cellánál hibát ír ki. Most a WinPIC800 programból használnám.
Van valakinek ötlete mi baj lehet? Kezdek mérges lenni
(#) Amarton válasza KTobi hozzászólására (») Ápr 25, 2009 /
 
Próbáld ki másik PIC-el is.
Lehet nem az égetőben van a hiba.
(#) KTobi válasza Amarton hozzászólására (») Ápr 25, 2009 /
 
Két PICem van, mint írtam, a 16F877et már régebben használtam, a 16F877At most rendeltem tartaléknak, még nem volt használva, bár a napokban próbáltam. Jelenleg nem bírom mással kipróbálni.
(#) skeletornb válasza KTobi hozzászólására (») Ápr 25, 2009 /
 
Anno velem is ez volt, csak már az elején nem bírta írni a PIC-eket. 3 különböző párhuzamos porti égetőt is megépítettem, de mind ezt a produkálta. Akkor döntöttem úgy, hogy áttérek USB-s égetőre, amikor linux alól is megpróbáltam írni, de nemhogy nem sikerült, de még a párhuzamos portot sem ismerte fel.

Ezzel nem azt akarom mondadni, hogy felejtsd el a soros portot, de ha egy hétnyi szenvedés után sem megy, akkor lehet az alaplapban van a hiba.

Arról nem is beszélve, hogy 3 öcsiégető árából kijön egy PicKit2, ami sokkal kényelmesebb, és PIC égetésen kívül másra is lehet használni.
(#) skeletornb válasza skeletornb hozzászólására (») Ápr 25, 2009 /
 
Elnézést, kapkodtam:

"Ezzel nem azt akarom mondadni, hogy felejtsd el a soros portot"

Itt is párhuzamos portra gondolok.



(#) watt válasza KTobi hozzászólására (») Ápr 25, 2009 /
 
Másik PC-n nem tudod kipróbálni?
(#) KTobi válasza watt hozzászólására (») Ápr 25, 2009 /
 
A laptoppomon is próbáltam, ott se akarja. Ott kisebb a logikai 1es.
Eddig működött az oshosoft is. Még összerakom a régi gépem, megpróbálom arról mit csinál.

Ha nem sikerül, mit ajánlatok, sorosporti JMDt érdemes-e öszeraknom (+/-12V megvan a soros porton). Vagy hétfőn küldjem apámat alkatrészekért, és rakjak össze egy PICkit2 klónt. Vagy valamivel kevesebbet tud mint az eredeti? Esetleg hol lehet akkor két napon belül venni? Sajnos késésben vagyok, minél előbb meg kellene írnom a programot a PICbe, de az se egy verzió lesz, legalább 2-3napig fogom változtatni. A JMDt valószínűleg össze tudom most is rakni, mert kell hogy legyen hozzá alaktrészem.

Javaslat?
(#) watt válasza KTobi hozzászólására (») Ápr 25, 2009 /
 
Bár én a JDM ellen vagyok, próbát megér.
Nagyon sok az ismeretlen tényező. Sajna nem nagyon lehet okosat mondani ilyen egyedi esetben. Végig kell járnod mi a hibás, mert ha már működött, akkor működnie kéne. Az oshonba cserélj IC-t de ne 7406-ot, hanem 7407-et tegyél bele és állítsd át a fázisait a vonalaknak a programban. Ha a csekkolások jók, akkor annak mennie kell.
(#) icserny hozzászólása Ápr 25, 2009 /
 
Örömmel jelentem, hogy a PIC-kwik projekt keretében újabb fejezettel gyarapodott a PIC24 assembly és C programozásával foglalkozó tananyag.

A "Kiterjesztett pontosságú műveletek" c. új fejezet tartalma:

* 32 bites adatmozgatás
* 32 bites változók inicializálása
* 32 bites bitenkénti logikai műveletek
* 32/64 bites összeadás és kivonás
* 32 bites inkrementálás és dekrementálás
* 32 bites logikai eltolás
* Kiterjesztett pontosságú feltételvizsgálatok
* Előjeles egész számok ábrázolása
* Túlcsordulás a kettes komplemens ábrázolású aritmetikában
* Műveletek előjeles változókkal
* Aritmetikai eltolás jobbra
* Előjeles feltételvizsgálat
* Előjel kiterjesztése
* A BRA és a GOTO utasítás összehasonlítása

Az eddig közzétett anyaghoz nem kell venni semmit, az ingyenes MPLAB szimulátorban kényelmesen tanulmányozhatók a jegyzetben szereplő mintaprogramok.

Jó tanulást!
(#) tom75 hozzászólása Ápr 26, 2009 /
 
feszülséget szeretnék mérni pic-cel.
De úgy, hogy pl ha 3v alá csőkken a figyelt feszültség akkor egy led villágít.

Hogyan tudom meg mondani az értéket a programnak?

Tamás
(#) trudnai válasza tom75 hozzászólására (») Ápr 26, 2009 /
 
ADC-vel vagy analog comparatorral tudod ezt megtenni. Az ADC-vel kiolvashatod az aktualis erteket es utana hogy mit csinalsz vele azt eldontod, a comparatorral pedig folyamatosan figyeltetheted, hogy 3 V ala csokken-e a feszultseg, ha igen kapsz egy interruptot vagy a comparator outputlabra kiteszed a jelet amire egy LED-et akasztasz es a tobbit mar csinalja a PIC magatol mig a programod foglalkozhat valami egeszen massal.
(#) skeletornb válasza tom75 hozzászólására (») Ápr 26, 2009 /
 
Ha csak jelzést akarsz 3v alatt, akkor a komparátort válaszd, mert az hardveresen el van magába, és csak egyszer kell konfigurálni. Ellentétben az ADC-t futtatni kell bizonyos időközönként, ha folyamatosan meg akarsz győződni a mért értékről.
(#) AMD hozzászólása Ápr 26, 2009 /
 
Sziasztok!
Megpróbáltam a melékelt forráskódot lefordítani PIC16F628A-ra. Le tudná valaki ellenőrizni, hogy mindent jól csináltam-e?
Előre is köszönöm.
(#) skeletornb válasza AMD hozzászólására (») Ápr 26, 2009 /
 
A forráskód 16F84-re utal, azt át kellene írni a használt típusra, továbbá, ha az adott PIC include fájlját be include-olod, akkor a regiszter térképes rész felét meg lehet spórolni, és ha utólag valamit bele akarsz írni, akkor nem kell nézni, hogy az elején utaltál-e rá.
  1. LIST P=16F628A
  2. #include "P16F628A.INC"


A 16F628-at ismerem, de az 16F84-et nem, adatlapból meg kellene nézni a lábkiosztásokat, hogy stimmelnek-e. Ahogy nézem, az elején az EQU-s részben vannak saját felhasználású regiszterek is, azokat hagyd meg a forráskódban.
(#) AMD válasza skeletornb hozzászólására (») Ápr 26, 2009 /
 
Átírtam. Így már jó?
(#) skeletornb válasza AMD hozzászólására (») Ápr 26, 2009 /
 
Még nem az igazi.
Jobban belenéztem a programba, és az a baj, hogy eléggé össze van kutyulva a memóriahasználata, ami mégnagyobb gond, hogy a program utal is ezekre a regiszterekre. Lehet rosszul mondom, de ez így szerintem soha nem is működött.

Nem túl hosszú a kód, és a felépítése nem bonyolult. Szerintem a legjobb, ha nekiülsz és az adatlap alapján átírod. 13-14 oldal környékén vannak a memóriakiosztások.
(#) AMD válasza skeletornb hozzászólására (») Ápr 26, 2009 /
 
Köszönöm a segítséget. Megpróbálom átírni, majd kiderül a végén hogy mi sül ki belőle. Ha elakadok akkor majd írok.
(#) gulasoft hozzászólása Ápr 26, 2009 /
 
Ezt a szívást. Eltűntették a dasy mp3 lejátszó oldalát már csak megrendelni lehet, és nincs meg a forrás. A board meg a schematic megvan mert azt letöltöttem, de a forrás nuku. Nincs meg valakinek esetleg?
Következő: »»   469 / 1320
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