|
Autore |
Messaggio |
opzioni |
lucadj93
postato il: 15.12.2011, alle ore 18:49 |
chi mi aiuta a fare lettere scorrevoli con pic 16f876a in c
lettere scorrevoli pic 16f876a in c
ciao io sto lavorando con un pic 16f876a e sto realizzando una scritta scorrevole su matrici a led 7x5 già prestampate (dot matrix).Il progetto sarebbe quello di scrivere a computer e attraverso l'rs-232 scrivere numeri e lettere sul display. Per adesso sono riuscito a far comparire lettere e numeri e comporre il mio nome "luca" facendo apparire lettera x lettera. Mi chiedevo se mi potevate dare dei consigli su l'uso della rs-232 e sull'usart e soprattutto di come fare scorrere le lettere sulla matrice, per lo meno qualche indicazione. Io programmo in c più o meno il progetto sarebbe come quello nel video che le lettere scorrono.
Se mi potete aiutare fatemi sapere, grazie in anticipo |
|
simonej
postato il: 16.12.2011, alle ore 12:14 |
Ok, che compilatore usi? MikroC contiene una comoda interfaccia terminale da collegare alla rs 232...puoi specificare che matrice Led usi? Tipo seriale o parallelo? |
|
rcc.roberto
[pagine pubblicate]
postato il: 16.12.2011, alle ore 13:08 |
Bisognerebbe sempre dare un'occhiata a quanto già pubblicato, prima di fare le domande.
Guarda qui:
http://www.grix.it/viewer.php?page=10170 |
|
lucadj93
postato il: 18.12.2011, alle ore 13:35 |
Ciao grazie mille io uso come compilatore ccs. la matrice a led che uso è questa:"18mm (0.7 INCH) SINGLE COLOR DOT
MATRIX DISPLAY
Part Number: TC07-11EWA
High Efficiency Red
dovrebbe essere parallelo
grazie mille simonej |
|
simonej
postato il: 19.12.2011, alle ore 11:15 |
Ho capito, inanzitutto devi creare una struttura che ti permetta di associare ad ogni elemento di una matrice le due uscite che ti permettono di accendere un LED.
Ad esempio chiami la matrice LED [7][5] e l'elemento LED [0][0] lo associ all'uscita port A0 e port B0;
Generata questa struttura devi definire lo stato di ogni led appartenente alla matrice, ad esempio:
A [0][0]=0; A [0][1]=1; A [0][2]=1;....
A [1][0]=0; A [0][0]=1; A [0][0]=0;....
. . .
. . .
. . .
se trovassi una libreria già fatta saresti già a campo vinto perchè questa cosa non è difficile da realizzare ma è un po' noiosetta...
probabilmente esistono modi più smart per farlo ma sul momento non mi viene in mente nulla.
Nella fase successiva ti basterà implementare un ciclo for che shifti di un passo a sinistra gli elementi della matrice.
Per riceverli da RS-232 è facile...
se usi una demobord colleghi alla porta rs232 il cavo DE9 e fai lo stesso col PC,
Sul Pc usi hiperterminal, con quello puoi spedire le lettere al pic, lui andrà a leggere il risultato nell'apposito registro HARDWARE (ti conviene utilizzare le librerie disponibili) e in base alla lettera che trovi scritta in carattere ASCII
, la visualizzi sulla tua matrice.
Non conosco CCS ma ti dico che con mikroC hai tutto quello che ti serve per semplificare il lavoro, ovvero: all'interno del compilatore trovi il terminale, le librerie UART(protocollo con cui passi dati da PC a pic) incluse e facili da implementare, e l'ambiente è semplice e pratico da utilizzare.
Buon lavoro
. |
|
simonej
postato il: 19.12.2011, alle ore 11:38 |
Non è sicuramente il modo più smart per farlo perchè ti servirebbero 35 output ed inoltre non ho guardato se il display è compatibile TTl. Cmq quando ho 2 min in più ci guardo a modo |
|
lucadj93
postato il: 19.12.2011, alle ore 21:41 |
Intanto grazie mille ora provo a fare qualcosa e poi ti faccio sapere |
|
|