13 aprile 07, 11:27 | #1 (permalink) Top |
User Data registr.: 13-04-2007
Messaggi: 6
| 16f876 e display lcd (GDM1602K)
Salve, ho acquistato di recente il display in argomento (2x16) nella speranza di poterlo gestire tramite un pic 16f876. Premetto che ho utilizzato come esempio il progetto ed il software in assembler (gestione display lcd) proposto da Tanzilli, effettuando le opportune modifiche. I contatti sono i seguenti: Rb2 = RS; Rb3 = E; Rb4 = db4; Rb5 = db5; Rb6 = db6; Rb7 = db7; LCD => db0, db1, db2, db3, R/W = massa Ho, inoltre, programmato il pic utilizzando ic-prog e facendo attenzione a disattivare LVP. I risultati da me ottenuti non sono eccezionali nel senso che riesco correttamente a visualizzare soltanto alcuni caratteri ascii quali ad esempio: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O ovverosia quelli esattamente corrispondenti alla colonna "0100" della rispettiva tabella. Per il resto è una catastrofe. Qualcuno di voi ha mai utilizzato questi LCD? E' possibile che le temporizzazioni previste dal Tanzilli non siano perfettamente compatibili al display da me utilizzato? dove sbaglio? |
13 aprile 07, 20:34 | #3 (permalink) Top |
User Data registr.: 13-04-2007
Messaggi: 6
|
La frequenza del quarzo da me utilizzato è 4 Mhz. il mio indirizzo e-mail dove potrai inviarmi il file è: angelole@libero.it Grazie Aspetto tue notizie |
13 aprile 07, 22:38 | #4 (permalink) Top | |
User Data registr.: 25-07-2004 Residenza: Trieste
Messaggi: 5.670
| Citazione:
Naraj | |
14 aprile 07, 23:00 | #6 (permalink) Top |
User Data registr.: 11-10-2004 Residenza: out of Verona
Messaggi: 573
|
ecco qua int i ; char Text[14] ; void InitHW(void) { TRISA=0xFF ; TRISB=0x00 ; TRISC=0x00 ; } void main(void) { InitHW() ; Delay_ms(500) ; Lcd_Init(&PORT ; // Initialize LCD connected to PORTB Lcd_Cmd(Lcd_CLEAR) ; // Clear display Lcd_Cmd(Lcd_CURSOR_OFF) ; // Turn cursor off Lcd_Out(1, 1, "ABCDEFGHILMNOPQRS") ; // Print text to LCD, 2nd row, 1st column i=0 ; for (;;) { Delay_ms(500) ; Lcd_Out(2,1,"Nr. ") ; Lcd_Out(2,5,Text) ; IntToStr(i,Text); Lcd_Out(2,5,Text) ; i++ ; } } |
15 aprile 07, 11:05 | #7 (permalink) Top |
User Data registr.: 13-04-2007
Messaggi: 6
|
Sei un grande, non ho altre parole. Funziona perfettamente. Purtroppo non conosco il linguaggio C, finora ho programmato in assembler! Per cui ti chiedo delle informazioni circa le temporizzazioni da te utilizzate in quanto ho la vaga impressione che ci sia qualcosa che non va nel mio codice. Non ho potuto fare a meno di notare come in poche righe di codice C sei riuscito a fare ciò che in assembler farei con almeno 10 volte tanto!!! Mi sa che passerò anch'io al C. Al proposito dove posso trovare un buon compilatore per il 16F876 e dei tutorial ??? Grazie. |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Display Royal Evo fa le bizze | Claudiopapi | Radiocomandi | 3 | 21 giugno 07 17:10 |
Pic 16F876 con display LCD | nunzio88 | Circuiti Elettronici | 4 | 20 febbraio 07 00:28 |
PIC 16f876 ??????? | manulele84 | Circuiti Elettronici | 9 | 11 agosto 06 13:56 |
voltmetro con display | Melquattro | Circuiti Elettronici | 9 | 21 giugno 06 20:27 |
Display LCD | SoldatoSemplice | Circuiti Elettronici | 5 | 16 maggio 06 00:21 |