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


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.70 Kraj: glej fogl
|
Objavljeno: Tor Mar 18, 2008 9:09 pm Naslov sporočila: |
|
|
Definitivno AVR!
Prilepi na forumu kaj je te matra, pa bomo skupaj rešili  |
|
Nazaj na vrh |
|
 |
trobida Član


Pridružen-a: Ned 09 Jul 2006 12:13 Prispevkov: 1250 Aktiv.: 5.41 Kraj: Savinjska dolina-okolica Gornjega Grada
|
Objavljeno: Tor Mar 18, 2008 9:36 pm Naslov sporočila: |
|
|
Na kratko; verzija 8051 je po svoje "zastarela". AVR-ji imajo kar nekaj bonbončkov več, katerih verzija 8051 nima. Iz tiste knjige se da kar marsikaj naučiti. Čeprav je namenjena za verzijo 8051, je potem prehod na AVR-je dokaj enostaven. Pri tem pa nastanejo tiste malenkostne razlike, kot so naprimer drugačno definiranje vhodov ter izhodov, ter še dodatnih nekaj funkcij, katerih 8051 verzija ne pozna. _________________ Lp
Tomaž, S57KO |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.51
|
Objavljeno: Tor Mar 18, 2008 9:44 pm Naslov sporočila: |
|
|
V Google vtipkaj
89c2051 programmer
in pritisni I'm Feeling Lucky ! _________________ 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.30 Kraj: Maribor (Pohorje)
|
Objavljeno: Tor Mar 18, 2008 11:20 pm Naslov sporočila: |
|
|
Od AVR-jev imam ATmega16, ki sem ga do zdaj programiral. Malo sem prebral vaše odgovore in se odločil, da bom ostal pri AVR-jih. Muči pa me ravno pravilno definiranje vhodov, izhodi mi še nekak grejo. Enkrat sem priklučo tipko pa napisal neki program, pa mi je ni zaznalo. Pri 8051 moreš dat tisti izhod, na katerem je tipka na logično 1, kaj pa pri AVR? |
|
Nazaj na vrh |
|
 |
int47 Član


Pridružen-a: Pon 15 Dec 2003 0:10 Prispevkov: 2105 Aktiv.: 8.86 Kraj: Ljubljana
|
Objavljeno: Sre Mar 19, 2008 12:02 am Naslov sporočila: |
|
|
1) Definiraš smer v DDRx registru.
2a) Če te zanima stanje vhoda bereš PINx register.
2b Če želiš spremeniti stanje izhoda pišeš v PORTx register.
Če je I/O definiran kot vhod, '1' v PORTx register nadzira pullup upor. |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.30 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Mar 19, 2008 4:52 pm Naslov sporočila: |
|
|
Mel sem tak program v BASCOM-AVR:
Koda: |
$regfile = "m16def.dat"
$crystal = 1000000
Config Porta.0 = Input 'Tu mam priklučeno tipko
'MOJA TIPKA (shema):
'
' PORTA, pin 0------tipka-----minus
'
Config Portc = Output 'Tu mam priklučene raznobarvne ledice
Bela Alias Portc.0 'Bela
Rumena Alias Portc.1 'Rumena
Rdeca Alias Portc.2 'Rdeča
Modra Alias Portc.3 'Modra
Zelena Alias Portc.4 'Zelena
Porta.0 = 1
If Pina.0 = 1 Then 'Če je tipka spuščena
Bela = 0
End If
If Pina.0 = 0 Then 'Če je tipka pritisnjena
Bela = 1
End If
End 'end program
|
Pa mi nekaj ne gre. Mam kaj narobe al je vse prav napisano? |
|
Nazaj na vrh |
|
 |
RGorazd Član


Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1715 Aktiv.: 7.22 Kraj: Ig
|
Objavljeno: Sre Mar 19, 2008 5:42 pm Naslov sporočila: |
|
|
kaj pa bi želel početi s port/pina.0? Kot kaj si ga deklariral? Kot jogurt iz hladilnika? Če pišeš porta.0 = 0 pomeni da bi rad port a.0 dal na nizek nivo kot IZHOD, če pa napišeš pina.0 ga pa uporabljaš kot VHOD in preverjaš na njem stanje ali 1 ali 0.
Lahko to počneš, vendar moraš narediti tole:
config port a.0 je output
Port a.0 = 1
če pa potem želiš preverjati stanje na njem
config pina.0 = input
if pina.0 = x then....
Ampak tole ti pride v poštev zgolj pri 1wire komunikaciji, ko poteka komunikacija zgolj po eni žici...
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.30 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Mar 19, 2008 6:07 pm Naslov sporočila: |
|
|
Če sem prav razumel, vedno, ko je nek port izhod napišem PORTX.x, ko pa je vhod pa napišem PINX.x.
Nimam jaz 1w, jaz bi samo hotel čip tak sprogramirat (za začetek), da ko bi pritisno neko tipko, bi mi ledica svetla. Tak dolgo, kak dolgo bi jo držal pritisnjeno, tak dolgo bi ledica gorela. Tipko pa mam priklučeno na PORTA.0 |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.30 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Mar 19, 2008 6:35 pm Naslov sporočila: Stikalo na plosk z mikrokontrolerjem |
|
|
Zanima me še to, kako bi definiral mikrofon. Kot upor ali kot kondenzator ali kaj tretjega. Kaj bi mogo tok pretvorit v AD pretvorniku? Kakšen izsek programske kode bi bil koristen. npr.: ko bi mikrofon zaznal neko določeno glasnost/hrup, bi se vklučla ledica za 1 sekundo.
Nazadnje urejal/a program_er Sob Jul 04, 2009 5:06 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
int47 Član


Pridružen-a: Pon 15 Dec 2003 0:10 Prispevkov: 2105 Aktiv.: 8.86 Kraj: Ljubljana
|
Objavljeno: Sre Mar 19, 2008 6:39 pm Naslov sporočila: |
|
|
Če je to cel program, potem ti manjka glavna zanka.
To ni sistem z OS, ki bi prevzel kontrolo, ko se tvoj program neha izvajati. |
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.30 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Mar 19, 2008 6:56 pm Naslov sporočila: |
|
|
Kaj je tako zdaj prav?
Koda: |
$regfile = "m16def.dat"
$crystal = 1000000
Config Portc = Output 'Tu mam priklučene raznobarvne ledice
Config Pina.0 = Input 'Tu mam priklučeno tipko
'MOJA TIPKA (shema):
'
' PORTA, pin 0------tipka-----minus
'
Porta.0 = 1
Do
If Pina.0 = 1 Then 'Če je tipka spuščena
Gosub Ne_gori
Else 'Če je tipka pritisnjena
Gosub Gori
End If
Loop
Ne_gori: 'Primer podprograma 1
Portc.0 = 0
Return
Gori: 'Primer podprograma 2
Portc.0 = 1
Return
End 'end program
|
Če ni sem vesel kritik. Pa prosim povejte kak je prav, ne samo kaj je narobe. |
|
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: 8 dni
Powered by phpBB © 2001, 2005 phpBB Group
|