AVR + LED matrix
mpityu
elektrolista at freemail.hu
Wed Nov 15 21:57:08 CET 2006
Hali!
Nezd meg ezt:
lorro, majd
/incoming/_rendezett-OK/konyvek_leirasok/EPE/epe-2006.11.pdf
van benne egy nagyon egyszeru fenymatrix... hasznalhatod 1:1be
is.. sw letoltheto az ujsag oldalarol...
Udv:mpityu
On 15 Nov 2006, at 9:53, Pal Lukacs wrote:
>
>
> Pal Lukacs <ekegep at yahoo.com> wrote: Sziasztok.
>
> AVR-el szeretnek meghajtani (egyelore) 5 db 5X7 ledmatrixot.
> Elmeleti segitsegre lenne szuksegem .
> Gondoltam hogy a sorokat latchel hajtanam meg,az oszlopok kozott multiplexelek.KIjelzem adott szoveg egy karakterenek egy reszletet a kivant matrixon,aztan a kov. karakter egy reszletet a kov. matrixon ..stb..
> Nem tudom ez mennyire jo megoldas?
>
> Amiben meg segitseg kellene az a karakterek leirasa C -ben,ezek megjelenitesere valami elv,nem haj az az emlitettel parhuzamos:)
> Na meg nem tudom hogy sor -es oszlopra is kell vegfok + aramkorlatozo ellenallas ha 5V -rol akarom uzemeltetni a dolgot..
>
> Segitsegeteket elore is koszonom.
> Udv.
>
>
> Szoftnak valami hasonlot kepzeltem el: (ez csak pseudo feleseg)
>
>
> #define MAX_CHARS
>
> //5X7 matrixnal egy karakter 5 allapota:
>
> struct chars_state{
> unsigned char states[5];
> };
>
>
> struct chars_states chars[MAX_CHARS] PROGMEM= {
> {0x01,0x05,0x0a,0xA1,0xB2},
> //{},
> //.........
> };
>
> #define pgm_rbn(addr) pgm_read_byte_near(addr)
> #define DATABUS
> #define ADDRBUS
> #define LATCHEN
>
> struct chars_states* decode_char(unsigned char ch){
> struct chars_states *retV;
> switch(ch){
> case 'a': retV = &chars_states[2]; break;// <--- pl.
> //........
> }
> return retV;
> }
>
> //main loop: in thread:
> //......
>
> struct chars_state ch_s;
>
> unsigned char i;
> unsigned char dot_address = 1 ;
> unsigned char latchs_addr = 1;
> unsigned char n = 0;
>
> //idoosztas
> //......
>
> if(cnt1 == CNT1_THREESHOLD)
> {
> ch_s = pgm_rbn(decode_char(str[n])); // n = max: ahany matrix van!
> BATABUS = ch_s.states[i];//egy karakter allapotai: i-dik allapota.
> LATCHEN = latchs_addr; latchs_addr *= 2; //kapcsoljuk a kovetkezo matrixot
> n++;//lepkedunk a karakterek kozott,kov. karakter reszlete a kov. matrixra
> if(n == 4){ //ha az 5 char hosszu karaktersorozat elso reszlete kikerult a matrixokra:
> flag = 1;//jelzunk
> }
> }
> if(flag){
> latchs_addr = 1; //vissza az elso latchhez:-)
> n = 0; //vissza a karaktertomb elejere
> ADDRBUS = dot_address; dot_address *= 2;//cimezzuk a matrixot:kov.oszlop;
> i++; //adott karakter kovetkezo reszletenek indexe
> flag = 0;
> }
>
> //}
>
>
> Pl. a szoveggorditest nem tudom egyelore elkepzelni.Hogy az egyik matrixbol kilepo adat atkerulj
on a masikra.Kellen egy atfogo elmeleti kep az egeszrol:)
>
> HELP PLEASE!
>
>
>
> ---------------------------------
> Sponsored Link
>
> Mortgage rates near 39yr lows. $420,000 Mortgage for $1,399/mo - Calculate new house payment
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list