Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
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!
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
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?
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?
Ha W, akkor a W-be teszi az eredményt, ha F, akkor visszateszi a regiszterbe.
Emberek! Már 3 napja van 32 bites, ismétlem 32 bites PIC!
32bit
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
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
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.
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.
Ü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
Valami másik fordító kell hozzá, nem a CCS. Lehet, hogy a Hi-Tech féle PICC, vagy a Microchip C18 kell hozzá.
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.
Ü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.
Hello Potyo.
Köszönöm, majd kipróbálom, ha mégsem sikerül akkor újra jelentkezek. Kösz
ü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?
Biztosan nem megy bele, vagy csak az F8-at nyomogatod, és a szimulátor gyorsan végrehajtja?
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.
A kijelzőn látod halványan a "kockákat"? Megvan neki rendesen a tápfesz és a kontraszthoz szükséges fesz is?
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.
Okés, de mi van a kontraszt potival? Tettél bele?
2,2k és 10k közt probáltam , de mintha nem változna semmi.
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.
Ú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 ?
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.
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 !
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! |
Bejelentkezés
Hirdetés |