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 ... 10, 11, 12 ... 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
tozir
Član
Član



Pridružen-a: Pon 17 Mar 2008 19:10
Prispevkov: 187
Aktiv.: 0.96
Kraj: Celje

PrispevekObjavljeno: Čet Avg 07, 2008 3:49 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!

Upam da sem prav umestil vprašanje. Imam en projekt ,kjer sem uporabil pine na katerih se uporablja JTAG, za prižiganje LEDic. Seveda stvar ne dela in po pregledu datasheeta sem ugotovil da je treba fuse byte sprogramirati tako, da se JTAG izklopi. Muči me pa to da mi STK500 extended noče prebrati zgornjega fuse byta ampak mi samo spodnjega.

_________________
http://www.rielektronika.comule.com/
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno 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 24, 2008 12:45 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!

Delam nekaj podobnega kot je tukaj naredil Silvo. Napisal sem program po helpu iz Bascoma za branje A/D. Program deluje,v tej temi sem tudi vse prebral kaj je v zvezi z A/D-jem. Kot referenco imam 5V(AREF imam vezan na +5V),uporabljen imam prvi kanal,vse skupaj pa furam z attiny26.

Spisal sem naslednji program,ki pa po pričakovanjih deluje tako kot treba. Za spreminaje napetosti,sem uporabil 1k trimer,ki lepo dela od 0 pa do 5V.

Koda:

Config Lcdpin = Pin , Db7 = Portb.3 , Db6 = Portb.2 , Db5 = Portb.1 , Db4 = Portb.0 , E = Portb.4 , Rs = Portb.5
Config Lcd = 16 * 1
Cursor Off

Dim W As Word , W2 As Word , Stotinke As Word , Desetinke As Word

Config Adc = Single , Prescaler = Auto
Start Adc

Cls
Do

W = Getadc(0)
W2 = W * 50
W2 = W2 / 1023
Stotinke = W2 / 10
Desetinke = W2 Mod 10

Locate 1 , 1
Lcd Stotinke ; "," ; Desetinke; "V";

Loop


Sedaj me pa zanima kako bi naredil izračune,da bi imel za konkreten primer,da bi meril napetost od 0 pa do 100V? Uporabil sem kar isti napetostni delilnik kot Silvo,se pravi 680 Omega ter 56k Omega

Napetostno razmerje napetostnega delilnika znaša 5/100=1/20=0,05.



R1=56k
R2=680


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



Pridružen-a: Sre 16 Jan 2008 21:38
Prispevkov: 283
Aktiv.: 1.43
Kraj: Domžale-Kamnik

PrispevekObjavljeno: Sre Okt 08, 2008 5:25 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!

Bom kar tukaj vprašal da nebom nove teme odpiral.
Isto vprašanje sem zastavil tudi na Svet elektronike forumu, pa bom pastal še tukaj.


Delam z grafičnim LCD-jem (KS107/108-) in touchscreenom. Vse mi dela ok, LCD nariše oziroma napiše kar mu naročim.
Imam pa en problem in sicer pri pisanju na točno zaželjeno lokacijo. Namreč pri ukazu "LCDAT y , x , var" me moti ker BascomAVR y kordinato šteje po vrsticah.
Primer:
Koda:
 Lcdat  3 , 5 , "[slovenščina je zame španska vas]" , 0

Bascom interpretira 3-jko kot 3ja vrstica za pisavo 8x8, torej gre na 24-ti pixel po y kordinati (3*8 ), medtem ko po x osi na 5 pixel. Nima veze katero pisavo imaš, vedno bo y kordinato štel po 8 pixlov. Jaz pa bi rabil da mi spremeljivko izpisuje na točno želeno lokacijo v obliki y(pixel), x(pixel), tako kot je to pri ukazu "Showpic x , y , ime_slike"

Se je že kdo ukvarjal s tem? Je namreč zelo nerodno ker po y osi lahko "skačem "samo po 8 pixlov...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Član
Član



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

PrispevekObjavljeno: Sre Okt 08, 2008 6:10 pm    Naslov sporočila:  programiranje v Bascom AVR Odgovori s citatom

Zlabo,
namesto ukaza LCDAT uporabi ukaz LOCATE. LCDAT je ukaz za color displej!
Tudi Help se splača kdaj pogledati, tam pa piše:

"LOCATE row,column : Will place the cursor at the specified row and column.
The row may vary from 1 to 16 and the column from 1 to 40. This depends on the size and mode of the display".
Vlado
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
zlabo
Član
Član



