Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Pon Sep 14, 2009 10:36 pm Naslov sporočila: mikro BASIC za 8051 |
|
|
A mi ve kdo povedat, ali je kdo delal s tem. Enkrat sem poizkusil example za tipke Button pa mi prevajalnik ni hotel prevest. Je problem v prevajalniku. Nekam čudno se mi zdi da so podpičja v sami kodi. Podpičja se pišejo v c-ju.
Example za PIC-e zaenkrat delujejo vredu, pri programiranju atmele pa ne.
Ali je kdo imel s tem probleme in kako jih je rešil?
|
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.35
|
Objavljeno: Tor Sep 15, 2009 6:27 am Naslov sporočila: |
|
|
Če te prav razumem... ti hočeš program za PIC v C prevesti z BASIC in ga dat v atmela?
_________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Sep 15, 2009 8:48 am Naslov sporočila: |
|
|
ne, mikroBASIC ni samo za PIC-e, je tudi tako za AVR kot za 8051 pa tudi za ARM
šprašujem ali je kdo že sprobal example Button za tipke mikroBASIC 8051 (Atmel - ne AVR). Ker mi prevajalnik noče prevesti mi javla napako.
Ali je kdo odpravil to napako?
|
|
Nazaj na vrh |
|
 |
drVrh Član



Pridružen-a: Sre 20 Feb 2008 20:17 Prispevkov: 918 Aktiv.: 4.34 Kraj: Slovenija-Koroska-Prevalje-Lese
|
Objavljeno: Tor Sep 15, 2009 8:51 am Naslov sporočila: |
|
|
Pravkar sem sprobal ta Example za 8051 mikrokontrolerje meni prevede brez problema, sem ga zapisal v mikrokontroler 89C2051, povezal na testni plošči.
No če misliva enak program, pokaži kodo, pokaži kaj ti napiše prevajalnik.
Pa pri mojem programu ni nikakršnjih podpičij.
_________________ Iz dneva v dan sem se spraševal kaj je to elektrika, vendar nisem našel odgovora ... in še vedno si postavljam to vprašanje
LP
Grega |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Sep 15, 2009 9:18 am Naslov sporočila: |
|
|
za mikroBASIC 8051 mislim da to delajo bosanci
prosim če pripneš kodo da vidim če imava isto.
prevajalnik je iz te strani http://www.mikroe.com/sr/compilers/
|
|
Nazaj na vrh |
|
 |
jurem Član


Pridružen-a: Tor 02 Dec 2003 15:53 Prispevkov: 408 Aktiv.: 1.72 Kraj: Ljubljana
|
Objavljeno: Tor Sep 15, 2009 10:38 am Naslov sporočila: |
|
|
galex4 je napisal/a: |
za mikroBASIC 8051 mislim da to delajo bosanci
|
Pravzaprav so Srbi... nekaj 100 km stran...
Lp
Jure
|
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Sep 15, 2009 3:06 pm Naslov sporočila: |
|
|
tu je example, ki se nahaja tam kjer je prevajalnik naložen koda:
'*
' * Project name:
' Button_Test (Demonstration of using Button Library)
' * Copyright:
' (c) Mikroelektronika, 2008.
' * Revision History:
' 20080725:
' - initial release;
' * Description:
' This program demonstrates usage on-board button as PORT0 input.
' On every P0.B0 one-to-zero transition PORT2 is inverted.
' * Test configuration:
' MCU: AT89S8253
' Dev.Board: Easy8051B
' Oscillator: External Clock 10.0000 MHz
' Ext. Modules: -
' SW: mikroBasic for 8051 v1.0
' * NOTES:
' - Make sure you turn ON the PORT LEDs (SW2). (board specific)
' - Put button jumper (J6) into GND position and pull-up PORT0. (board specific)
'*
program Button_Test
' button connections
dim Button_Pin as sbit at P0.B0 ' declare Button_Pin. It will be used by Button Library.
' end Button connections
oldstate as bit bdata ' old state flag
main:
P0 = 255 ' configure PORT0 as input
P2 = 0xAA ' initial PORT2 value
oldstate = 0 ' set oldstate to start value
while TRUE
if (Button(1, 0) <> 0) then ' detect logical one
oldstate = 1 ' update flag
end if
if (oldstate and Button(1, 1)) then ' detect one-to-zero transition
P2 = not P2 ' invert PORT2
oldstate = 0 ' update flag
end if
wend ' endless loop
end.
javla mi to:
5 303 Identifier "p0" was not declared button.mbas
7 303 Identifier "oldstate" was not declared button.mbas
7 303 Identifier "oldstate" was not declared button.mbas
7 304 Syntax error: Expected "end" but "oldstate" found button.mbas
7 304 Syntax error: Expected "." but "as" found button.mbas
0 102 Finished (with errors): 15 sep 2009, 15:09:56 button.mbproj
v komentarju piše da gre za tega AT89S8253 in ne za AT89C2051, vendar mi tudi javlja napako ko prevedem kodo, ki je napisana v user manual guide v priponki, (ga nemorem skopirat) in se nahaja na strani 420 - 421
2. zelo podobni kodi vendar ta v user manual guide ima kar podpičja??
Pri PIC-ih je tudi enako narejen example vendar dela na vseh mikrokontrolerjih razen da moraš preurediti porte
če ima kdo tak example, ki delajo za AT89C2051 naj prosim objavi ali mi javi na zs. Hvala
Opis: |
|
 Download |
