 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
| Poglej prejšnjo temo :: Poglej naslednjo temo |
| Avtor |
Sporočilo |
PZUFIC Vseved


Pridružen-a: Sob 17 Nov 2007 19:06 Prispevkov: 6987 Aktiv.: 31.16 Kraj: Rakek
|
Objavljeno: Sre Feb 02, 2011 7:35 pm Naslov sporočila: Težave z resetom up/down counterja-Flowcode |
|
|
Ker sem se končno naučil programirati, sem se začel ukvarjati z modernizacijo nekaterih mojih dosedanjih projektov.
Eden izmed njih je tudi posodobitev naprave za navijanje transformatrojev, dušilk...tako, da bo imela digitalni števec, ki bo zaznaval tudi smer vrtenja in na podlagi tega prištel oziroma odštel od trenutne vrednosti, ter znal pri določeni nastavljeni vrednosti spustiti zvočni signal oziroma ustaviti frekvenčnik.
Zataknilo pa se je pri resetu števca. Dokler je števec v položaju do 9 se stvar s pritiskom na tipko lepo resetira, kakor pa vrednost zasede več kot eno mesto na displayu pa se na 0 postavi samo prvo mesto drugo pa ne.
Kako naj rešim to težavo?
Program prilagam v priponki.
| Opis: |
|
 Download |
| Ime datoteke: |
Števec za navijanje.rar |
| Velikost datoteke: |
2.08 KB |
| Downloadano: |
10 krat |
_________________ Ne čakaj, da se bo nekaj premaknilo pojdi in nekaj premakni.
Lp Primož |
|
| Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 15.32
|
Objavljeno: Sre Feb 02, 2011 10:14 pm Naslov sporočila: |
|
|
Nimam FC, zato ne morem videti programa ...
1. Malo nerodno si napisal: "... prvo mesto, drugo pa ne". Iz katere strani gledaš število - iz leve ali iz desne?
Če gledaš iz desne, potem ti višje cifre ostanejo na zaslonu nedotaknjene, moral pa bi jih povoziti s presledki. Ali vsaj z ničlami.
2. Kako imaš izveden izpis cifer števila?
Ima vsaka cifra svojo spremenljivko, ali imaš pretvorbo iz 16bit (dve spremenljivki za zapis števila) v 5 cifer?
Če imaš za vsako cifro svojo spremenljivko, enostavno v vse vpiši 0 in jih izpiši na zaslon. Če je ničla vodilna, lahko tudi presledek vpišeš.
Če imaš 16-bitno število in ga sproti pretvoriš, se tak simptom načeloma ne bi smel zgoditi.
Vedno izpiši vse cifre, ne glede na velikost števila. Tudi pri 00000, ali ____0 .
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
| Nazaj na vrh |
|
 |
PZUFIC Vseved


Pridružen-a: Sob 17 Nov 2007 19:06 Prispevkov: 6987 Aktiv.: 31.16 Kraj: Rakek
|
Objavljeno: Sre Feb 02, 2011 11:59 pm Naslov sporočila: |
|
|
Gledam od leve proto desni.
Na zaslonu se mi pač izpisuje trenutno stanje spremenljivke števec. Reset pa naredi števec=0 vendar naredi to samo za prvo cifro od leve proti desni. Ob vsakem ciklu programa se izpis na LCD-ju pobriše in nato glede na stanje spremenljiv ponovno vpiše.
_________________ Ne čakaj, da se bo nekaj premaknilo pojdi in nekaj premakni.
Lp Primož |
|
| Nazaj na vrh |
|
 |
borber Član


Pridružen-a: Pon 23 Maj 2005 8:40 Prispevkov: 3111 Aktiv.: 12.59 Kraj: LJUBLJANA
|
Objavljeno: Čet Feb 03, 2011 8:15 am Naslov sporočila: |
|
|
Pred izpisom spremenljivke, ki ima vrednost 0 moraš na LCD najprej na željeno mesto vpisati prazen string " " in potem spremenljivko. Lahko pa vpišeš string "0 " in ti potem spremenljivke ni treba vpisovati.
Vpis ničle spremeni le skrajno levo štev. mesto desna mesta pa ostanejo taka, kot pred vpisom.
Enak problem boš imel pri odštevanju ovojev, ko se bo spremenljivka spremenila iz trimestne na dvomestno in dvomestno na enomestno (100>99, 10>9).
|
|
| Nazaj na vrh |
|
 |
PZUFIC Vseved


