dovelo matrica kaskadno

I

Ibaghdadi

Guest
bok
imam vodila matrica koja radi fino
kako bih ga i kaskadni će ovo trebati nikakve promjene u svom programu

 
Ibaghdadi wrote:kako bih ga i kaskadni će ovo trebati nikakve promjene u svom programu
 
hi;
dobro o hardveru sam koristeći shift register (hfe409bp4) tekući visak (Toshiba uln280AG) i 8 pnp transistors
I dobili podatke i sat iz mikro

kod je u C kompajler avr codevision:[# define SETBIT (adresa, BIT) (ADRESE | = (1 <<BIT))
# define CLEARBIT (adresa, BIT) (ADRESA & = ~ (1 <<BIT))
# define SAT PORTB.0
# define PORTB.1 PODACI
# define STROBE PORTB.2
# uključiti <mega16.h>
# uključiti <delay.h>
# uključiti <stdio.h>
/ / Globalne varijable Objavite ovdje
int i, j, k, m, n, t = 0;
int timer1 = 0;
int timer2 = 0;
int A [8] [8] = ((0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0), (0,0 , 0,1,1,0,0,0), (0,0,1,0,0,1,0,0), (0,0,1,0,0,1,0,0), (0,0,1,1,1,1,0,0), (0,0,1,0,0,1,0,0), (0,0,1,0,0,1,0 , 0));
int B [8] [8] = ((0,0,0,0,0,0,0,0), (0,0,1,1,1,0,0,0), (0,0 , 1,0,0,1,0,0), (0,0,1,0,0,1,0,0), (0,0,1,1,1,0,0,0), (0,0,1,0,0,1,0,0), (0,0,1,0,0,1,0,0), (0,0,1,1,1,0,0 , 0));
int E [8] [8] = ((0,0,0,0,0,0,0,0), (0,0,1,1,1,0,0,0), (0,0 , 1,0,0,0,0,0), (0,0,1,0,0,0,0,0), (0,0,1,1,1,0,0,0), (0,0,1,0,0,0,0,0), (0,0,1,0,0,0,0,0), (0,0,1,1,1,0,0 , 0));
int C [8] = (0x00, 0x38, 0x24, 0x24, 0x38, 0x24, 0x24, 0x38);
poniłtava setup_AVR ();
void swap (int * a, int * b);
poniłtava sat (int a);
poniłtava led_matrix_clear ();
poniłtava led_matrix_A ();
poniłtava led_matrix_AB ();
poniłtava led_matrix_B ();
poniłtava led_matrix_E ();
poniłtava led_matrix_C ();

poniłtava glavna (void)
(
# asm ( "sei")setup_AVR ();

a (1)
(
led_matrix_AB ();
);
)

poniłtava setup_AVR ()
(
PORTB = 0x00;
DDRB = 0xFF;
PORTC = 0x00;
DDRC = 0xFF;
DDRA = 0xFF;
)

poniłtava sat (int a)
(
for (i = 1; i <= a; i )
(
SAT = 1;
delay_us (1);
SAT = 0;
delay_us (1);
))poniłtava led_matrix_clear ()
(
PORTC = 0b00000000;
)
poniłtava led_matrix_A ()
(
if ( timer1 == 7)
(Timer1 = 0;
for (m = 0; m <8; m )
for (n = 0; n <7; n )
(
swap (& A [m] [n], & A [m] [(n 1)]);
)
)
for (k = 0; K <8; k )
(

SETBIT (PORTC, k);
STROBE = 1;
for (j = 0; j <8; j )
(
PODACI O = A [k] [j];
sat (1);
)
STROBE = 0;
delay_ms (1);

CLEARBIT (PORTC, k);
)

)
poniłtava led_matrix_B ()
(
for (m = 0; m <8; m )
for (n = 0; n <7; n )
(
swap (& B [m] [n], & B [m] [(n 1)]);
)
for (k = 0; K <8; k )
(
SETBIT (PORTC, k);
STROBE = 1;
for (j = 0; j <8; j )
(
DATA = B [k] [j];
sat (1);
)
STROBE = 0;
delay_ms (10);

CLEARBIT (PORTC, k);
)
)
poniłtava led_matrix_E ()
(
for (m = 0; m <8; m )
for (n = 0; n <7; n )
(
swap (& E [m] [n], & E [m] [(n 1)]);
)
for (k = 0; K <8; k )
(
SETBIT (PORTC, k);
STROBE = 1;
for (j = 0; j <8; j )
(
DATA = E [k] [j];
sat (1);
)
STROBE = 0;
delay_ms (10);

CLEARBIT (PORTC, k);
)
)
void swap (int * x, int * y)
(
int t;
=* t x;
=* x * y;
* y = t;
)
poniłtava led_matrix_AB ()
(
if ( timer1 == 10)
(Timer1 = 0; t ;
if (t ==

<img src="images/smiles/icon_cool.gif" alt="Hladno" border="0" />

(t = 0;)
for (m = 0; m <8; m )
(
for (n = 0; n <7; n )
(
swap (& A [m] [n], & A [m] [n 1]);

)
swap (& A [m] [n], & B [m] [t]);
)
)
for (k = 0; K <8; k )
(

SETBIT (PORTC, k);
STROBE = 1;
j = 0;
a (j <

<img src="images/smiles/icon_cool.gif" alt="Hladno" border="0" />(
PODACI O = A [k] [j];
sat (1);
j ;
)
STROBE = 0;
delay_ms (1);

CLEARBIT (PORTC, k);
)

)
poniłtava led_matrix_C ()
(

for (k = 0; K <8; k )
(

SETBIT (PORTC, k);

PORTA = C [k];

delay_ms (1);

CLEARBIT (PORTC, k);
)

)]
ovo za jednu vodio matrica sada kako cascad ga u jedan [/ code]

 

Welcome to EDABoard.com

Sponsor

Back
Top