Ime datoteke: |
mikrobasic_8051_manual_v101.pdf |
Velikost datoteke: |
3.01 MB |
Downloadano: |
7 krat |
|
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.37 Kraj: Ljubljana
|
Objavljeno: Tor Sep 15, 2009 5:00 pm Naslov sporočila: |
|
|
Sicer tega Basic-a ne poznam, vendar:
Citiram: |
main:
P0 = 255 ' configure PORT0 as input
P2 = 0xAA ' initial PORT2 value oldstate = 0 ' set oldstate to start value
|
ali tvoj 89C2051 ima port P0 in P2?
Poskusi zamenjati porte glede na uporabljen procesor.
Vlado
|
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Sep 15, 2009 5:19 pm Naslov sporočila: |
|
|
tudi to sem že zamenjal z P1 in P3 vendar se spet ustavi pri tem:
if (Button(1, 0) <> 0) then ' detect logical one
kao da Button ni deklariran
|
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.37 Kraj: Ljubljana
|
Objavljeno: Tor Sep 15, 2009 6:00 pm Naslov sporočila: |
|
|
ali si zamenjal port tudi pri deklariranju porta:
Citiram: |
button connections
dim Button_Pin as sbit at P0.B0 ' declare Button_Pin. It will be used by Button Library.
' end Button connections
|
Vlado
|
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Sep 15, 2009 6:10 pm Naslov sporočila: |
|
|
dim Button_Pin as sbit at P0.B0 ' declare Button_Pin. It will be used by Button Library.
tudi ta ukaz sem spremenin na dim Button_Pin as sbit at P1.B0
vendar se je ustavilo pri kot sem omenil že v prejšnjem postu.
|
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.37 Kraj: Ljubljana
|
Objavljeno: Tor Sep 15, 2009 6:39 pm Naslov sporočila: |
|
|
Malo sem gledal navodila in v navodilih piše:
Dim Button_Pin as sbit at P0_0 in ne P0.0 !
Vlado
|
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Sep 15, 2009 8:54 pm Naslov sporočila: |
|
|
Vlado je napisal/a: |
Malo sem gledal navodila in v navodilih piše:
Dim Button_Pin as sbit at P0_0 in ne P0.0 !
Vlado |
to kar si ti napisal mi javla tole
5 303 Identifier "p0_0" was not declared button.mbas
še zadnjič prosim tiste kateri imajo s tem izkušnje naj pomagajo pri tem, da ne bom s kolegi zgubljal časa in živcev.
|
|
Nazaj na vrh |
|
 |
Krampus Član



Pridružen-a: Pon 08 Sep 2008 13:07 Prispevkov: 1853 Aktiv.: 9.04
|
Objavljeno: Tor Sep 15, 2009 9:43 pm Naslov sporočila: |
|
|
Shrani projekt in program z drugim imenom Button.XXX je ime knjižnice.
Projekt je v primerih shranjen kot Button_Test in ne Button.
_________________ Nisem ravno najbolj pameten na svetu, tu in tam pa imam kakšno idejo. |
|
Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 459 Aktiv.: 2.18
|
Objavljeno: Tor Okt 06, 2009 9:38 pm Naslov sporočila: |
|
|
spet se oglašam po dolgem času. Težavo sem odpravil s to kodo:
dim Button_Pin as sbit at P3_3_bit
dim oldstate as bit
oldstate = 0
P3.7 = 0
main:
while true
if (Button(1,0) <> 0) then
oldstate = 1
end if
if (oldstate and Button(1,1)) then
P3.7 = not P3.7
oldstate = 1
end if
wend
end.
sedaj me zanima kako dodati še drugo tipko, ali mi kdo lahko pomaga?
|
|
Nazaj na vrh |
|
 |
|