Pridružen-a: Sob 17 Nov 2007 19:06 Prispevkov: 6987 Aktiv.: 31.16 Kraj: Rakek
|
Objavljeno: Čet Feb 03, 2011 8:32 am Naslov sporočila: |
|
|
| borber je napisal/a: |
Pred izpisom spremenljivke, ki ima vrednost 0 moraš na LCD najprej na željeno mesto vpisati prazen string " " in potem spremenljivko. Lahko pa vpišeš string "0 " in ti potem spremenljivke ni treba vpisovati.
Vpis ničle spremeni le skrajno levo štev. mesto desna mesta pa ostanejo taka, kot pred vpisom.
Enak problem boš imel pri odštevanju ovojev, ko se bo spremenljivka spremenila iz trimestne na dvomestno in dvomestno na enomestno (100>99, 10>9). |
Ne razumem te čisto dobro.Mi lahko prosim poveš na katero mesto moram torej dodati string" ".
_________________ Ne čakaj, da se bo nekaj premaknilo pojdi in nekaj premakni.
Lp Primož |
|
| Nazaj na vrh |
|
 |
borber Član


Pridružen-a: Pon 23 Maj 2005 8:40 Prispevkov: 3111 Aktiv.: 12.59 Kraj: LJUBLJANA
|
Objavljeno: Čet Feb 03, 2011 9:14 am Naslov sporočila: |
|
|
To mesto si določil s kurzorjem 0,1 kamor vpisuješ stevec.
tako
stevec=0
PrintString "Stevilo ovojev:"
Cursor 0,1
PrintString " "
Cursor 0,1
PrintNumber stevec
ali
stevec=0
PrintString "Stevilo ovojev:"
Cursor 0,1
PrintString "0 "
PrintString "Stevilo ovojev:" vpišeš samo pri inicializaciji LCD, potem vpisa ni treba več ponavljati.
|
|
| Nazaj na vrh |
|
 |
stane Član

Pridružen-a: Tor 17 Apr 2007 21:19 Prispevkov: 1281 Aktiv.: 5.54 Kraj: Rače
|
Objavljeno: Čet Feb 03, 2011 9:30 am Naslov sporočila: |
|
|
Inicializacija LCDja na začetku manjka.
Vmes med programom pa manjka čiščenje - brisanje.
Glej sliko. Primere uporabe LCDja si oglej.
Najdeš jih na Matrixovi strani, pri SLO zastopniku (echo.si),
youtube........
| Opis: |
|
| Velikost datoteke: |
181.95 KB |
| Pogledana: |
24 krat |

|
|
|
| Nazaj na vrh |
|
 |
stane Član

Pridružen-a: Tor 17 Apr 2007 21:19 Prispevkov: 1281 Aktiv.: 5.54 Kraj: Rače
|
Objavljeno: Čet Feb 03, 2011 9:46 am Naslov sporočila: |
|
|
Tu imaš primer uporabe LCDja.
| Opis: |
|
 Download |
| Ime datoteke: |
LCD.rar |
| Velikost datoteke: |
8.41 KB |
| Downloadano: |
2 krat |
|
|
| Nazaj na vrh |
|
 |
PZUFIC Vseved


Pridružen-a: Sob 17 Nov 2007 19:06 Prispevkov: 6987 Aktiv.: 31.16 Kraj: Rakek
|
Objavljeno: Čet Feb 03, 2011 11:31 am Naslov sporočila: |
|
|
Čisščenje sem dodal že pred nekaj časa in sem ga dal takoj za loop na začetku programa vendar ni pomagalo. Bom upošteval vaše nasvete in poskusil.
_________________ Ne čakaj, da se bo nekaj premaknilo pojdi in nekaj premakni.
Lp Primož |
|
| Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 15.32
|
Objavljeno: Čet Feb 03, 2011 3:24 pm Naslov sporočila: |
|
|
Ti že daš spremenljivko stevec na 0000, ampak na LCD bi lahko takole izpisal:
...
[LCD kurzor na pozicijo]
|
stevec > 999 ?
NO YES ; Če je NO, izpiše presledek, če je YES pa stevec in gre ven
|
[izpis presledka]
|
stevec > 99 ?
NO YES ; Če je NO, izpiše še en presledek, če je YES pa stevec in gre ven
|
[izpis presledka]
|
stevec > 9 ?
NO YES ; Če je NO, izpiše še en presledek, če je YES pa stevec in gre ven
|
[izpis presledka]
|
[IZPIS STEVCA] ; sem pride, če je zgoraj kak YES
|
ven iz zanke
Potem nekje zgoraj izračunavaš stevec (ga povečuješ, zmanjšuješ, brišeš, prednastavljaš, ...), spodaj pa ga vedno na enak način izpisuješ. Vedno se izpišejo vsa mesta, kot presledek ali kot cifra.
Stvar je v tem, da imaš ti izpis levo poravnan. Ko je stevec = 0, izpišeš 0 na levi strani LCDja, ostala mesta na LCDju pa ostanejo nedotaknjena.
V mojem primeru bo izpis desno poravnan. Če bo stevec=0 bo 0 na desni strani, višje cifre pa bodo levo od nje - v obliki presledkov.
V primeru negativnih vrednosti (odvijaš tuljavo) pred izpisom stevca preveriš predznak in ga izpišeš, nato pa še stevec.
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
| Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 233 dni
Powered by phpBB © 2001, 2005 phpBB Group
|