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



Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 893 Aktiv.: 3.77 Kraj: Dobrepolje
|
Objavljeno: Ned Maj 11, 2008 1:11 pm Naslov sporočila: Množenje in Bascom |
|
|
Pozdrav
Kako zmnožiti v Bascom in to napisati na LCD zaslon?
A = 0.64 (konstanta)
B = 1 ali 2 ali 3 ali karkoli
X = A * B
Locate 1,1 :LCD x
lp,marko _________________ Če ne veš kam greš, se ne moreš zgubiti. |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Maj 11, 2008 1:33 pm Naslov sporočila: |
|
|
Najprej moraš definirati spremenljivke. Ker imaš tudi decimalke, definiraj A kot npr. String, pa tudi B in X moraš definirat.
Recimo nekako tako (pišem na pamet):
Koda: |
...
Dim A As String 'Definiraš
Dim B As Byte
Dim X As String
A = 0.64 'Nastaviš vrednost
-kaj pač je B 'Poveš, kolko ali kaj je B
X = 0 'To sicer ni potrebno, ampak vseeno
Do
X = A * B 'Enostavno pomnožiš
Lcd X 'Izpis X na LCD
... 'Tvoj pogram
Loop |
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
marko11 Član



Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 893 Aktiv.: 3.77 Kraj: Dobrepolje
|
Objavljeno: Ned Maj 11, 2008 7:52 pm Naslov sporočila: |
|
|
To kar je Bojan napisal mi Bascom sploh ne sprejme.
Bo treba nekako drugače napisat.
lp, marko _________________ Če ne veš kam greš, se ne moreš zgubiti. |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Ned Maj 11, 2008 7:59 pm Naslov sporočila: |
|
|
marko11 je napisal/a: |
To kar je Bojan napisal mi Bascom sploh ne sprejme.
Bo treba nekako drugače napisat.
lp, marko |
Meni lepo dela,ta program. Sprobal sem v simulatorji in ga lepo množi.
Koda: |
Dim X As Long , A As Long , B As Long
A = 5
B = 10
Do
X = A * B
Lcd X
Loop |
_________________ Denis
Nazadnje urejal/a dkone Ned Maj 11, 2008 8:20 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 16.01
|
Objavljeno: Ned Maj 11, 2008 8:01 pm Naslov sporočila: |
|
|
Za začetek napiši, kateri mikrokontroler sploh uporabljaš (AVR, 805x,... ) in v katerem Bascom-u sploh delaš (Bascom-AVR, Bascom8051).
Delujoč primer množenja z 10 za Bascom8051 imaš tudi tukaj:
http://www.elektronik.si/phpBB2/viewtopic.php?t=11381
Glej moj program "Objavljeno: Torek, 6. Maj 2008 0:01 " .
Lp,
Igor _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
 |
marko11 Član



Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 893 Aktiv.: 3.77 Kraj: Dobrepolje
|
Objavljeno: Ned Maj 11, 2008 8:17 pm Naslov sporočila: |
|
|
Uporabljam Bascom 8051, procesor AT 89c4051.
dkone, cela števila ja, na ta način pa ne morem zmnožiti A= 0.64 , B= 2, C= a*b _________________ Če ne veš kam greš, se ne moreš zgubiti. |
|
Nazaj na vrh |
|
 |
jurem Član


Pridružen-a: Tor 02 Dec 2003 15:53 Prispevkov: 408 Aktiv.: 1.72 Kraj: Ljubljana
|
Objavljeno: Ned Maj 11, 2008 8:23 pm Naslov sporočila: |
|
|
marko11 je napisal/a: |
Uporabljam Bascom 8051, procesor AT 89c4051.
dkone, cela števila ja, na ta način pa ne morem zmnožiti A= 0.64 , B= 2, C= a*b |
Marko,
kaj ko bi za imena spremenljivk uporabljal imena, kot A1, B1, C1. B je ime akumulatorja in ga ni priporočljivo uporabljati razen, če veš zakaj in kako.
Lp
Jure |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Maj 11, 2008 9:14 pm Naslov sporočila: |
|
|
marko11 je napisal/a: |
To kar je Bojan napisal mi Bascom sploh ne sprejme.
Bo treba nekako drugače napisat.
lp, marko |
Jaz sem pisal to na pamet. Sicer pa uporabljam Bascom-AVR.
Če hočeš decimalke, moraš dat število v ustrezno spremenljivko. Pri Bascom-AVR je to recimo String, ki ga definiraš (AVR) tako:
Dim A As String * 2 'Številka (String * n) *2 pove programu, koliko decimalk naj dodeli spremenljivki String. _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
cimer Član

