www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Množenje in Bascom
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.77
Kraj: Dobrepolje

PrispevekObjavljeno: Ned Maj 11, 2008 1:11 pm    Naslov sporočila:  Množenje in Bascom Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Ned Maj 11, 2008 1:33 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.77
Kraj: Dobrepolje

PrispevekObjavljeno: Ned Maj 11, 2008 7:52 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.51
Kraj: Krško

PrispevekObjavljeno: Ned Maj 11, 2008 7:59 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 16.01

PrispevekObjavljeno: Ned Maj 11, 2008 8:01 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.77
Kraj: Dobrepolje

PrispevekObjavljeno: Ned Maj 11, 2008 8:17 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
jurem
Član
Član



Pridružen-a: Tor 02 Dec 2003 15:53
Prispevkov: 408
Aktiv.: 1.72
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 11, 2008 8:23 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Ned Maj 11, 2008 9:14 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
cimer
Član
Član



Pridružen-a: Sob 07 Okt 2006 0:07
Prispevkov: 122
Aktiv.: 0.54
Kraj: Ljubljana

PrispevekObjavljeno: Pon Maj 12, 2008 8:44 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 893
Aktiv.: 3.77
Kraj: Dobrepolje

PrispevekObjavljeno: Pon Maj 12, 2008 8:25 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Pon Maj 12, 2008 9:01 pm    Naslov sporočila:   Odgovori s citatom

Č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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pon Maj 12, 2008 11:28 pm    Naslov sporočila:   Odgovori s citatom

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 Laughing ), 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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Pon Maj 12, 2008 11:41 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Maj 13, 2008 6:58 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 10.33
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sre Maj 14, 2008 3:25 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
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