|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Pobesneli Član
Pridružen-a: Sre 02 Jan 2008 1:24 Prispevkov: 1070 Aktiv.: 5.39 Kraj: Ajdovščina
|
Objavljeno: Ned Apr 13, 2008 2:48 pm Naslov sporočila: Programiranje v bascom avr |
|
|
Živjo!
Začel sem se učit programirat v bascom avr.Kot čip uporabljam Attiny 2313,ker sem te imel doma.
Imam pa nekaj vprasanj.
Kako bi zgledala koda,ali vsaj kateri ukaz naj uporabim za :
Vezje z eno tipko ki bi ob vsakem pritisku naredila nekaj.
Recimo če bi imel tipko in led diodo.1.pritisk ...dioda gori
2. pritisk dioda utripa
3.pritisk dioda ugasne.
Kje bi dobil seznam ukazov?v kakšni tabeli z kakšno majhno razlago zravn?
Še eno vprašanje.A se s tem čipom da naredit da led dioda recimo postopoma prizge?da bi izhod višal napetost?
Naredil sem si enostaven programator,na katerem sem povezal pine LPT-ja na pine čipe.In dela odlično.Zanima me če lahko z njim sprogramiram tudi atmega8,ker jih mam tudi nekaj doma.
Programator
vcc = 2, 3, 4, 5
reset = 7
sck = 8
mosi = 9
miso = 10
Programiram pa z AVRdude |
|
Nazaj na vrh |
|
|
int47 Član
Pridružen-a: Pon 15 Dec 2003 0:10 Prispevkov: 2066 Aktiv.: 9.27 Kraj: Ljubljana
|
Objavljeno: Ned Apr 13, 2008 3:13 pm Naslov sporočila: |
|
|
Citiram: |
Vezje z eno tipko ki bi ob vsakem pritisku naredila nekaj. |
-V zanki zaznavaš, če je tipka pritisnjena.
-Vsak pritisk tipke poveča nek števec
-Po potrebi resetiraš števec.
-Glede na vrednost števca izvršiš ustrezno kodo.
Citiram: |
Kje bi dobil seznam ukazov?v kakšni tabeli z kakšno majhno razlago zravn? |
Ali ni nobene dokumentacije zraven (help / priročnik..) ?
Citiram: |
Še eno vprašanje.A se s tem čipom da naredit da led dioda recimo postopoma prizge?da bi izhod višal napetost? |
Izhodi so digitalni. V določene trenutku je izhod lahko '0' ali '1'.
Efekt počasnega prižiganja je (med drugim) mogoče doseči s PWM modulacijo. (Na linku je razložen princip. Ni potrebna izdelava vezja z linka. Dovolj je uC nekaj kode). |
|
Nazaj na vrh |
|
|
pato90 Član
Pridružen-a: Tor 17 Apr 2007 20:16 Prispevkov: 39 Aktiv.: 0.19 Kraj: Logatec
|
Objavljeno: Ned Apr 13, 2008 3:18 pm Naslov sporočila: |
|
|
Če bi naredil vezje z eno tipko bi to šlo tako da v program vstaviš eno spremenljivko in ob vsakem pritisku ji povečaš vrednost potem pa z if-end if zankami narediš kaj ob določeni vrednosti spremenljivke dela. ko pa nevem dosežeš zadnjo stopnjo pri tvojem primeru tri resetiraš spremenljivko tako da jo ponovno postaviš na nulo in gre od začetka. za ukaze jih imaš vse napisane v bascom avr helpu in so tudi razloženi v angleščini.
AT mega8 lahko tudi programiraš z takim programatorjem.
L.P. |
|
Nazaj na vrh |
|
|
cimer Član
Pridružen-a: Sob 07 Okt 2006 0:07 Prispevkov: 121 Aktiv.: 0.57 Kraj: Ljubljana
|
Objavljeno: Ned Apr 13, 2008 3:36 pm Naslov sporočila: |
|
|
Zdravo
Bascom AVR ima pregleden in uporaben help.
Za primere kode pa pogledaš v mapo EXAMPLES. Priporočam, da najprej pregledaš primere, pa se potem znova oglasiš.
Pomembno je, da pravilno nastaviš vhodne/izhodne pine. Tam kjer krmiliš LED moraš konfigurirati pin kot output, kjer pa čitaš tipko pa kot intput. Pri čitanju tipke je smiselno tudi priključiti pull up upor na vhodni pin. _________________ Lep pozdrav!
Marko S. |
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1712 Aktiv.: 7.68 Kraj: Ig
|
Objavljeno: Ned Apr 13, 2008 3:47 pm Naslov sporočila: |
|
|
seznam ukazov v Bascomu dobiš s pritiskom na eno tipko:
do
If F1 = 1 then
Print HELP
End if
loop
Tole je primer kode, ki ti ciklično preverja, če je bila pritisnjena tipka F1 (help) in ti posledično odpre Help okno, kjer imaš vse lepo obrazloženo.
Kako bi delala koda, za katero si ti spraševal je pa tako:
skok:
Do
Debounce tipka, 0, nekaj
loop
nekaj:
incr števec
if števec = 10 then
števec=0
end if
go to izbira
izbira:
select case števec
case 1 = goto program1
case 2 = goto program2...
itd
goto skok
Tole pišem tako na pamet...za vsak slučaj stisni tipko F1 in si preberi, kaj počnejo vsi ti ukazi, in kakšna je pravilna sintaksa. Prej ali slej boš odkril, da je stvar zelo enostavna. Aja, pa spremenljivke je treba deklarirat, pa aliase naštimat (tipka alias p3.2 ali pač na kateri pin imaš priključeno tipko)
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
Pobesneli Član
Pridružen-a: Sre 02 Jan 2008 1:24 Prispevkov: 1070 Aktiv.: 5.39 Kraj: Ajdovščina
|
Objavljeno: Ned Apr 13, 2008 4:19 pm Naslov sporočila: |
|
|
Uf,nisem pričakoval takega odziva,[slovenščina je zame španska vas] hvala za nasvete.Bom preizkusil
Hvala zaenkrat |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Apr 13, 2008 7:36 pm Naslov sporočila: |
|
|
Debounce tipka, 0, nekaj
Kaj tale ukaz je nekakšna krajšava?
Ali je ta ukaz podoben temu:
If tipka = 0
Goto nekaj
End If
... |
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1712 Aktiv.: 7.68 Kraj: Ig
|
Objavljeno: Ned Apr 13, 2008 8:41 pm Naslov sporočila: |
|
|
Citiram: |
If tipka = 0
Goto nekaj
End If |
Ja, precej, vendar je prav namenjen tipkam. V bistvu je nekaj takega:
if tipka = 0 then
waitms 10
if tipka = 0 then
goto nekaj
end if
end if
V bistvu počaka nekaj milisekund, da mine prehodni pojav, potem še enkrat testira pin, če je še vedno na nuli, (če je tipka še vedno pritisnjena) potem komaj skoči tja, kamor mora. To je zaradi preprečevanja motenj, ki jih povzroči odskakovanje mehanskega kontakta tipke.
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Apr 13, 2008 8:54 pm Naslov sporočila: |
|
|
Aha, to razumem, hvala.
Samo zapis mi ni šel v glavo, te vejice pa to...
Se pravi ukaz debounce zapišemo tako:
Debounce Portx.x , stanje (0 ali1) , podprogram ali Portx.x = 1 ali 0 |
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1712 Aktiv.: 7.68 Kraj: Ig
|
Objavljeno: Ned Apr 13, 2008 9:35 pm Naslov sporočila: |
|
|
Jaz sem tole na pamet govoril. Poglej v Help. Trenutno se nahajam za Apple računalniom, kjer nimam inštaliranega Bascoma, na onem PCju, kjer pa je bascom nimam pa neta, pa se mi ne da skakat z ene sobe v drugo
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Apr 13, 2008 10:05 pm Naslov sporočila: |
|
|
Hvala. Sem pogledal v help in tam res vse lepo piše. Še konfiguriraš lahko ukaz Debounce.
Config Debounce = čas, ki ga naj preverja debounce (ms)
Debounce preverja pritisnjenost vsakih 5 ms |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Apr 13, 2008 10:09 pm Naslov sporočila: |
|
|
A ima kdo idejo kako in kaj bi naredil iz 1wire IR senzorja (iz starih mišk na kuglico)? Naprimer, da bi lahko s televizijskim pilotom prižigal ledice... |
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1712 Aktiv.: 7.68 Kraj: Ig
|
Objavljeno: Ned Apr 13, 2008 11:01 pm Naslov sporočila: |
|
|
V helpu si poglej temo na RC5. Stvar deluje, samo ne z vsemi daljinci. RC5 če se ne motim, je standard, ki ga uporablja Philips, zatorej so najbolj prikladni Philipsovi daljinci, ali pa kak poceni univerzalni daljinec iz Spara. Mislim, da je v Helpu tudi vezalna shema.
Vse kar rabiš je Ir sprejemni modul, na katerega pripelješ 5V, GND in iz njega dobiš že izluščen signal, ki ga pelješ na en pin. To je to. Stvar deluje. S pomočjo tega vezja sem naredil vklop/izklop ter zatemnjevanje luči v moji sobi, vklapljal sem še ventilator. Originalnih načrtov več nimam, niti kode, ker mi je šel na starem PCu disk rakom žvižgat in z njim tudi precej take šare, ki je predstavljala prve korake v programiranju uCjev...
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Pon Apr 14, 2008 7:22 pm Naslov sporočila: |
|
|
RGorazd je napisal/a: |
seznam ukazov v Bascomu dobiš s pritiskom na eno tipko:
do
If F1 = 1 then
Print HELP
End if
loop
...
LP G |
Kaj prek UARTa lahko kar napišeš, katero tikpo iščem (naprimer Space, F1, F2) in ko jo bom pritisno mi bo računalnik povedal da je pritisnjena...? |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Sre Apr 23, 2008 8:56 pm Naslov sporočila: |
|
|
Pozdravljeni!
Kakšno vlogo za vraga ima pin AREF pri AD pretvorniku? _________________ 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: 70 dni
Powered by phpBB © 2001, 2005 phpBB Group
|