Fórum témák

» Több friss téma
Fórum » Bináris óra
Lapozás: OK   17 / 26
(#) hackerfish válasza vicsys hozzászólására (») Dec 31, 2010 /
 
Tulajdonképpen minden megvan, kivéve a legfontosabbat: a pontos időzítést.

Jah és BÚÉK!
(#) vilmosd válasza vicsys hozzászólására (») Dec 31, 2010 /
 
Ja ugy valahogy
BUEK
(#) hackerfish válasza vilmosd hozzászólására (») Dec 31, 2010 /
 
Meg nem atomórát akarok építeni, és mivel bináris szinte csak én veszem észre, ha rosszul jár. De az a napi 14 perc eltérés, amit írtál, elég sok.
(#) vicsys válasza zenetom hozzászólására (») Dec 31, 2010 /
 
(#) zenetom válasza vicsys hozzászólására (») Dec 31, 2010 /
 
Igen, nézegettem a cikket, de egy hibát találtam benne:
Idézet:
„Kicsit bonyolultnak tűnhet, de nem az!”
de, sajnos az. Vagy én vagyok kuka hozzá, bár kezdek egyre többet megérteni belőle, lehet csak idő kérdése...
(#) hackerfish hozzászólása Jan 1, 2011 /
 
Úgy döntöttem, csinálok egy led villogtatót, ami pontosan 1 másodpercenként villant föl egy ledet, aztán ha ez működik, jöhet az óra rész is.

Az oszcillátor, amit tegnap találtam a fiókban nemigazán akart működni.
Oszcilloszkópom nincs, nemigazán tudom kipróbálni, de a PIC nem csinált semmit. ( config: _XT_OSC )
Hestore-ban van egy csomó féle.
Melyiket vegyem meg, melyiknek a frekije passzol leginkább az órához?
http://www.hestore.hu/cat_69.html?pg=1&cat=69
Az fontos, hogy a hozzátartozó 2 kondi pont 1pF legyen?
(#) vicsys válasza hackerfish hozzászólására (») Jan 1, 2011 /
 
Jajj, ez nem így van. A configban levő XT azt jelenti, hogy 4MHz vagy kisebb kavics kell. A PIC (típusa) adatlapja megmondja, hogy mi a felső határfreki. A F84 és f628 típusoknál van 4 és 20MHz felső határfrekijű típus is. A 4MHz-es kavicshoz általában 33pF, a 20MHz-eshez pedig 22pF körüli kondi a megfelelő.
Szerintem (mielőtt nekiállsz tervezni), olvass egy kicsit, PIC-es könyveket.
(#) hackerfish válasza vicsys hozzászólására (») Jan 1, 2011 /
 
Áááá, most esett le, hogy az nem 4MHz-s, hanem 40MHz-s, amit én tegnap rákötöttem.
Az én PIC-emhez jó lenne valami 4MHz körüli (vagy nem?), csak az a kérdés, hogy melyik legyen, mert van 4,0-tól 4,9-ig sokféle. Órához melyik a legalkalmasabb?
(#) vicsys válasza hackerfish hozzászólására (») Jan 1, 2011 /
 
Tudom, hogy hülyén hangzik, de egyik sem. Mondom, olvass!
Két dolog: A piced 4MHz alatti típust kíván. Mivel a feldolgoztató freki ennek a negyede, nem lesz könnyű maradék nélkül osztani, mert nem kettő hatványa... Használhatsz (bizonyos PIC-eknél) akár 2 különböző kvarcot is. Az 1Hz-hez 32,768kHz és az órajelhez pl. 20MHz-est. Ugye, hogy nem egyszerű...?
Hidd el, ez így nem fog menni, hogy kapkodsz fűhöz-fához. Először tanulni kell.
(#) hackerfish válasza vicsys hozzászólására (») Jan 1, 2011 /
 
Nem értem, minek ennyire túlbonyolítani...
Én csak egy PIC-es órát szeretnék.
Nem kapkodok, ti mondtátok, hogy először az időzítést csináljam meg, és utána az óra részt, mert az elöbbi a fontosabb. És hogy pontos legyen, külső oszcillátor kell. Ezért szeretném tudni, hogy melyiket vegyem meg.
(#) gabi20 válasza hackerfish hozzászólására (») Jan 1, 2011 /
 
Szia!
Az nem gond ha a kristályod frekvenciája nem a kettő hatványa. Szerintem a 4MHz tökéletesen megfelel. Először a belső frekvenciaosztót beállítod 256 - os osztásra(OPTION_REG). Így 15625Hz freki fogja léptetni a TIMER0 -át. A TMR0 regiszter kezdeti értékét beállítod 131 - re decimálisan. Ez azt jelenti hogy 125 impulzus után a TIMER0 túlcsordosul és ekkor kérsz egy megszakítást. A megszakításban újra beállítod a TMR0 regisztert 131 - re, illetve a megszakításba még kell írnod egy cikluset ami 125 - ig számol hogy végül megkapd az 1Hz jelet. Remélem érthető voltam
(#) hackerfish válasza gabi20 hozzászólására (») Jan 1, 2011 /
 
Oké, köszi, megpróbálom megcsinálni.
Majd írok, ha lesz valami eredmény.
(#) gabi20 válasza hackerfish hozzászólására (») Jan 1, 2011 /
 
OK sok sikert
(#) hackerfish válasza gabi20 hozzászólására (») Jan 7, 2011 /
 
Hali!
Megrendeltem az oszcillátort, meg a hozzávaló kondikat is.
Szeretném elkezdeni a progit. (Egyenlőre a belső oszcillátorral tudom csak tesztelni, de az is 4MHz.)

A frekiosztó megvan:
MOVLW B'00000111'
MOVWF OPTION_REG ; 1:256
A TMR0-t hol kell beállítani? Org 0 után, a többi beállításnál, mielőtt bekapcsolom a megszakításat?

Így jó?

  1. ORG     0
  2. GOTO    MAIN
  3.  
  4. ORG 4
  5.         ; Elmentjük a Work és Status regisztereket
  6.         MOVWF   W_SAVE
  7.         MOVFW   STATUS
  8.         MOVWF   STATUS_SAVE
  9.         ;
  10.                 MOVLW   D'131'
  11.                 MOVWF   TMR0
  12.                 ; ITT LESZ A CIKLUS AMI SZÁMOL 125-ig
  13.         ;
  14.         ; Visszatöltjük a Work és Status regisztereket
  15.         MOVFW   STATUS_SAVE
  16.         MOVWF   STATUS
  17.         MOVFW   W_SAVE
  18.         RETFIE                          ;Visszajövünk az interruptból
  19.  
  20. MAIN   
  21. ; Timer0 beállítása
  22. MOVLW   D'131'
  23. MOVWF   TMR0
  24. MOVLW   B'00000111'
  25. OPTION_REG-be valót
  26. MOVWF   OPTION_REG
  27. ...
  28. portok beállítása
  29. ...
  30. ; Timer0 beállítása
  31. BSF             INTCON,T0IE
  32. BSF             INTCON,GIE
  33. ...
(#) vilmosd válasza hackerfish hozzászólására (») Jan 7, 2011 /
 
Hali
Miert a TMR0-t akarod hasznalni? Az altalam leirtak a TMR1-el kapcsolatban nagyon jol hasznalhatoak, es sookal pontosabb idozitest adnak , mert a TMR0 8 bites, tmr1 16 bites. Tehat az idozitest a 16 bitesben sokkal pontosabban be lehet loni. De vegulis ha azt akarod hogy jo legeyn, ugy csinalod ahogy neked tetszik.
(#) hackerfish hozzászólása Jan 7, 2011 /
 
Megcsináltam a TIMER0-ás dolgot, de a kütyü nem csinál semmit. (Nincs kijelzés.)
Mit rontottam el / felejtettem ki?
[Forráskód csatolva.]

binclock.ASM
    
(#) hackerfish válasza vilmosd hozzászólására (») Jan 7, 2011 /
 
TIMER0-ról több leírás van a neten, és azt talán könnyebb használni. Topi is azt írta a cikkében, hogy aki megérti a TIMER0-t, annak már könnyű lesz megtanulnia a többit is. Szóval inkább ezzel kezdenék, és ha ez már megy, továbblépek TIMER1-re.

De még így is pontosabb lesz, mintha időzítgetnék nem? (A legjobb próbálkozásnál is sietett 2 percet nap végére.)
(#) vilmosd válasza hackerfish hozzászólására (») Jan 7, 2011 /
 
Hali
Csak szamolj utana! A TMR0 max 256-ig szamol, a TMR1 65536-ig. A pontossag azon mulik, hogy minel pontosabban be tudd allitani az osztast. Mivel a TMR0 csak 256 osztast tud, ennek a beallitasa nagy hibat tud okozni, es meg a IT kezeles is belevisz egy kis pontatlansagot. De nem tudom az en mintapeldam miert nem jo? Annyit kellene meg varizni, hogy az idozitest le kellene vinni 10 msec-ig. Akkor meg lehet vele csinalni egybol a MPX vezerleset is. Azaltalam ajanlott jelzobites mod meg jobba teszi az egeszet, mert az IT-ben nem kell a mentes es a visszallitas. De Te tudod!
Csa Vili
(#) hackerfish válasza vilmosd hozzászólására (») Jan 7, 2011 /
 
Najó...
Először megpróbálok csinálni egy ledvillogtatót a te kódodból.
Íme: Mindjárt letesztelem...

binclock.ASM
    
(#) hackerfish válasza hackerfish hozzászólására (») Jan 7, 2011 /
 
Nem csinál semmit.
Pedig ha jól nézem, belső jelre van állítva.
/Ebben a COUNT beállítása is benneva, előzőből kimaradt.
Átnéznéd, hogy mi a hiba? (Azt kéne csinálnia, hogy minden második alkalommal kigyullad egy led, tehát minden második másodpercben.

binclock.ASM
    
(#) hackerfish hozzászólása Jan 7, 2011 /
 
Mi lehet a hiba?
(#) vilmosd válasza hackerfish hozzászólására (») Jan 7, 2011 /
 
Nagyon tul van bonyolitva. Igy probald meg!

binclock.ASM
    
(#) hackerfish válasza vilmosd hozzászólására (») Jan 7, 2011 /
 
"Nagyon tul van bonyolitva."
Dehát ez a te kódod(ból van csinálva)
Én csak a másodperc, perc és óra növelését cseréltem ki a led felvillantására. Nem bonyolítottam rajta.
Köszi, megnézem és kipróbálom!
(#) vilmosd válasza hackerfish hozzászólására (») Jan 7, 2011 /
 
Hali
De amit most kuldtem, az egyszeru mint a pofon. Mar a led billegtetes. Remelem mukodik, mert en csak az MPLAB alatt probaltam es tette a dolgat. A bit billegteteshez nem kell egy litaniat irni, Ahogy en irtam az par utasitas es billeg.
(#) gabi20 válasza hackerfish hozzászólására (») Jan 8, 2011 /
 
Szia néztem a forráskódot hát jónéhány hibát találtam benne:

1. olyan utasítás hogy MOVFW nem létezik.
Ha a STATUS regisztert akarod elmenteni:
MOVF STATUS,0 ; STATUS REGISTER A WORKBE
MOVWF STATUS_SAVE ;Status_save-be beletölti a Worköt

2.Mielott írod az OPTION_REG - et nem árt átkapcsolni BANK_1-be (BSF STATUS,RP0).

3.Az interruptban nem törölted a jelzőbitet (BCF INTCON,T0IF). Ha ezt nem teszed meg,
az interrupt csak egyszer lesz végrehajtva, szerintem ez a legfőbb probléma
(#) hackerfish hozzászólása Jan 10, 2011 /
 
Hi!
Megvettem az oszcillátort, meg a kondikat.
Közben elkészült a gombkezelő programrész is.
De a PIC néha magától resetel, a progi újraindul az elejétől. (Onnan tudom, hogy az órának be van állítva egy kezdőérték, 06:50:00.) Ez mitől lehet?

A gombos panel külső alkatrész, egy tüskesorral tudom csatlakoztatni az órához. Amikor hozzáértem a csatlakozóhoz, a PIC resetelt, valszleg mert a Vdd-t, és Vss-t érintettem össze az ujjammal. Azóta a tüskékre egy gumi-védőt raktam, és a progi is csak akkor ellenőrzi a gombokat, ha nem mind a három értéke 1. (ilyenkor nincs csatlakoztatva)
Lehet, hogy még így is felszed valami jelet?
(#) hackerfish hozzászólása Jan 10, 2011 /
 
Ok, beszereltem a 4MHz oszcillátort, és XT-nek konfiguráltam. Az eredeti progival (időzítgetős) működik. Mostmárcsak meg kell hozzá írnom a megszakításosat...
(#) hackerfish hozzászólása Jan 10, 2011 /
 
Most raktam ilyen szivacsot (amit az IC-khez adnak) a gomb, és programozócsatlakozókhoz. Ez részben megoldotta a problémát. Mostmár nem zavarja a PIC-et, ha a tüskéket 'tapizom', de a gombnyomásokra sem reagál. Tulajdonképpen mit csinál ez a cucc? Annyit hallottam róla, hogy antistatikus.
(#) gabi20 válasza hackerfish hozzászólására (») Jan 10, 2011 /
 
A gombokhoz kötöttél felhúzóellenállásokat?
(#) hackerfish válasza gabi20 hozzászólására (») Jan 11, 2011 /
 
Hi!
Így kötöttem be. (Ezt a rajzot a netről szedtem.)
3 Gomb van összesen, a Gnd, és Vcc közös, tehát az 5 tüskét jelent.
Újabban előfordult olyan jelenség is, hogy amikor leválasztottam a gombokat, az összes led elkezdett gyorsan villogni...
Most csináltam egy olyan védőt, hogy 5 precíziós foglalatot zsugorcsővel vontam be, (a csatlakozóknál kilukasztottam) és ezt raktam rá a tüskesorra.
Ez így védi a PIC-et, de még mindíg nem tudom rendesen beállítani a gombokkal, a fent említett dolog miatt.

pic_gomb.png
    
Következő: »»   17 / 26
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