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 

Programiranje v bascom avr
Pojdi na stran Prejšnja  1, 2, 3 ... 23, 24, 25 ... 36, 37, 38  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.09
Kraj: KOPER

PrispevekObjavljeno: Čet Jun 14, 2012 7:05 am    Naslov sporočila:  Re: odgovor Odgovori s citatom

xzibitx je napisal/a:
Da ne podpirate lenobe je čis prov sam res nimam pojma kako bi lahko to naredu. To z OR nism prepričan če je prov ker mi je ob zamenjavi AND funkcije z funkcijo OR led dioda skos gorela. Pravilnostne tabele sem pogledal in vem kaj morem naredit nimam pa pojma kako bi to naredil. Ko sem zamenjal funkcijo OR in vstavil XOR mi pa niti ledica ni več gorela ampak sem dobil ogromno napak napak [slovenščina je zame švedska vas] da res nimam pojma kako bi se to nardil.


Nimaš pravilnih deklaracij in še kaj bi se našlo !

Koda:
$regfile = "m32def.dat"
$crystal = 4000000
'poišči primer za ta m32 in tu dodaj še steke


'Predvidevam, da imaš na PORTD tipke na PORTA pa ledice
Config Porta = Output
Led_0 Alias Porta.0
Led_1 Alias Porta.1
'itd

Config Portd = Input
Tipka_0 Alias Pind.0
Tipka_1 Alias Pind.1
'itd

Porta = 255                   '
'Config Debounce = 80        ' sedaj še ne rabiš te vrstice
'Dim Led As Byte               '//  LED JE POSAMIČNA ENORA
'Dim Tipka As Byte             '// TIPKA JE POSAMIČNA

Do
    If Pind.0 = 0 Then
        Porta = &B00000000
        Wait 2
        Porta = &B11111111
        Wait 2
        Porta = &B00000000
        Wait 2
        Porta = &B11111111
        Wait 2
        Porta = &B00000000
        Wait 2
        Porta = &B11111111
        Wait 2

        If Tipka_0 = 0 Then Set Led_0 Else Reset Led_0
        'If Pind.0 = 0 Then
          ' Porta = Led
          ' Led = Not Led
        ' NISI ZAKLJUČIL IF STAVKA
    '        Else                      'OZIROMA TA ELSE TU NE PAŠE
    '     End If
    End If
Loop

End

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
xzibitx
Neznanec
Neznanec



Pridružen-a: Sre 13 Jun 2012 16:02
Prispevkov: 6
Aktiv.: 0.04
Kraj: slovenija

PrispevekObjavljeno: Čet Jun 14, 2012 10:10 pm    Naslov sporočila:  XOR Odgovori s citatom

No evo malo sem programiral in nekaj ustvaril vendar nevem če bo prav ker nemorem probat. tukaj je program :

$regfile = "m32def.dat" "
$crystal = 4000000
Config Porta = Output
Config Portb = Input

Main:
Debounce Pinb.7 , 0 , Program , Sub Xor
Debounce Portb.6 , 0 , Program1 , Sub

Program:
Porta = &B01111111
Return


Program1:
Porta = &B01111111
Return

_________________
u can only die once. Make sure it is worth it
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov Yahoo Messenger - naslov MSN Messenger - naslov
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5327
Aktiv.: 24.78
Kraj: Domzale

PrispevekObjavljeno: Čet Jun 14, 2012 11:09 pm    Naslov sporočila:   Odgovori s citatom

Main moraš delati v Do-Loop zanki. Tako, kot sedaj, se ti bo program samo enkrat "zapeljal" čez in to bo to.

Pa tisti sub xor mi tudi ni ravno jasen ... Mislim, da tudi compilerju ne bo Smile

Pa če bereš vhod, moraš brati kot PINx.y, ne PORT (to je mene večkrat hecalo Sad ). Torej debounce PINx.y.

Pa zdaj v obeh podprogramih iste ledice prižgeš ... Zamenjaj no v enem &B01111111 s čim drugim ... Če hočeš negacijo bo to &B10000000.

Pa lahko noč Smile