Pridružen-a: Sre 16 Jan 2008 21:38
Prispevkov: 283
Aktiv.: 1.43
Kraj: Domžale-Kamnik

PrispevekObjavljeno: Sre Okt 08, 2008 7:47 pm    Naslov sporočila:   Odgovori s citatom

Ne, LCDAT je tako za barvne kot tudi za enobarvne grafične LCD-je (poglej v bascom help). Ukaz LOCATE je pa namenjen za alfanumerične displeye, kjer sta x in y stolpec in vrstica.
Jaz pa potrebujem postaviti pisanje na točno določeno kordinato, naprimer na pixel 30,50 (y,x), tako kot se to zgodi ob ukazu SHOWPIC, kjer sliko lahko postaviš na točno določeno mesto x , y
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pobesneli
Član
Član



Pridružen-a: Sre 02 Jan 2008 1:24
Prispevkov: 1070
Aktiv.: 5.41
Kraj: Ajdovščina

PrispevekObjavljeno: Čet Okt 16, 2008 8:26 pm    Naslov sporočila:   Odgovori s citatom

Naj mi kdo pomaga.

Na atmega 8 poskusam priključit grafični ekranček,nikakor pa mi ne uspe nič prikazat na njem.

Zaniam me kakšna je razlika med SED lcdji in brez tistega SED.
KEr če ne konfiguriram pod Config Graphlcd 192 * 64sed,mi sploh noče prevest.

in še eno vprašanje,kako nastavit fuse bit da dela z zunanjim 11,059Mhz kristalom?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tozir
Član
Član



Pridružen-a: Pon 17 Mar 2008 19:10
Prispevkov: 187
Aktiv.: 0.96
Kraj: Celje

PrispevekObjavljeno: Ned Okt 19, 2008 4:00 pm    Naslov sporočila:   Odgovori s citatom

Lep pozdrav!

Ali se da v Bascom-u več kot enkrat definirati kam naj skoči ob prekinitvi? Namreč mi error napiše ko v programu hočem drugič definirati eno drugo labelo.

_________________
http://www.rielektronika.comule.com/
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



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

PrispevekObjavljeno: Ned Okt 19, 2008 10:12 pm    Naslov sporočila:  No Odgovori s citatom

No, na tvoje direktno vpašanje, ali se da ime interrupt rutine spreminjati, ne vem.

Vendar tudi če se ne da, lahko v tisti eni interrupt rutini imaš programsko kretnico/stikalo, ki preusmeri delovanje interrupt podprograma zdaj sem, zdaj tja.

_________________
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
LEDuser
Član
Član



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.67
Kraj: Ljubljana

PrispevekObjavljeno: Ned Dec 14, 2008 3:48 pm    Naslov sporočila:   Odgovori s citatom

Ker sem pred kratkim obupal nad assemblerjem sem preklopil na Bascom. Naučil sem se prižigati LED ... zataknilo pa se mi je pri ADCju. Če napišem program ki mi bere z enega ADCja v spremenljivko W (P = W / 10) in z nekaj IF stavki preverjam ali je P > 5 (10,15,20) mi prižiga izhode 0,1,2,3 se mi ob spreminjanju napetosti na ADC (0-100%) v prvi četrtini prižgejo v zaporedju vse ledice, v drugi četrtini se ugasnejo in se spet prižgejo v zaporedju...
Po moji logiki bi bilo tako:
ADC prebere stanje in ob 100% bi vrgel ven 1023. če to deliš z 10 bi moralo biti potemtakem stanje od 0-102. Če bi to razdelil na 4 enake dele (npr 25) in imam na vhodu ADC 1/4 napetosti (AVCC) bi morala LEDica zasvetiti pri takem stavku:

If P > 25 Then
Portd.0 = 1
Else
Portd.0 = 0
End If

Ne vem kaj delam narobe ampak zdi se mi da me tale Atmega8 malo

_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



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

PrispevekObjavljeno: Ned Dec 14, 2008 4:34 pm    Naslov sporočila:   Odgovori s citatom