Pridružen-a: Sob 07 Okt 2006 0:07 Prispevkov: 122 Aktiv.: 0.54 Kraj: Ljubljana
|
Objavljeno: Pon Maj 12, 2008 8:44 am Naslov sporočila: |
|
|
Zdravo!
Če hočeš, da Bascom dela z realnimi števili potem moraš definirati vse spremenljivke kot realna števila.
Dim A as Double
Dim B as Double
Taka definicija spremenljivke "požre" veliko pomnilnika. Isto velja za vse matematične opreracije z realnimi števili. _________________ Lep pozdrav!
Marko S. |
|
Nazaj na vrh |
|
 |
marko11 Član



Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 893 Aktiv.: 3.77 Kraj: Dobrepolje
|
Objavljeno: Pon Maj 12, 2008 8:25 pm Naslov sporočila: |
|
|
Sedaj sem ugotovil kako gre v Bascom8051 :
Dim P As Single
Dim X As Single
Dim Y as integer
X= 0.64
Y= 3
P= X * Y
Lokate 1,1 : LCD p
Je pa res, da porabi veliko pomnilnika.
LP,marko _________________ Če ne veš kam greš, se ne moreš zgubiti. |
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.41
|
Objavljeno: Pon Maj 12, 2008 9:01 pm Naslov sporočila: |
|
|
Če je X fiksen, bi lahko uporabil celoštevilčne operacije...
0.64=3/5+1/25 recimo _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Maj 12, 2008 11:28 pm Naslov sporočila: |
|
|
Ne 3 ne 25 nista okrogli stevilki za sistem z binarno osnovo.
Take stvari se ponavadi dejansko naredi s celimi stevili (torej krat celih 64m, kar je samo bitni pomik in ponavadi zelo hitro, razen na x51 in PIC z HW multiplierjem in podobnih arhitekturah, kjer je multiply za 64 krajsi od 6 posamicnih shiftov ), potem pa sam vrines piko v niz, ki ga dobis iz izracuna. Ne vem ali je to v basicu (Bascomu) mogoce, v C-ju pa definitivno je. _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Pon Maj 12, 2008 11:41 pm Naslov sporočila: |
|
|
Meni pa se je tu zaštekalo:
Koda: |
...
Dim Prizgi As Eram Byte
Prizgi = Prizgi + 1 'Tu napiše Error: Invalid datatype [[0007]]
Lcd Prizgi
... |
Hočem pa dosečt to, da bi mi ob vsakem prižigu mikrokontrolerja prištelo števec za 1 in ga shranlo nekam (v Eprom) za trajno, da bi vsakič videl, koliko krat sem prižgal uC. S tipko pa bi števec po potrebi resetiral.
Kaj se more za pisanje v Eprom kaj drugače napisat? _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.41
|
Objavljeno: Tor Maj 13, 2008 6:58 am Naslov sporočila: |
|
|
Sokrat je napisal/a: |
Ne 3 ne 25 nista okrogli stevilki za sistem z binarno osnovo. |
Vem, samo rutine za celoštevilčne operacije vseeno zasedejo manj prostora od tistih za FP. Sicer je treba naredit malce več operacij, vendar bi od oka rekel, da je vseeno stvar manjša in hitrejša... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.33 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Maj 14, 2008 3:25 pm Naslov sporočila: |
|
|
program_er je napisal/a: |
Meni pa se je tu zaštekalo:
Koda: |
...
Dim Prizgi As Eram Byte
Prizgi = Prizgi + 1 'Tu napiše Error: Invalid datatype [[0007]]
Lcd Prizgi
... |
Hočem pa dosečt to, da bi mi ob vsakem prižigu mikrokontrolerja prištelo števec za 1 in ga shranlo nekam (v Eprom) za trajno, da bi vsakič videl, koliko krat sem prižgal uC. S tipko pa bi števec po potrebi resetiral.
Kaj se more za pisanje v Eprom kaj drugače napisat? |
Še vedno me to zanima...
Hvala za odgovore. _________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
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: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|