LP, g

_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
xzibitx
Neznanec
Neznanec



Pridružen-a: Sre 13 Jun 2012 16:02
Prispevkov: 6
Aktiv.: 0.04
Kraj: slovenija

PrispevekObjavljeno: Pet Jun 15, 2012 3:25 pm    Naslov sporočila:  odgovor Odgovori s citatom

No hvala za odgovor Smile probal sem program v bascomu in mi ni našel napak je pa res da sam program nemorem preizkusit ker nimam ploščice s čipom tako da nimam pojma kako bi se program v praksi obnašal:(. Zato sem tudi prosil koga ki ima ploščico da mi naredi program saj sam nevem kako deluje. Hvala LP
_________________
u can only die once. Make sure it is worth it
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov Yahoo Messenger - naslov MSN Messenger - naslov
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 561
Aktiv.: 2.53
Kraj: Ljubljana

PrispevekObjavljeno: Pet Jun 15, 2012 5:18 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
Debounce Pinb.7 , 0 , Program , Sub Xor


Tole sigurno ne bo prav, sprememba pina B.7 bo izzvala skok v podprogram z imenom PROGRAM. Kaj ti pomeni tisti XOR na koncu?
XOR je rezervirana beseda in je razen za ta namen ne moreš uporabiati.
Tudi če nimaš tiskanine, tvoj program lahko preveriš v simulatorju ki je vgrajen v Bascom.
Poglej v Help-u kaj pomeni $Sim!
Če pa si ga probal v simulatorju, ni razloga da nebi delal na plošči.

Drugič raje prilepi kodo, ne pa jo prepisovat ker lahko pride do napak pri prepisovanju.

Ko si postavil Portd kot vhode, če nimaš zunanjih pull up upororov vklopi notranje:
Portb=255
LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
xzibitx
Neznanec
Neznanec



Pridružen-a: Sre 13 Jun 2012 16:02
Prispevkov: 6
Aktiv.: 0.04
Kraj: slovenija

PrispevekObjavljeno: Sob Jun 16, 2012 9:38 am    Naslov sporočila:  odgovor Odgovori s citatom

Da vem da lahko probaš v simulatorju sam a ni tako da programov s tipko v simulatorju nemoreš preizkusit ker simulator nima tipk? vsaj tako nam je profesor reku
_________________
u can only die once. Make sure it is worth it
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov Yahoo Messenger - naslov MSN Messenger - naslov
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.83
Kraj: Mengeš

PrispevekObjavljeno: Sob Jun 16, 2012 10:00 am    Naslov sporočila:   Odgovori s citatom

Nima tipk, lahko pa stanja portov spreminjaš s klikom na ustrezno ledico v simulatorju.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Sob Jun 16, 2012 10:16 am    Naslov sporočila:   Odgovori s citatom

Tako kot je rekel protoncek. Na desni imaš set zelenih ledic. Te so vhodi, na levi imaš pa set rdečih ledic (govorim za simulator), te so izhodi. Zelene ledice lahko klikaš in se obnašajo tako kot tipke. Če zelena ledica v simulatorju sveti, pomeni da jo interni pull up vleče navzgor. Ko boš kliknil nanjo, bo potemnela, kar velja enako, kot če bi stisnil tipko, ki je v dejanskem hardveru vezana na maso. Program bo zaznal prehod iz logične "1" v logično "0". Ukaz Debounce Tipka,0,Naredinekaj,sub se bo izvedel.

LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
xzibitx
Neznanec
Neznanec



Pridružen-a: Sre 13 Jun 2012 16:02
Prispevkov: 6
Aktiv.: 0.04
Kraj: slovenija

PrispevekObjavljeno: Sob Jun 16, 2012 6:25 pm    Naslov sporočila:  odgovor Odgovori s citatom

Sme preizkusil in stvar res deluje Smile najlepša vam hvala. Še vedno pa nisem povsem ugotovil oz mi še ni uspelo napisati program pravilno. Ledice se ko pritisnem na tipko vžgejo vendar se ko tipko spustim ne ugasnejo Sad Program pa je tak :

$regfile = "m32def.dat" "
$crystal = 4000000
Config Porta = Output
Config Portb = Input

Main:
Debounce Pinb.7 , 0 , Program , Sub Xor
Debounce Portb.6 , 0 , Program1 , Sub

Program:
Porta = &B10000000
Return


Program1:
Porta = &B00000000
Return

_________________
u can only die once. Make sure it is worth it
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov Yahoo Messenger - naslov MSN Messenger - naslov
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.09
Kraj: KOPER

PrispevekObjavljeno: Sob Jun 16, 2012 6:47 pm    Naslov sporočila:   Odgovori s citatom

Namesto main napiši DO, nato LOOP.
pa še tisti XOR zbriši.
lp

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1712
Aktiv.: 7.71
Kraj: Ig

PrispevekObjavljeno: Sob Jun 16, 2012 8:26 pm    Naslov sporočila:   Odgovori s citatom

Koda:

$regfile = "m32def.dat" "
$crystal = 4000000
Config Porta = Output
Config Portb = Input



Main:

do
Debounce Pinb.7 , 0 , Program , Sub  ' tale Xor nima kaj tle iskati
Debounce PINB.6 , 0 , Program1 , Sub 'če imaš posamezen pin definiran kot vhod, potem daj pinb.x

loop

Program:
Porta = &B10000000
Return


Program1:
Porta = &B00000000
Return

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|


Nazadnje urejal/a RGorazd Sob Jun 16, 2012 10:01 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
gumby
Član
Član



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

PrispevekObjavljeno: Sob Jun 16, 2012 9:25 pm    Naslov sporočila:   Odgovori s citatom

Tale gumb je tam z razlogom. Dajte ga uporabljat, da bodo programi vsaj približno pregledni... Pray


code.png
 Opis:
magic button
 Velikost datoteke:  28.67 KB
 Pogledana:  7 krat

code.png



_________________
Tule nisem več aktiven.
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: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Ned Avg 12, 2012 9:58 pm    Naslov sporočila:   Odgovori s citatom

Imam 16bitno spremenljivko Var3, katero bi rad razbil na dva bayta Var1 in Var2. Kako to narediti?



Koda:

Dim Var3 As Word , Var2 As Byte , Var1 As Byte
Var3 = 12345
Print Bin(var3)
Shift Var3 , Right , 4
Var1 = Var3
Print Bin(var1)
Shift Var3 , Left , 4 ' alternativa :var2= var3<<4 ?
Var2 = Var3
Print Bin(var2)
Var3 = Makeint(var2 , Var1)
Print Var3 ' preverim če je pravilni rezultat

_________________
Denis


Nazadnje urejal/a dkone Ned Avg 12, 2012 10:15 pm; skupaj popravljeno 1 krat
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: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Ned Avg 12, 2012 10:15 pm    Naslov sporočila:   Odgovori s citatom

Na vprašanje si bom sam odgovoril, še dobro da obstaja simulator v bascomu. Bascom vzame prvo LSB byte in prepiše v novo spremenljivko, potem treba začetno spremenljivko zašiftat za 8 mest v desno, da se 1byte pomakne na mesto 2ga byta in to je to.


Še koda, za pomoč drugim.

Koda:

Dim Var3 As Word , Var2 As Byte , Var1 As Byte
Var3 = 12345
Print Bin(var3)
Var2 = Var3
Print Bin(var2)
Shift Var3 , Right , 8
Print Bin(var3)
Var1 = Var3
Print Bin(var1)
Var3 = Makeint(var2 , Var1)
Print Var3


In še krajša:

Koda:

Dim Var3 As Word , Var2 As Byte , Var1 As Byte
Var3 = 12345 : Var2 = Var3
Shift Var3 , Right , 8 : Var1 = Var3
Var3 = Makeint(var2 , Var1)
Print Var3

_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Pon Avg 13, 2012 3:27 pm    Naslov sporočila:   Odgovori s citatom

Bascom je zakon!
_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3 ... 23, 24, 25 ... 36, 37, 38  Naslednja
Stran 24 od 38

 
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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group