LEDuser je napisal/a:
Ker sem pred kratkim obupal nad assemblerjem sem preklopil na Bascom. Naučil sem se prižigati LED ... zataknilo pa se mi je pri ADCju. Če napišem program ki mi bere z enega ADCja v spremenljivko W (P = W / 10) in z nekaj IF stavki preverjam ali je P > 5 (10,15,20) mi prižiga izhode 0,1,2,3 se mi ob spreminjanju napetosti na ADC (0-100%) v prvi četrtini prižgejo v zaporedju vse ledice, v drugi četrtini se ugasnejo in se spet prižgejo v zaporedju...
Po moji logiki bi bilo tako:
ADC prebere stanje in ob 100% bi vrgel ven 1023. če to deliš z 10 bi moralo biti potemtakem stanje od 0-102. Če bi to razdelil na 4 enake dele (npr 25) in imam na vhodu ADC 1/4 napetosti (AVCC) bi morala LEDica zasvetiti pri takem stavku:

If P > 25 Then
Portd.0 = 1
Else
Portd.0 = 0
End If

Ne vem kaj delam narobe ampak zdi se mi da me tale Atmega8 malo


PIC asm <--> AVR asm

A si preveril AD?Dobro bi bilo,da bi še zraven priklopil LCD pa gledal stanje AD-ja,tako boš lahko opazil kaj se dogaja,samo verjetno je napaka v kodi.

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



Pridružen-a: Pon 31 Mar 2008 12:06
Prispevkov: 1104
Aktiv.: 5.67
Kraj: Ljubljana

PrispevekObjavljeno: Ned Dec 14, 2008 7:11 pm    Naslov sporočila:   Odgovori s citatom

Ko bom prišel domov bom prilepil kodo. No naj povem da LCDja še nimam ampak mislim da če je 10-bitni pretvornik potem da pri 100% AVCC vrednost 1023. No ali lahko spišeš kratko kodo da vidim kje sem se uštel Confused ? Ko bom zavrtel trimerček do 1/4 bo gorela 1. LED ko bo na polovico 2.LED itd.

Hvala, LP Matej

_________________
Razsvetljujemo od leta 1920!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



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

PrispevekObjavljeno: Ned Dec 14, 2008 7:32 pm    Naslov sporočila:   Odgovori s citatom

Malo višje sem enkrat pripel kodo za pogon AD-ja in uporabo LCD-ja.

Prikazuje ti samo število bitov,to nekam umes med vrsticami vnesi za prikaz na LCD,sicer pa ti bom jutri na faksi malo bolj razložil.

Koda:

Config Lcdpin = Pin , Db7 = Portb.3 , Db6 = Portb.2 , Db5 = Portb.1 , Db4 = Portb.0 , E = Portb.4 , Rs = Portb.5
Config Lcd = 16 * 1
Cursor Off

Dim W As Word , W2 As Word , Stotinke As Word , Desetinke As Word

Config Adc = Single , Prescaler = Auto
Start Adc

Cls
Do

W = Getadc(0)
LCD W

Loop



P.S: ICD2 clon sem oživel in veselo programira Very Happy Tudi ostalo sem ti sprogramiral. Več ti jutri povem Wink

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



Pridružen-a: Ned 16 Apr 2006 15:15
Prispevkov: 549
Aktiv.: 2.51
Kraj: MS

PrispevekObjavljeno: Pon Dec 15, 2008 12:32 am    Naslov sporočila:   Odgovori s citatom

Rabim bi nekaj pomoči na LCD zaslonu 2*16 bi rad zapolnil obe vrsti z zvezdicami (*) vendar mi prvo vrstico zapolni samo do 8 znakov preostalo pa je prazno. Druga vrstica je prikazana pravilno.

Koda:
Napis:
Cls
Locate 1 , 1
Lcd "****************"

Locate 2 , 1
Lcd "****************"

Wait 1
Goto Napis
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
lojzek
Član
Član



Pridružen-a: Pet 25 Jan 2008 8:00
Prispevkov: 3352
Aktiv.: 17.02

PrispevekObjavljeno: Pon Dec 15, 2008 7:51 am    Naslov sporočila:   Odgovori s citatom

Poskusi še nekaj takega:
Koda:
Locate 1,8
Lcd"********"


In poglej, kam ti napiše zvezdice. Nekateri LCDji so definirani, kot da imajo 8 znakov v vrstici.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Misko
Član
Član



Pridružen-a: Ned 16 Apr 2006 15:15
Prispevkov: 549
Aktiv.: 2.51
Kraj: MS

PrispevekObjavljeno: Pon Dec 15, 2008 8:23 am    Naslov sporočila:   Odgovori s citatom

Sedaj sem ga še nekajkrat sprogramiral z isto kodo pa sedaj vredu deluje. LCD je DEM16216.
Nazaj na vrh
Skrit 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 ... 10, 11, 12 ... 36, 37, 38  Naslednja
Stran 11 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