Fórum témák

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

Köszönöm, nagyon jó ötlet. A programban van egy 200us timer0 megszakítás is. Valami mégiscsak sántít, mert így nézve a soros vételi megszakítási rutinrészletnek is le kellett vonla futnia.
Szia.
(#) Csaplar hozzászólása Ápr 19, 2009 /
 
Sziasztok!

Sikerült elkészítenem egy kis panelt, amire rákerült egy pic18F1220 és egy DS1307-es óra. Az órával való kommunikációt szoftveres I2C-vel kellene valahogyan összehoznom.
MCC18-al fejlesztgetek, amiben van megírt SW_I2C modul.

Még régen találtam valahol kimondottan a DS1307 élesztéséhez egy kis c fájlt, de elvesztettem és most hiába kerestem a Googleval.

Valaki tudna esetleg küldeni ehhez az órához egy kis c-s példát?

Köszi
(#) kisszee válasza Csaplar hozzászólására (») Ápr 19, 2009 /
 
Itt nézted ?
(#) watt válasza Hp41C hozzászólására (») Ápr 19, 2009 /
 
Ez attól függ, hagyandik a sorban és hogy előtte van-e a Timer int lekezelése, vagy utána.
(#) Csaplar válasza kisszee hozzászólására (») Ápr 19, 2009 /
 
Jaj de jó! Ezt észre sem vettem. Köszi
(#) Beles hozzászólása Ápr 19, 2009 /
 
Hali! Szeretnék kis elindulási segítséget kérni. Egy tv távirányítót szeretnék csinálni, hogy az eredeti távirányítóval betanítani a kódot, aztán lehessen azzal is irányítani a tv-t. Csak a szoftver része érdekelne, hogy-hogy kéne megcsinálni. Assemblerben programozom. Ötletek?
(#) watt válasza Beles hozzászólására (») Ápr 19, 2009 /
 
Nem tuodm pontosan milyen ötletre számítasz? Egy kimenetet kell megfelelő sebességgel a megfelelő időpontban billegtetni. Ha ezt egy minta alapján teszed, akkor a mintát előbb bitenként el kell tárolni. Az időzítést adhatja egy timer megszakítás, amikor az időponthoz tartozó bit érték kikerül a kimenetre.

A lemásolandó fényimpulzust pedig elemezni kell CCP modullal, hogy a frekit és a kitöltést is le lehessen másolni, értékelni, majd beállítani a kivitelhez.

Meg lehet csinálni nagy sebességű mintavételezéssel is, de ahhoz sok memória kell, vagy bonyolult algoritmusok a tömörítéshez.
(#) Csaplar válasza kisszee hozzászólására (») Ápr 19, 2009 /
 
Próbáltam a linkelt DS1307-es C18 modullal elindítani a kütyüt, de nem sikerült...
Pedig ha jól látom, akkor itt is 32,768-as kristályhoz van beállítva, ugye?

#define DS1307_ADDR 0b11010000
#define TIMEPTR 0x00
#define DATEPTR 0x03
#define CONFIGPTR 0x07

  1. SWStartI2C();
  2.         SWWriteI2C(DS1307_ADDR); // address + W
  3.         SWAckI2C();
  4.         SWWriteI2C(CONFIGPTR);
  5.         SWAckI2C();
  6.         SWWriteI2C(0x00); // 00000000 configba írás
  7.         SWAckI2C();
  8.         SWStopI2C();
(#) szilva válasza watt hozzászólására (») Ápr 19, 2009 /
 
Én csináltam ilyesmit, de szerintem jobban jár az ember, ha PC-n elemzi ki a kódokat.

Az IR távirányítók lejetős része azt csinálja, hogy valamilyen impulzusszélesség-modulációt ad ki a kimenetén, de ez a kimenet meg van "szaggatva" egy 36-38kHz környéki frekvenciával. Az IR LED-re a keskeny impulzusok miatt néha A nagyságrendű (!) csúcsáramokat is engednek, így lehetővé téve a nagy távolságok áthidalását. A vivőfrekvenciás módszer a zavarérzékenységet hivatott nagy mértékben csökkenteni, ugyanis a vevőoldalon egy keskeny sávot áteresztő szűrővel figyelik a jel meglétét.

Ha ilyen jellegű jelet ad ki magából a távirányító, akkor érdemes egy TSOP1736 vagy TSOP1738 IR vevőmodullal (vagy más hasonló, a típusszám vége a vivőfrekire utal) nekiállni az elemzésnek. Egy ilyen modulnak kell tápfesztültség, a kimenetén pedig akkor lesz aktív (alacsony) jelszint, ha érzékeli a megfelelő frekvenciájú IR impulzussorozatot. A kimenet aktív és inaktív állapotainak hosszát kell megmérni és ezeket az időket kell eltárolni. Az adatok alapján felrajzolható az "oszcillogram", azaz az a jelsorozat, amit a távirányító kódadója kiad magából. Általában szabályos, mindössze néhány féle hosszakat fogunk találni a jelek és szünetek hosszában. Előfordulhat az is, hogy ugyanazt a gombot többször egymás után megnyomva két különböző sorozatot fogunk felváltva kapni, vagy egy gombot nyomva tartva is többféle eshetőséggel találkozhatunk: lehet, hogy csak egy "ismáéétlés" kódot fog folyamatosan küldeni az irányító és az is lehet, hogy a lenyomott gomb kódját, sőt, a lenyomott gomb kódját is küldheti egy kis változtatással jelezve, hogy az folyamatos nyomás.

Nomost azért írtam, hogy szerintem ezt PC-n érdemes kielemezni, mert ott van mód grafikusan megjeleníteni, (akár emberi beavatkozással is) uniformizálni az impulzus- és szünetidőket, majd ezek alapján már egy "visszaböfögő" programot viszonylag egyszerűen össze lehet ütni PIC-re is. Ha csak az impulzusidőket figyeli egy PIC és azt próbálja eltárolni, ahhoz rengeteg helyre is szükség lenne, biztosan nem elég a saját belső EEPROM-ja, ha pedig értelmezni is akarja az ember a sorozatot, az túl "sok változós" a különböző távirányítók miatt. Persze ha csak egyféle kódra akarjuk megtanítani (pl. RC5 vagy NEC), akkor arra lehet jó tanulóprogit írni, arra elég lehet egy PIC is.
(#) p3n3m hozzászólása Ápr 20, 2009 /
 
Jónapot mindenkinek!
Az volna a kérdésem hogy av16-os panelt lehet-e külön venni?Igazság szerint nem szeretnék venni 1 15000ft-os könyvet a panelért, de a panelra szükségem lenne.a ChipC@d oldalán nem találtam meg külön.Valaki tud valamit erről?Előreis köszönöm:Katona Ábel
(#) drywater válasza drywater hozzászólására (») Ápr 20, 2009 /
 
Annyi kiderült, hogy halott a PIC. Holnap veszek még belőle, mert fogyóeszköz.
(#) Szárnyas hozzászólása Ápr 20, 2009 /
 
Üdv!
A pickit2 starter kit leckéit csinálom és felmerült bennem egy kérdés. Bankváltáskor, ha mondjuk a 0. bank van kiválasztva és át akarok váltani a 2-es bankra, akkor elegendő a STATUS regiszter RP1 bitjét 1-re állítani, vagy mind a két bitet, az RP1-es és RP0-ás bitet is állítani kell? Mindezt csak azért kérdem, mert a példaprogramban mind a kettő bitnek újra értéket adnak, de nem tudom, hogy ezt csak a jobb érthetőség miatt van így, vagy ezt így kell csinálni. Hogy egyértelmű legyen csatolom a példaprogramot.

A2D.asm
    
(#) Gabesz_01 hozzászólása Ápr 20, 2009 /
 
Üdv mindenkinek!
A ismét a segítségeteket szeretném kérni! A problémám oka a következő: találtam egy TCN75-ös I2C s hőmérséklet érzékelőt és egy 16F874 es PIC et tartalmazó áramkört amihez a szerző az asm állományt is feltette az oldalra. Mivel nekem itthon csak 18F4321 akad ezért megpróbáltam átírni a kódot több kevesebb sikerrel...ugyanis akármit csinálok csak ez jelenik meg az LCD-n: "-01 fokC" szerintetek a kóddal lehet gond vagy máshol keressem a hibát? köszönöm a segítségeteket!
megadom az oldal linkjét hátha érdekel valakit:
http://jervin.uw.hu/index.php?page=tcn75
illetve csatolom az irományomat is
Előre is köszi a segítséget!

tcn75.asm
    
(#) icserny válasza Szárnyas hozzászólására (») Ápr 20, 2009 /
 
Idézet:
„ha mondjuk a 0. bank van kiválasztva és át akarok váltani a 2-es bankra, akkor elegendő a STATUS regiszter RP1 bitjét 1-re állítani?”
Igen

  1. bcf       STATUS,RP0     ; back to Register Page 0
  2.  
  3.      bcf       STATUS,RP0     ; address Register Page 2
  4.      bsf       STATUS,RP1


Ez így már túlzás!
(#) Szárnyas válasza icserny hozzászólására (») Ápr 20, 2009 /
 
Rendben, köszönöm! Én is kicsit értetlenül néztem, hogy most akkor ezt miért?
Az adatlapot olvasgatva találkoztam olyannal utasítással is, hogy BANKSEL. Jól gondolom, hogy ezt is lehet bankváltásra használni, úgy hogy megadom neki a regiszter nevét és akkor arra a bankra vált amiben az adott regiszter található? Mert akkor inkább ezt használom az előző helyett.
(#) potyo válasza Szárnyas hozzászólására (») Ápr 20, 2009 /
 
Keress rá a keresővel a banksel szóra ebben a témában!
(#) Szárnyas válasza potyo hozzászólására (») Ápr 20, 2009 /
 
Igaz! Ezzel kellett volna kezdenem.
(#) trudnai válasza Szárnyas hozzászólására (») Ápr 20, 2009 /
 
Idézet:
„Az adatlapot olvasgatva találkoztam olyannal utasítással is, hogy BANKSEL. Jól gondolom, hogy ezt is lehet bankváltásra használni, úgy hogy megadom neki a regiszter nevét és akkor arra a bankra vált amiben az adott regiszter található? Mert akkor inkább ezt használom az előző helyett.”


Igen, ezt inkabb javasolt hasznalni, bar errol azert annyit erdemes tudni, hogy ez nem utasitas, csupan egy a forditonak szolo direktiva amibol a fordito majd a megfelelo utasitasokat legeneralja. Ugy is tekintheted mint egy makro.
(#) gulasoft hozzászólása Ápr 20, 2009 /
 
Nincs valakinek kódja hogy lehet mp3 lejátszót csinálni egy pic24-ből meg egy flash kártyából?
(#) benjami válasza Gabesz_01 hozzászólására (») Ápr 20, 2009 /
 
Rossz a DIV16 szubrutin. Ha már átvitted 18-asra szerintem keress 18-ra való matematikai könyvtárat. Mivel ebben van szorzó utasítás az osztás is gyorsabb lesz, meg talán működni is fog. Az meg egy másik kérdés hogy van ennél jobb módszer is az LCD-re számokat kiírni.
(#) Gabesz_01 válasza benjami hozzászólására (») Ápr 20, 2009 /
 
Tudnál segíteni hogy pontosan hol van a hiba? Nem igazán látom át a dolgot az osztási algoritmust étem de a hibát nem látom
köszi!
(#) benjami válasza Gabesz_01 hozzászólására (») Ápr 20, 2009 /
 
Azt nem tudom, de nekem többféle számkombinációban 0-t adott eredményül.
(#) denisz hozzászólása Ápr 20, 2009 /
 
Hali!

Elsö programomat szeretném megírni egy pic16f628-ra.próbálom legegyszűbb programtól felépíteni fokozatosan. Elő lépésben minden lábra egyet szeretnék adni, de vmiért nem megy. tudna vki segíteni nekem ebben?
list p=16F628 ; list directive to define processor
#include p16F628.inc ; processor specific variable definitions

errorlevel -302 ; suppress message 302 from list file
__config _HS_OSC&_CP_OFF&_WDT_OFF

CBLOCK 0x20
T1
T2
T3
ENDC

LCD_E Equ .4

org 0x0000

Initialise
clrf PORTA
clrf PORTB

movlw 0x07
movwf CMCON

SetPorts
bsf STATUS, RP0 ;select bank 1
movlw b'00000000' ;make all pins outputs
movwf TRISB
bcf STATUS, RP0
clrf PORTB



ciklus
movlw b'11111111'
movwf PORTB
goto ciklus


end


ez lenne a progi, tudom van pár plusz sor benne, de ezek a későbbiekben játszanának szerepet. ez a progi nem ad egyik lábra sem jelet, csak az oszcillátor megy.

a segítséget előre is köszönöm,
denisz
(#) El_Pinyo válasza denisz hozzászólására (») Ápr 20, 2009 /
 
Szia!
Az oszcillátor beállítása biztosan jó (tényleg HS)? Az MCLR láb fel van húzva 5-10k-val tápra? Ha nincs akkor ezt tedd meg, vagy tiltsd le szoftverből. A kerámia kondenzátor (100n- 1uF) ott van a táplábaknál?
Így első körben ennyi jutott eszembe.
(#) icserny válasza gulasoft hozzászólására (») Ápr 20, 2009 /
 
Idézet:
„Nincs valakinek kódja hogy lehet mp3 lejátszót csinálni egy pic24-ből meg egy flash kártyából?”


Akkor már inkább dsPIC33. Bővebben: Link

Ezt a fórumot is érdemes megnézni, ebben olvasható a specifikáció.

Resources requirements:
Flash: ~9.5 kBytes of code + ~11 kBytes of const (8% of dsPIC33FJ256GP710)
SRAM: ~25 kBytes of data + ~1.5 kBytes of stack (88% of dsPIC33FJ256GP710)
CPU usage:
33.6 MIPS (32 kHz / 128 kbps / stereo)
6.8 MIPS ( 8 kHz / 20 kbps / stereo)

Limitations:
MPEG1 Layer 1 and Layer 2 is not support
16-bit arithmetic used
mad_port_stereo_intensity_lsf() func work incorrectly (TODO)
(#) gulasoft válasza icserny hozzászólására (») Ápr 21, 2009 /
 
Köszi!

Ez egész jónak tűnik, van belőle kit is, talán érdemes is lenne megrendelni, csak nem egészen világos, hogy a 15 dollár az szállítással vagy az csak a szállítás.
http://www.teuthis.com/daisy/index.html
(#) El_Pinyo válasza gulasoft hozzászólására (») Ápr 21, 2009 /
 
Szia!
Ez vicces! Az a helyzet, hogy a kérdésedre pont ezt az oldalt akartam linkelni, amit megtaláltál, de gondoltam se nem CF, se nem PIC24F, úgyhogy inkább csendben maradtam. De végül is megtaláltad Te is.
A kérdésedre a válasz: a 15$ az csak a külföldre (USA- n kívül) irányuló posta ára, maga a KIT 115$. Így is megéri?
Üdv.
(#) trudnai válasza gulasoft hozzászólására (») Ápr 21, 2009 /
 
Na most mar en is megneztem azt az oldalt. Hasonloan El Pinyo-hoz en is csendben maradtam, pedig akartam mondani egy mp3 dekodolo chip-et kellene alkalmazni mint ahogy azt a linken lathato project is teszi...

De valoszinuleg arban jobban megeri az a dsPIC-es project... Lehet nem bonyas atirni 24H-ra sem, bar lehet tevedek.
(#) icserny válasza trudnai hozzászólására (») Ápr 21, 2009 /
 
Pont azért másoltam be lentebb a specifikációt, hogy jelezzem: ha a dsPIC33FJ256GP710 is láthatóan csak "alulról közelíti" a kívánalmakat, akkor aligha érdemes erőlködni a szoftveres MP3 dekódolással.

PIC24-ben kevés lesz a RAM és hiányozni fognak a DSP utasítások.
(#) icserny válasza icserny hozzászólására (») Ápr 21, 2009 /
 
Van itt egy topik ahol a VS1011 MP3 dekóder IC-t ajánlják, ami a Lomex-nél 1042 Ft + ÁFA.
Következő: »»   464 / 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