Fórum témák
» Több friss téma |
Igen, lehetséges, hogy a veremtár belegyalogolt a változók által használt területbe.
A regiszterek értékét kiírja, de a változókét nem. Mindegy, mert megtaláltam őket a 0x20-tól sorba vannak. Viszont a bin2l és bcdadj részek működését még mindig nem értem és nem tudom mit kéne ott átírni, hogy működjön a program 16 bittel. Gondolom a 18H helyett 10H kell és ki kell törölni a felesleges változókat, sajnos kb. csak ideáig jutottam a felfogásban.
A hozzászólás módosítva: Dec 30, 2013
Végül is nagyjából csak megértettem. Most már működik 16 bittel is. Ahogy látom elég sok trükközgetés volt benne a memóriacím értéke is fel van használva egyfajta számlálóként érdekes. Végül is a memóriacímekkel való "játszadozásról" szól és a bittologatásról. Tényleg jó kis gyors program.
Kösz a segítséget. Meg ha már itt vagyok akkor B.Ú.É.K!
Üdv! BÚÉK! Lenne egy amatőr kérdésem. ADC mérésnél elegendő a Vdd tápfeszültsége, ami egy 7805-ös stab. kocka? Csak PIC és LCD megy róla, vagy mindenképp előnyös külső referencia feszültséget használni? Úgy is kérdezhetném hogy miért nem elegendő a 7805, hiszen az már maga stabil, legalábbis egyszerű feszültség méréssel mérve?
Ha a normál pontosság elég, bőven jó a tápfeszültség, nem kell külön feszütségreferencia.
A normál pontosság alatt mit értesz? Feszültséget mérek a PIC-kel, 10 bites felbontás.
Ez lemaradt: akkor ha kisebb referencia kell mint a tápfeszültség, akkor elegendő egy sima feszültségosztó?
Sziasztok!
Akadt egy kis problémám az lcd kijelzővel. A kurzort be akarom állítani a 3. karakterre, de nem oda megy, megnéztem az adatlapot, az lcd-s cikkeket, minden úgy csináltam. Nem tudom mi a hiba, mit ronthattam el? A programot mellékelem hátha megtalálja benne valaki a hibát, igazából már karaktereket akartam írni rá, de mivel az sem ment, így visszabutítottam a programot csak erre. Úgy van bekötve a pic ahogy a melléket kapcsolási rajzon van. (Nyomógombok nincsenek bekötve csak az lcd semmi más, a táplálás 3db ceruza elemről megy.) A hozzászólás módosítva: Jan 1, 2014
Esetleg ez is lehet:
Kijelző D0, D1, D2, D3 -nem használt- pontjait 0-ra kell kötni. Kijelző + és - táppotjaihoz a kijelzőnél minimum 47nF kondi -gerjedésgátló- kell.
Elemről megy az lcd akkor is van értelme? A D0-D3 egy próbát megér
A hozzászólás módosítva: Jan 1, 2014
A SETTINNGS rutin végén nem látom a RETURN-t. Az inicializálásnál be kell tartani az időzítéseket az adatlap alapján (az utasítások végrehajtási idejét).
A hozzászólás módosítva: Jan 2, 2014
Mindegy miről megy, mindenképpen be kell kötni amiket írtam.
Normál pontosság alatt azt értem, hogy pl. egy feszültségreferencia IC sokkal kevésbé érzékeny a környezeti hőmérsékletre, mint egy 7805 -ös stab. IC. Nézd meg az adatalpját mennyi lehet az eltérés és meglátod, elég-e neked ez a pontosság vagy sem.
Idézet: „Kijelző D0, D1, D2, D3 -nem használt- pontjait 0-ra kell kötni.” Soha nem kötöttem be, ettől függetlenül mindig működött a kijelző.
Nekem volt ebből problémám, éppen a legutóbbi áramkörömnél. Deszkamodellnél nem vacakoltam vele, nem is működött normálisan. Bekötés után jó. Gondolom hogy kijelzőtípustól is függhet.
De alapszabály, hogy digitális Ic.-k bemenete nem maradhat szabadon "lebegve", valamelyik határozott pontra kell kötni. A hozzászólás módosítva: Jan 2, 2014
Az LCD kijelző min. tápfesze adatlap szerint 4,5V. a 3db elem az alsó határt súrolja.Nekem 4,2-ről már nem működött.Ezt is vedd figyelembe hibalehetőségnek.
üdv.:Foxi
5,01V-ra felemeltem a tápfeszt 4db ceruzaakksival (+2 diódával, hogy ne legyen túl magas), D0-D3-at rákötöttem a negatív tápfeszre akkor nem hajlandó még kétsoros kijelzésre se átkapcsolni. Ha +5-ra kötöm akkor ugyan az mint korábban rossz helyre ugrik. A return tényleg lemaradt a végről, de nem változtatott semmit ugyan az a végeredmény. A késleltetést 7-8ms-ra emeltem, de próbáltam úgy is, hogy előbb ráadom a tápot az lcd-re utána a picre.
Ez is egy deszka modell elég sok vezetékkel lehet ez sem túl optimális dolog. Ha nem sikerül megoldani akkor nyákot csinálok neki. A hozzászólás módosítva: Jan 2, 2014
A programodban nincs a kiadott utasítások között késleltetés. Azt én úgy csinálom, hogy miután kiadom az E impulzust (föl-le, a kettő között nem kell várni, max. egy NOP), utána várok a megadott ideig.
Idézet az adatlapból:
Idézet: „bit 2-0 FOSC<2:0>: Oscillator Selection bits 111 = RC oscillator: CLKOUT function on RA4/OSC2/CLKOUT pin, RC on RA5/OSC1/CLKIN 110 = RCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, RC on RA5/OSC1/CLKIN 101 = INTOSC oscillator: CLKOUT function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN 100 = INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN 011 = EC: I/O function on RA4/OSC2/CLKOUT pin, CLKIN on RA5/OSC1/CLKIN 010 = HS oscillator: High-speed crystal/resonator on RA4/OSC2/CLKOUT and RA5/OSC1/CLKIN 001 = XT oscillator: Crystal/resonator on RA4/OSC2/CLKOUT and RA5/OSC1/CLKIN 000 = LP oscillator: Low-power crystal on RA4/OSC2/CLKOUT and RA5/OSC1/CLKIN” Ha az oszcillátor HS módban van, akkor RA4 a CLKOUT és RA5 a CLKIN. INTOSCIO mód kellene.
Watt kolléga honlapját nézd meg ...!
Szia! Csak egy észrevétel: Ha Bitenkénti állítgatás helyett (bcf,bsf), a teljes reg-et írod (movlw/movwf) akkor sokkal áttekinthetőbb lesz a progi, és könnyebb kiszűrni a hibát. Egyébként ha csak adott biteket akarsz írni, mert pl reg-en belül van bemenet, akkor maszkolva célszerű írni (andlw). Üdv! Balázs
Például : ezt .....
Akkor csak a HS_OSC ki kéne cserélni INTOSCIO-ra ha jól értem?
Nem csak azt, hanem is, amit ktamas66 írt az E kezeléséről.
A hozzászólás módosítva: Jan 2, 2014
Ok, az megvan. Így jó lesz? Kösz a segítséget mindenkinek!
Még mindig ugyan az az eredmény, nagyobb késleltetés esetén is.
Kedves fórumtársak!
A melléklet egy frekimérő forrás fájlja. Ez 16F84-es pick-el működik de átírható 16F628-ra, ehhez szükséges infókat tartalmazza a forrás file. Sajnos mivel nem tudok piket programozi a mellékelt képen látható eredményt tudtam csak eléri. Nem tudom , hogy a kétszer 16 karakteres kijelzőhöz mit kell átírni. PIC16F628A tip. eszközbe szeretném betölteni a programot. Ehhez kérném a segítséget. sz_f
FM1.004 Added code to allow user to fix crook display
; Deleted #defines for crook displays ; Pin 18 is now input. 1 = good display, 0 = crook
Köszönöm a választ. Ebben a sorban kerestem a megoldást: ;#define FIXIT PORTA,0x01 ; 1 = "good display"
; 0 = do CRLF at "chr 8" csak ha itt módosítottam üresek maradtak a karakterek helyei. Sajnos úgy érzem, még várat a dolog magára, mivel a pic programozásában minimálisak az ismereteim. |
Bejelentkezés
Hirdetés |