Sari la conținut
ELFORUM - Forumul electronistilor

Probleme cu led dispay


Vizitator calin17us

Postări Recomandate

Vizitator calin17us

Buna...

Eu sunt incepator in acest domeniu ....dar vreau sa invat...

Ditre cei care stiti mai multe ..va rog sa imi dati un sfat in legatura cu problema care o am...

AM inteles ca I/O din avr am doar 20 mA si pt a aprinde un punct din matrice am nevie de 50 mA....

NU mai stiu ce sa fac....daca veti vreun sfat va rog

 

Schita in proteus este in arhiva ....

am codul acesta....:

 

 

.NOLIST ; Don't list the following in the list file

.INCLUDE "m8def.inc" ; Import of the file

.LIST ; Switch list on again

.org 0

 

 

rjmp RESET ;reset handle

rjmp RESET

rjmp RESET

 

;* Delay

 

;* Register variables

 

.def T1 = r1 ;lower registers

.def T2 = r2

.def temp= r16 ;higher register

 

;* Defines

;* Code

 

longDelay:

clr T1 ;T1 used as delay 2nd count

clr T2 ;T2 used as delay 3d count

delay1:

dec T2

brne delay1

dec T1

brne delay1

dec temp ;temp must be preset as

brne delay1 ; delay master count

;dec r3

;brne delay1

;dec r4

;brne delay1

;dec r5

;brne delay1

ret

 

;* Walk 8 LEDs on PORTB back and forth, reading data from Flash memory

;* Register variables

 

.def LEDdata = r0 ;Flash memory load register

 

;* Code

 

RESET:

ldi temp, low(RAMEND) ;point stack in RAM

out SPL, temp

ser temp

out DDRB, temp ;set PORTB i/o's as outputs

init:

ldi ZL, LOW(tabel*2) ;set Low memory pointer

ldi ZH, HIGH(tabel*2) ;set High memory pointer

 

;* Main program

 

loop:

lpm ;load data from Flash into r0

out PORTB, LEDdata ;set data on PORTB

ldi temp, 10

rcall longDelay ;wait 10 x 49.3 msec = approx. 0.5 sec

inc ZL

lpm ;check data at this moment

mov temp, LEDdata

cpi temp, '#' ;if # reached in memory,

breq init ; -> restart + reset memory

rjmp loop ;flash or walk LEDs

 

;* Data

;* 8 + 8 bits data sits in Flash like this

;* set '#' at end for walking LEDs

 

.cseg

tabel:

.db 0b00000001,0b00000010 ;data 0, 1

.db 0b00000100,0b00001000 ;data 2, 3

.db 0b00010000,0b00100000 ;data 4, 5

.db 0b01000000,'#' ;data 6, 7

 

Edit by ole: ai un avertisment de la mine in ceea ce priveste ceea ce scrii la sectiunea Atmel. la urmatorarea abatere vor incepe sa dispara subiectele fara avertisment! Motivul: scrie mare ATENTIE LA FORMULAREA TITLULUI!!! De ce trebuie 100 de semne de exclamare? Nu esti pe messenger. Vreau disciplina!

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Laci

    2

  • sofian

    1

  • nana

    1

Top autori în acest subiect

ULN2003 este un array de tranzistoare NPN! de aia nu-ti merge, leaga COM-ul la GND si invertesti semnalele.Tot trebuie sa pui ceva rezistente de limitare de curent pentru leduri, si ca sfat pentru viitor, cand faci simulari nu pune si regulatorul ca n-are rost, pui numai ce vrei sa simulezi.

Link spre comentariu
Vizitator calin17us

AM pus com la gnd si tot nu am pe ieesire nika...am inversat si intrarile in uln si tot nu mereSi inca ceva nu ar trebuii sa am un semnal de intrare pe pinii 11,12,14 din uln2003Ar trebui sa am un semnal de iesire pe pinii pd4,pd5,pd6 de la atm.., eu ar trebui cred sa trimit pe un pin o valoare de 5 biti pentrua putea selecta coloana...cum fac asta...?

Link spre comentariu

Ca sa aprinzi o coloana pe pin1 de la hc595 trebuie sa ai +5v (1 logic)ptr asta trebuie sa incarci in registru (hc595) care coloana vrei sa o aprinzi si dupa aia sa dai in uln2003 care leduri sa se aprindadin programul ta nu vad nici o bucla de 8 bit ptr a incarca hc595,deci nu are cum sa mearga

Link spre comentariu

Deci ai grija ca ULN e un array de darlington catre masa comuna adica in mom in care deschizi ULN acela trage prin conexiune tensiunea la masa !!! nu e array de tranzistori... asta in cazul in care vrei sa folosesti schema in aplic reala. Proteusul interpreteaza doar ca si un simplu tranzistor acel circuit dar daca tu nu ai semnale pe bazele tranz de comanda atunci nu o sa ti se parinda in veci acel afisaj.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări