Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

Priklop LED displaya - bascom

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Samogradnje
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 7:32 pm    Naslov sporočila: Priklop LED displaya - bascom Odgovori s citatom

Pozdravljeni!

V knjigi BASCOM - LT je shema priključitev LED displayev brez multipleksiranja. Iz sheme ne morem razbrati na kaj je priključen tranzistor in katere LED displayi so uporabljeni. Za druge priključitve vem. Ali mi lahko pošlje oz nariše shemo brez tiste skupne "cevi" povezav,tako da lahko razločno vidim povezave na vsaki pin ?


Lp,denis

_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 7:41 pm    Naslov sporočila: Odgovori s citatom

še shema iz priporočnika:



Malo slabo se vidi.

_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Ned Apr 08, 2007 8:52 pm    Naslov sporočila: Odgovori s citatom

Ti si objavil shemo, na kateri sta ocitno (res se slabo vidi na tvoji sliki pa se shema je zmedeno narisana, ker se ocitno prekriva bus s signali za segmente in anoda displaya ?!) dva displaya prikljucena multipleksirano.

Ce imas izvorno kodo programa, potem jo objavi, pa bo jasno kako so prikljuceni segmenti (stevilke se morajo nnamrec izpisati v cloveku razumljivi obliki, pinout displayev pa je "standardiziran", kolikor je to potrosna elektronika le lahko Wink ).

Aha, pa se to: displaycki so taki s skupno anodo.


Nazadnje urejal/a Gustav Ned Apr 08, 2007 8:56 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Profesionalec


Pridružen/-a: Sre Okt 2006 17:57
Prispevkov: 85
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 8:53 pm    Naslov sporočila: Odgovori s citatom

Glede na PNP tranzistorje so uporabljeni LED displayi s skupno Anodo.

Bazo tranzistorja se "prizemlji", da tranzistor odpre. Tok steče skozi tiste segmente, ki so tudi "prizemljeni" preko uporov.

Tista skupna "cev" povezav je povsem enostavna.
Koda:

(+)-------------------E------------------E
pinA-----[R]--------B     pinB---[R]---B
                      C                  C
pin0-----[R]--0--|<|--|     0-------|<|--|
pin1-----[R]--1--|<|--|     1-------|<|--|
pin2-----[R]--2--|<|--|     2-------|<|--|
pin3-----[R]--3--|<|--|     3-------|<|--|
pin4-----[R]--4--|<|--|     4-------|<|--|
pin5-----[R]--5--|<|--|     5-------|<|--|
pin6-----[R]--6--|<|--|     6-------|<|--|
pin7-----[R]--7--|<|--'     7-------|<|--'

Točke 0...7 so Istoležne na vseh displajih. PinA krmili bazo TRa, pinB pa bazo TRb. Ker ima display 10 priključkov, ima najverjetneje 2 pina za (+) skupno Anodo.

Če uporabiš displaje s skupno katodo, uporabiš NPN tranzistorje in pozitivno logiko pri programiranju - "1" vklopi, "0" izklopi. Zdaj je namreč Negativna.
LP,
Igor

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Ned Apr 08, 2007 8:58 pm    Naslov sporočila: Odgovori s citatom

Atmelovi kloni x51 imajo x51-kompatibilne (t.i. "quasi-bidirectional") I/O pine, ki ne zmorejo dati od sebe omembe vrednega toka, lahko pa pozrejo ~20 mA, kar je dovolj za priziganje LEDic. Pri njih je mozna samo taka vezava, kot je narisana na sliki (s skupno anodo).
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 9:05 pm    Naslov sporočila: Odgovori s citatom

Gustav je napisal/a:
Ti si objavil shemo, na kateri sta ocitno (res se slabo vidi na tvoji sliki pa se shema je zmedeno narisana, ker se ocitno prekriva bus s signali za segmente in anoda displaya ?!) dva displaya prikljucena multipleksirano.

Ce imas izvorno kodo programa, potem jo objavi, pa bo jasno kako so prikljuceni segmenti (stevilke se morajo nnamrec izpisati v cloveku razumljivi obliki, pinout displayev pa je "standardiziran", kolikor je to potrosna elektronika le lahko Wink ).



Ja res je,tale BUS me moti in ne vidim na kaj je priključen tranzistor. Kot je izbrano je baza tranzistorja priključena na port 3 kontrolerja,to lahko razberem.

Koda iz priporočnika:
Koda:
'Dolocanje tipa spremenljivk
Dim Clock As Byte , Clock1 As Byte , Mux As Byte , Sekunde As Byte , X As Byte
Dim Pomozna_v As Byte , Segmenti As Byte , Enice As Byte , Desetice As Byte
Dim Prikaz As Bit , Izracun As Bit

