Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   98 / 1318
(#) watt válasza potyo hozzászólására (») Nov 8, 2007 /
 
Egyetértek!
(#) potyo válasza menyus hozzászólására (») Nov 8, 2007 /
 
Másik lehetőség, hogy utólag nullázod a felső négy bitet.
MOVLW 0x0F
ANDWF adresh_i, f


Ja és hamár itt tartunk, az RRF-nek van még egy paramétere. Mégpedig az, hogy a forgatás eredményét hová tegye!
(#) grapee válasza watt hozzászólására (») Nov 8, 2007 /
 
SIKER!

Uraim! Köszönöm a kitartó és türelmes Bug keresést!!!

A hiba az én 'készülékemben' volt

Már csak az írási időközt kellett növelnem (lassítani az írást) 7-ről 14ms-ra és így már a verify is lefutott rendesen - nem vétett írási hibát

Megyek is le a kocsiba kipróbálni
(#) watt válasza grapee hozzászólására (») Nov 8, 2007 /
 
Oxigén! Mit is égettél a kocsidba?
(#) menyus válasza potyo hozzászólására (») Nov 8, 2007 /
 
Hát akkor megint én egyszerűsítettem le a dolgokat tulságosan... nekem úgy volt logikus hogy ha úgy adom meg : RRF adresh_i akkor az adresh_i regiszteren belül végzi el a műveletet, és az eredményt is oda teszi. Tehát a megoldás RRF adresh_i,w , akkor a W be teszi az eredmény?
(#) grapee válasza watt hozzászólására (») Nov 8, 2007 /
 
Egy kis Unilink átverőt

Csak ki kell mérnem azt a nyákot is, mert amint rádugom a rádióra, egyből leáll az egész készülék - elsötétül. De ez már inkább csak bekötési gond lehet.

Sztem ez már holnapra marad
Most a PIC felprogramozásának sikere is eléggé megörvendeztetett....legalább tudom, hogy nem rossz az íróm, csak nem tudom még kezelni. De ez is csak rutin meg tapasztalat kérdése...idővel csak összegyűlik 8)

Viszont most belegondolva, lehet a kódon is faragni kell majd kicsit, kiderül.

Ő lenne az: http://gnunilink.sourceforge.net/

Viszont ehhez a kapcsoláshoz érkezett egy észrevétel is:
" 2. a reset lábnál kell védelemnek egy soros dioda és egy 100k-s ellenállás párhuzamosan "

Ez mennyire lehet komoly, ha hiányzik?
(#) potyo válasza menyus hozzászólására (») Nov 8, 2007 /
 
Ha W, akkor a W-be teszi az eredményt, ha F, akkor visszateszi a regiszterbe.
(#) menyus válasza potyo hozzászólására (») Nov 8, 2007 /
 
Köszönöm!
(#) tszaboo hozzászólása Nov 9, 2007 /
 
Emberek! Már 3 napja van 32 bites, ismétlem 32 bites PIC!
32bit
(#) gulasoft válasza tszaboo hozzászólására (») Nov 9, 2007 /
 
van ott egy összefoglaló pdf, benne egy strarter kittel, hát 1200%-os nagyításnál már látszott a panelen a kivezetések között a szigetelő réteg
Ezt azért vasalással nehéz lesz utánuk csinálni
(#) gulasoft hozzászólása Nov 9, 2007 /
 
WATT!

A megszakítás kasán működik így is, tanácsaidat a megszakítás kezelésen és a movwf-en kívül megfogadtam, ugyanis a movwf a Madarász féle könyvben is le volt írva, és igy sokkal áttekinthetőbb marad a progi.

Ha még látsz benne olyat a fenti kettőn kívül ami szarul van kezelve, akkor írd meg légyszi.

tabok sajnos kiestek belőle igy kicsit kusza, de talán azért érthető, a biztonság kedvéért mellékeltem az asm-et is.

LIST P=16F877
#INCLUDE "P16F877.INC"
__CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF
CBLOCK 0x20 ;A 0x20 egy szabad memória rész kezdő címe
KESLELTETO1
SAVE_W
SAVE_STATUS
TESZT
DELAYFLAGS
ENDC

#DEFINE MEGSZAK_VOLT DELAYFLAGS,0
#DEFINE DELAY0 DELAYFLAGS,1

ORG 0
GOTO START

ORG 4
MOVWF SAVE_W
MOVFW STATUS
MOVWF SAVE_STATUS

BTFSS INTCON,T0IF
GOTO RESTORE

BCF INTCON,T0IF ;TIMER MEGSZAKÍTÁS VOLT
BSF MEGSZAK_VOLT

RESTORE
MOVFW SAVE_STATUS
MOVWF STATUS
MOVFW SAVE_W
RETFIE


START

BSF STATUS,RP0 ;BANK1-be átlépünk
;PORTA Digitális I/O-vá tétel
MOVLW 0x06
MOVWF ADCON1 ;Mindegyik PORTA digitális
MOVLW B'00011111' ;Betöltjük az akksiba a TRISA-ba irandót
MOVWF TRISA ;Beállítjuk a PORTA-t bemenetre (beírjuk a TRISA-ba)
MOVLW B'00000000' ;Betöltjük az akksiba a TRISD-be valót
MOVWF TRISD ;Beletöltjük (mind kimenet a nulla miatt)

MOVLW B'00000000' ;OPTION_REG ÜRÍTÉSE
MOVWF OPTION_REG
BCF OPTION_REG,T0SE ;FELFUTO EL
BCF OPTION_REG,T0CS ;BELSŐ IDŐZÍTŐ
BCF OPTION_REG,PSA ;A TIMER OSZTÓT ÁLLÍTJUK
BCF OPTION_REG,PS2 ;BITEK ÁLLÍTÁSA
BCF OPTION_REG,PS1 ;
BSF OPTION_REG,PS0 ;1:4

BCF STATUS,RP0 ;BANK0-ba visszalépünk

MOVLW B'00000000' ;INTCON ÜRÍTÉSE
MOVWF INTCON
BSF INTCON,T0IE ;TIMER INTERRUPT LESZ
BCF INTCON,T0IF ;TIMER TULCSORDULÁS JELZŐ
BSF INTCON,GIE ;INTERRUPTOK ENGEDÉLYEZÉSE


MOVLW B'10000000' ;PORTD ALAPERTEK
MOVWF PORTD

FUTOFENY
RLF PORTD,1 ;BITFORGATÁS
CALL DELAY
GOTO FUTOFENY ;VEGTELEN CIKLUS


DELAY
MOVLW d'100'
MOVWF KESLELTETO1
D1
BCF DELAY0
BTFSC MEGSZAK_VOLT ;MEGSZAKÍTAS FLAG VISZGÁLATA
CALL SETBIT0 ;VOLT MEGSZAKÍTÁS VALTOZOK LEKEZELESE
BTFSS DELAY0 ;HA DELAY0=1 AKKOR LEFUTOTT 0-RA A KÉSLELETETÉS VÉGE A DELAYNEK
GOTO D1 ;DELAY0 NEM 1
RETURN


SETBIT0
BCF DELAY0 ;DELAY0 TÖRLÉSE
BCF MEGSZAK_VOLT ;MEGSZAKÍTÁS FLAG TÖRLÉSE
DECF KESLELTETO1,f ;CSOKKENTJÜK A VALTOZÓT
BTFSC STATUS,Z ;HA LEMENT 0-RA, AKKOR Z BIT BEÁLL
BSF DELAY0 ;DELAY0=1, LEMENT 0-RA A KÉSLELETETÉS
RETURN


END ;ITT A VÉGE FUSS EL VÉLE

main.asm
    
(#) potyo válasza gulasoft hozzászólására (») Nov 9, 2007 /
 
Néhányszor elhangzott, hogy a W és STATUS mentését nem így kell csinálni. De nem fogom megmondani, hogy hogyan, hanem nézz utána magad!

Ahhoz pedig, hogy ne egye meg a kódból a tabot, stb., ahhoz a beírt kódot a Kód gomb segítségével kell beilleszteni, és az elején ke kell egészíteni, hogy code=asm

Nem MOVWF, hanem MOVFW utasítás nem létezik. MOVF utasítás van, aminek két paramétere van, F vagy W.

Madarász és másféle könyvekből pedig nem veszünk konkrétumokat, a konkrétumok egyetlen forrása az adatlap. Néha még abban is vannak hibák.
(#) gulasoft válasza potyo hozzászólására (») Nov 9, 2007 /
 
Köszi. Azt hittem a Madarász féle könyv elég hiteles, de ha nem is az legalább magyar.
Adatlapban megzéztem tényleg nincs ilyen utasítás, de szerintem igy sokkal olvashatóbb a kód, nem hiába eszi meg az mplab, pedig azt a microchip írta.
Mondjuk a lényegen nem változtat, hivatalosan nincs ilyyn utasítás, igazatok van, de ezt is egy példából vettem akár csak a státusz mentést. (Azthiszem Topi oldaláról)
Megtaláltam a csiziót, a swapf-es dolog lesz, beépítem és akkor már minden kasa lesz gondolom.
(#) Sendi hozzászólása Nov 9, 2007 /
 
Üdv mindenkinek.

Nagyon kezdő létemre a következő a gondom:
Még csak gyakorolom a kész prg.-k elemzését, hex-be fordítást MPLAb-bal.
Eddig nincs gond.
De némelyik prg "C"-ben van, több "c" és "h" kiterjesztésű file-ban.
Az MPLAB-ban Wizard-CCS C compiler- Add (összes c és h file-t)-build all.
HIbaüzenet: PCM nincs installálva a gépre.
Kérdésem: hogy kell abból a sok file-böl egy hex.-t csinálni és mi hiányzik a gépről, ill mi a megoldás.

Köszönettel
(#) potyo válasza Sendi hozzászólására (») Nov 9, 2007 /
 
Valami másik fordító kell hozzá, nem a CCS. Lehet, hogy a Hi-Tech féle PICC, vagy a Microchip C18 kell hozzá.
(#) potyo válasza gulasoft hozzászólására (») Nov 9, 2007 /
 
Az elvekhez, módszerhez, stb. jó a könyv, de konkrétumokat csak az adatlapból vegyél. Ez nem azt jelenti, hogy a könyv biztosan hibás, de lehet benne hiba.
(#) KCS Power hozzászólása Nov 9, 2007 /
 
Üdv mindenkinek

Szükségem lenne egy kis segitségre.
A problémám a következö: Van nekem 2db Eurolite TMH-150 es robotlampa es azt szeretném számitogéprol vezérelni. A piacon találhato USB-DMX Interface minim. 400Euro
Van hozzá egy rajzom de nem egészen ertem és valami program is kell egy bizonyos PIC16F877 be.
Tud valaki segiteni?
Elöre köszönöm.
(#) Sendi hozzászólása Nov 9, 2007 /
 
Hello Potyo.

Köszönöm, majd kipróbálom, ha mégsem sikerül akkor újra jelentkezek.

Kösz
(#) krajnyak_dani hozzászólása Nov 9, 2007 /
 
üdv
PIC16f84A TIMER0-e által generélt megszakításban van egy szubrutin, de nem akarja meghívni.
A kérdés: megszakíás közben nemlehet szubrutint hívi, vagy mi agond?
(#) potyo válasza krajnyak_dani hozzászólására (») Nov 9, 2007 /
 
Biztosan nem megy bele, vagy csak az F8-at nyomogatod, és a szimulátor gyorsan végrehajtja?
(#) pepe33 hozzászólása Nov 9, 2007 /
 
Sziasztok , kicsit még új vagyok PIC témában. Elkezdem végigolvasni ezt témát, de még elég sok van hátra. Összedobtam egy próbapanelt is, PIC16F877A val, van égetőm is amit korábban készítettem. WILLEM 3.1 es az égető LPT portról megy.
Vettem egy 4x20-as LCD kijelzőt , erre szerettem volna kiírni dolgokat a PIC-el, de sehogy sem jött össze. Ezért letöltöttem egy progit és pont ugyanúgy bekötöttem a kijelzőt ahogy az kéri, de így sem működik. Esetleg valaki tudna segíteni hogy életrekeltsem a kijelzőt ?
Remélem nem nyírtam ki, mert eddig csak a háttérvilágítását láttam működni...
A kijelző tipusa DISPLAYTECH 204B.
Feltöltöttem az eredeti programot is , meg amit betöltöttem is.
(#) szilva válasza pepe33 hozzászólására (») Nov 9, 2007 /
 
A kijelzőn látod halványan a "kockákat"? Megvan neki rendesen a tápfesz és a kontraszthoz szükséges fesz is?
(#) pepe33 hozzászólása Nov 9, 2007 /
 
Persze 5V ahol kell. Az LCD világításhoz tettem egy 47 ohmos ellenállást ettől jó gyenge a fénye ,de gondoltam nehogy kimenjen a háttérvilágítás, meg ha direktbe kapja az áramot akkor nagyon vibrál.
A karakterek körvonala látszódik ,de a pixeleket már nem tudom kivenni.
Program az jónak néz ki ? Annyit módosítottam az eredetihez képest hogy átírtam benne a 16f877-et 16f877A-ra.
Ez 2x16-os kijelzőhöz való, de én gondolom hogy attól a nagyobb kijelzőn meg kellene jelennie a dolgoknak.
(#) vicsys válasza pepe33 hozzászólására (») Nov 9, 2007 /
 
Okés, de mi van a kontraszt potival? Tettél bele?
(#) pepe33 válasza vicsys hozzászólására (») Nov 9, 2007 /
 
2,2k és 10k közt probáltam , de mintha nem változna semmi.
(#) szilva válasza pepe33 hozzászólására (») Nov 9, 2007 /
 
A poti két vége a GND-n és a Vcc-n, a közepe a Vo-n? Általában a GND-hez közeli végénél szokott sötét lenni a kép.
(#) pepe33 hozzászólása Nov 9, 2007 /
 
Úgy van hogy 5v ról lehet jumerrel bekapcsolni 5db 2,2k-t és az megy rá a V0ra.
Akkor átkössem úgy hogy a 5V - 2.2k - V0 - 2.2k ?
(#) szilva válasza pepe33 hozzászólására (») Nov 9, 2007 /
 
Ha nincs ott poti, akkor inkább próbáld meg úgy, hogy egy 2.2k-val közvetlenül GND-re kötöd. Vcc felé valószínűleg nem is kell ellenállás.
(#) pepe33 válasza szilva hozzászólására (») Nov 9, 2007 /
 
NA siker !

Az 5V-ról teljesen lekötöttem a V0 pontot , és egy 2kval lehúztam GNDre , és megjött kép.

A háttérvilágítás lábához kell ellenállás vagy mehet közvetlen az 5 V-ról ?
Mert most 47ohm ellenállas van de alig látom.
És köszönöm mindenkinek a segítséget !
Egyébként a program működik !
(#) szilva válasza pepe33 hozzászólására (») Nov 9, 2007 /
 
Adatlap

LED-es háttérvilágításnak az adatlap szerint tipikusan 4.2V-on tipikusan 280mA áramot kell kapnia. Ebből ki lehet számolni, hogy 5V-nál 0.8V-on kell 280mA-nek folynia, amiből 2.85 ohm ellenállás adódik. Én láttam gyári készülékben 4.7 ohm -ot ilyen helyen, valószínű, az Neked is jó lenne. Előtétellenállás nélkül inkább ne próbáld!
Következő: »»   98 / 1318
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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