Stránka 1 z 1

multiplex s atmega8 na velkom displeji

Napsal: 22 srp 2011, 10:18
od regnat
Vyskytol sa mi menší problém pri multiplexe s atmega8. a chcem sa spýtať na nejaké drobnosti. v schéme pouzívam veľké displeje konkrétne tieto http://www.sos.sk/?str=371&artnum=11953 . a program je nesledujuci :

.include "m8def.inc" ; definičný súbor AT
.def temp=r16
.def temp1=r17
.def temp2=r18
.cseg
.org 0x0
rjmp RESET
RESET:
ldi temp,high(RAMEND) ;Nastavenie ukazovateľa zásobníka-SP
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,0b00111000
out DDRB,temp;výstup je na PB5,PB4 a PB3
ser temp;nastavenie temp na 0xff
out DDRD,temp ;celyPORTD bude výstupný
out PORTD,temp
out PORTB,temp ;zhasnute všetky DSP
ldi r20,0x01; chceme zobraziť "1"
rcall ZOBRAZ; volanie podprogramu
cbi PORTB,3; svieti DSP1
; ak chceme zobraziť jednotku aj DSP2
cbi PORTB,4
; ak chceme zobraziť jednotku aj na DSP3
;cbi PORTB,5

KON: rjmp KON
;podprogram zobraz zobrazí hodnotu spodných 4 bitov r20

ZOBRAZ:
ldi r21,0b11000000 ;do r21 ulož hodnotu „nula“=0b11000000
andi r20,0x0f;maskovanie horných štyroch bitov r20
breq Z1;skoè na návestie Z1 ak výsledok bol 0

Z1:
out PORTD,r21 ;vyslanie obsahu r21 na PORTD
ret;návrat z podprogramu

po skompilovaní a napáleni programu do atmega8 mi vykresluje cislo aj na ostatne displeje nie len na jeden. podobny problem je aj ked dam na rozne displeje vypisat rozne cisla v cykle tak sa akokeby prekryva vsetko na vsetkych displejoch. Som uz z toho trosku bezradny za každú radu budem veľmi vďačný.

Napsal: 22 srp 2011, 10:22
od Andrea
Když máš VCC pro tranzistory 7,5V, tak máš ty transitory otevřené pořád všechny tři a ještě si koleduješ o smrt toho AVRka.

Napsal: 22 srp 2011, 10:23
od masar
Já vidím problém v použitém vyšším napájecím napětí displeje 7,5V oproti napájení MCU 5V. Tranzistory se tak nemohou zavírat a proto svítí všechny tři displeje. Zkus snížit napájení displeje také na 5V. :wink:


Zase byla Andrea rychlejší. :wink:

Napsal: 22 srp 2011, 10:30
od regnat
dakujem za rychle odpovede ... ale mi nizsom napati 5V mi tie velke displeje nesvietia vobec potom.

Napsal: 22 srp 2011, 10:32
od masar
Takže možná chyba v programu nebo avizovaná smrt AVR. :wink:

Napsal: 22 srp 2011, 10:33
od Andrea
Tak musíš pro spínání toho PNP tranzistoru použít level shifter, třeba NPN tranzistor v zapojení SE. Podobně jako se to dělá u digitronů. http://mongi.cz/Joomla/index.php?option ... mitstart=2

Napsal: 22 srp 2011, 10:44
od Zmije
Zapojit do bází zenerku 2V7, nebo zmenšit odpory v katodách displejů a pak to krmit 5V by nepomohlo?

Napsal: 22 srp 2011, 10:48
od Andrea
V těch velkých displejích bývají 3 nebo víc LED v sérii a na 5V to opravdu nesvítí.

Napsal: 22 srp 2011, 10:59
od masar
Máš pravdu Andreo.
:wink:

Napsal: 22 srp 2011, 11:31
od masar
Jak navrhl(a) Zmije:
:wink:

Napsal: 22 srp 2011, 11:31
od regnat
nie som si celkom isty ako zapojit ten NPN tranzistor so SE k tomu PNP. Nebola by aj k tomuto mensia rada ?

Napsal: 22 srp 2011, 11:33
od Andrea
Máš to v tom odkazu.

Napsal: 23 srp 2011, 00:33
od regnat
dakujem velmi za rady zapojenie spolu s NPN naozaj pomohlo ... zo zenerkou som to zatial neskusal ... este raz Vam velmi pekne dakujem