Config Timer0 = Timer , Gate = Internal , Mode = 2          'konfiguriramo Timer
'Timer0 uporabimo timer 0
'gate = Internal                                            'brez zunanje prekinitve(interupt)
'Mode = 2 8 bit auto reload
On Timer0 Timer_0_int                                       'prekinitvena rutina
Load Timer0 , 250                                           'nalozimo v timer0 vrednost 250 µsek
Priority Set Timer0                                         'prioriteta dolocena timerju0
Enable Interrupts                                           'omogocimo prekinitve
Enable Timer0                                               'omogocimo delovanje timerja0
Start Timer0                                                'startamo timer0
Clock = 0                                                   'dolocimo zacetne vrednosti spremenljivk
Clock1 = 0                                                  'dolocimo zacetne vrednosti spremenljivk
Sekunde = 0                                                 'dolocimo zacetne vrednosti spremenljivk
Do                                                          'zacetek DO-LOOP neskoncne zanke
If Izracun = 1 Then                                         'Izracun = vsako sekundo
Izracun = 0

'................................................................................
'.Rutina za dolocanje desetic in enic
      Desetice = Sekunde / 10
      Pomozna_v = Desetice * 10
      Enice = Sekunde - Pomozna_v
'................................................................................
End If

If Prikaz = 1 Then                                          'prikaz na displeju samo, ko je Prikaz=1
Prikaz = 0
P1.0 = 1                                                    'postavi P1.0 na 1, vklopi tranzistor
'................................................................................
'rutina za prikaz enic
Pomozna_v = Enice
Gosub Prikaz .pojdi na subrutino Prikaz
P1.0 = 0
'................................................................................
End If
Loop                                                        'konec DO-LOOP zanke
End                                                         'konec programa
'................................................................................
'prekinitvena rutina
Timer_0_int:
Incr Clock                                                  'povecaj Clock za 1

If Clock > 19 Then                                          'ko bo Clock vecji od 19
Clock = 0                                                   'ga resetiraj na 0
Prikaz = 1                                                  'omogoci prikaz
Incr Clock1                                                 'povecaj Clock1 za 1
If Clock1 > 199 Then                                        'ko bo Clock1 vecji od 199
Clock1 = 0                                                  'ga resetiraj na 0
P1.7 = Not P1.7                                             'kontrolni bit
Izracun = 1                                                 'postavi Izracun na 1
Incr Sekunde
If Sekunde > 59 Then
Sekunde = 0
End If
End If
End If
Return
'................................................................................
'rutina za prikaz na LED displeju
Prikaz:                                                     'pazi na napako:dvopicje mora biti
'zraven brez presledka
Restore Tabela                                              'nalozi Tabelo v spomin
For X = 0 To 9                                              'od X = 0 do X = 9
Read Segmenti                                               'preberi iz Tabele vrednost in jo
'preslikaj v spremenljivko z imenom Segmenti
If X = Pomozna_v Then                                       'ce je X = pomozna_v potem
P3 = Segmenti                                               'prikazi Segmenti na portu P3
Exit For                                                    'konec FOR zanke
End If
Next
Return
'... podatki za pravilen prikaz stevilk na LED displeju ...
Tabela:
Data 3, 159, 38, 14, 154, 74, 66, 31, 2, 10




Hvala za pomoč.

_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 9:12 pm    Naslov sporočila: Odgovori s citatom

Potem, če prav razumem je kolektor priključen na anodi na display,ki ima dve anodi. v shemi je pnp tranzistor, se pravi da ga z "0" prižigam.
_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 9:17 pm    Naslov sporočila: Odgovori s citatom

datasheet od display-ov:
http://www.rapidonline.com/netalogue/specs/57-0110e.pdf

Malo sem poštudiral datasheet in sicer pin 3 in 8 na displayu povežem z kolektrorjem ostale pine pa z kotrolerjem.Ali je tako prav?Seveda z predupori.

_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Ned Apr 08, 2007 9:37 pm    Naslov sporočila: Odgovori s citatom

Napisal sem eno traparijo, zato popravljam sporocilo:

Tranzistor (njegov kolektor) je prikljucen na anodo 7-segmentnega displaya. Ja, to pomeni, da prikljucis kolektor na obe anodi, ce tako zahteva datasheet (proizvajalec tako stvar jasno napise oz. narise).

Na koncu programa se nahaja tabela z desetimi vrednostmi (za cifre od 0, 1, ... do 9). Vsak ugasnjen bit pomeni en prizgan segment. Ce je "3" (binarno 00000011) stevilka 0, potem morata biti 1. in 2. bit porta P1, na katerega se vrednost najbrz izpisuje, srednji vodoravni segment in pa pika, ki sta pri nicli ugasnjena. "159" (10011111b) je stevilka 1, torej sta 6. in 7. bit skrajna desna segmenta. "38" (00100110b) je stevilka 2, ta ima na desni strani prizgan samo zgornji segment, torej je to 7. bit, 6. je torej desni spodnji, 1. bit mora biti srednji, torej je 2. pika. "14" (00001110b) je stevilka 3, ki ima vkljucene vse segmente razen obeh levih in pike, torej sta 3. in 4. oba leva in ker je pri stevilki 2 prizgan spodnji levi, je to 4. bit, zgornji levi pa je 3. bit. Ostala sta samo se zgornji in spodnji segment in ker je stevilka 7 videti kot 1, le da ima prizgan se zgornji segment, to pa predstavlja v tabeli "31" (00011111b), je ocitno zgornji segment 8. bit, za spodnji segment pa ostane samo se 5. bit.

Povzetek:
P1.0 = srednji (v datasheetu oznacen z G)
P1.1 = pika (DP)
P1.2 = zgornji levi (F)
P1.3 = spodnji levi (E)
P1.4 = spodnji (D)
P1.5 = spodnji desni (C)
P1.6 = zgornji desni (B)
P1.7 = zgornji (A)
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Ned Apr 08, 2007 9:59 pm    Naslov sporočila: Odgovori s citatom

Hvala za pomoč. To vem da moram gledati "0". Oprostite ker nisem že prej povedal da bom to naredil z attiny2313.

V programu PINe spremenim v portd in portb. Vse lepo in prav,samo pri prevajanju mi kaže napako za timer:

Koda:
Config Timer0 = Timer , Gate = Internal , Mode = 2


in sicer:

Koda:
invalid parameter for CONFIG parameter or value [gate = internal]


Sice ne vem kaj naj bi tole z GATE = INTERNAL pomenilo, ampak me preverjanje ne spusti mimo. Ali kd0 ve kaj bi bilo narobe?

Še enkrat hvala za pomoč.

_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Ned Apr 08, 2007 10:15 pm    Naslov sporočila: Odgovori s citatom

Na Bascom se ne spoznam, ampak vecina MCUjev ima moznost delovanja vsaj enega timerja z zunanjim gate signalom, ki prepreci delovanje, dokler ni gate signal v ustreznem stanju. Ce je ta funkcija izkljucena, je timer popolnoma pod softversko kontrolo in je torej gate "internal".
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Ned Apr 08, 2007 11:07 pm    Naslov sporočila: Odgovori s citatom

Hoj,

Bascom AVR tega ukaza za timer sploh ne pozna, zato ti svetujem, da pogledaš v Help in prepiši primer nastavitve timerja. Mislim, da bo dovolj samo tole:

Config Timer0 = Timer , Prescale = 1

Jasno, moral boš spremeniti tudi vrednosti spremenjivk v prekinitveni rutini. AVR je precej hitrejši kot 8051...

Kako program iz Bascom-8051 "prevesti" v Bascom-AVR smo pisali v reviji Svet elektronike:

Naslov: Uvod v Bascom AVR
Številka: 73
Stran: 61
Leto: 2001
Avtor: Jure Mikeln

Pa tudi v Helpu prav na začetku piše, kako presedlati iz Bascom-8051 na Bascom AVR.

Če boš imel še težave, se spet oglasi.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
dkone
Profesionalec


Pridružen/-a: Sob Dec 2005 17:03
Prispevkov: 176
Kraj: Krško

PrispevekObjavljeno: Pon Apr 09, 2007 1:23 pm    Naslov sporočila: Odgovori s citatom

Jure je napisal/a:
Hoj,

Bascom AVR tega ukaza za timer sploh ne pozna, zato ti svetujem, da pogledaš v Help in prepiši primer nastavitve timerja. Mislim, da bo dovolj samo tole:

Config Timer0 = Timer , Prescale = 1

Jasno, moral boš spremeniti tudi vrednosti spremenjivk v prekinitveni rutini. AVR je precej hitrejši kot 8051...

Kako program iz Bascom-8051 "prevesti" v Bascom-AVR smo pisali v reviji Svet elektronike:

Naslov: Uvod v Bascom AVR
Številka: 73
Stran: 61
Leto: 2001
Avtor: Jure Mikeln

Pa tudi v Helpu prav na začetku piše, kako presedlati iz Bascom-8051 na Bascom AVR.

Če boš imel še težave, se spet oglasi.

Lp
Jure


Hvala G.Jure za infromacijo in pomoč. Jutri si grem sposodit tole revijo in stvar začel bolj študirat.

No, da mi danes ni bilo dolgcačas, sem si sestavil tole vezje z displayem, v programu spremenil spremenljivke in program vnesel v kontroler,povezal pine z displayom in priklopil. Iz vezja oz. displaya se ni nič zasvetilo. No, da ne bom šel z glavo skozi zid, bom jaz rajši prebral tisti članek,ki je bil objavlen v SE.

Še enkrat se zahvaljujem vsem.

_________________
Lp,Denis
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Gustav
Profesionalec


Pridružen/-a: Pon Jun 2005 17:19
Prispevkov: 768

PrispevekObjavljeno: Pon Apr 09, 2007 4:32 pm    Naslov sporočila: Odgovori s citatom

AVR najbrz potrebuje kaksno nastavitev porta, saj je bolj moderna iznajdba kot 8051, ki lahko (v objavljeni razlicici) deluje samo na en nacin. Programov ne mroes kar transplantirati 1:1 Idea
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Samogradnje Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
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
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group