Programmazione di LCD su EasyPic5



Documenti analoghi
Programmazione dello schermo Touch Screen su EasyPic5

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

D sistema d allarme con sensori magnetici

Uno dei metodi più utilizzati e

In questa puntata scopriremo

IL SISTEMA INFORMATIVO DEL POLICLINICO A. GEMELLI E DELL UNIVERSITA CATTOLICA DEL SACRO CUORE SEDE DI ROMA

La struttura dati ad albero binario

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

Arduino: Programmazione

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo

DISPLAY REMOTO PILOTATO DALLA SERIALE. LCD_SERv10

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

Interfacciamento di un PIC18F4620 con LCD grafico

SMT-i3100/3105 Guida Veloce

ESERCIZI - SERIE N.1

CIRCUITO DI TEST E SOFTWARE UTILIZZATI

MANUALE PRATICO D'USO NORME D' INSTALLAZIONE

Reference Introduzione al PC

Che cos è la barriera luminosa?

Oltresoftware by CGsoft EC3 TOTEM. Software Distribuzione Ticket

1. Manuale d uso per l interfaccia web di Gestione PEC

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

L ELETTRONICA. Il progetto completo della scheda di interfaccia col PC tramite porta parallela e del driver da 2A per il pilotaggio dei motori

Guida rapida Polycom SoundStation IP6000

File di testo e file binari Directory

Gestione dei File in C

OE-TL100 SOFTWARE PER RACCOLTA ORDINI MAGAZZINO

bolt PC-Suite (Guida all installazione)

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Esame di INFORMATICA

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti

COME COLLEGARSI DA REMOTO AD UN PLC S7-300/400 via MPI Indice

3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?

1. Manuale d uso per l interfaccia web di Gestione PEC2

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

RE Genitori e Alunni

MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC

Invio SMS. DM Board ICS Invio SMS

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

è importante farci conoscere e comunicare ai giovani la nostra passione e poi, si sa, da cosa nasce cosa... Premessa. Il Progetto.

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

IRSplit. Istruzioni d uso 07/10-01 PC

Permette di visualizzare l archivio di tutte le registrazioni e programmazione effettuate.

Introduzione. Descrizione. FRITZ!APP Fon

IL TELEFONO DI ALICE Manuale utente

Servizio di Posta elettronica Certificata (PEC)

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

NetMonitor. Micro guida all uso per la versione di NetMonitor

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

Esame del 3 febbraio 2010

- PROCEDURA TY - MANUALE D USO PALMARE PORTATILE HTC RILEVAMENTO LETTURE CONTATORI ACQUA

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

Introduzione. EMS è un sistema di raccolta e gestione ordini clienti. Si compone in due parti:

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M.

Dna File Converter Software per importazione esportazione dati Unisap-Essepaghe. Manuale utente

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

Global Security Solutions

Versione 4.0 Lotti e Scadenze. Negozio Facile

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Algoritmi di Ricerca. Esempi di programmi Java

Hotel Manager. Ospite non in camera Ospite in camera Non disturbare Camera riassettata o pronta ad accogliere un nuovo ospite

Breve guida a Linux Mint

Risoluzione Problemi Chiavetta Internet Veloce USB Onda

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/ III Informatica Serale I.T.I.S.

Eliminare i contatti duplicati in MS Outlook

Manuale di Aggiornamento BOLLETTINO. Rel B. DATALOG Soluzioni Integrate a 32 Bit

IL PORTALE DEL PENSIONATO GUIDA AL SERVIZIO

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

COD.: 555- PC CORONA DIESEL INTERFACCIA PC PER SIMULATORE CD555

Manuale Software e Hardware Control lights music 1.0. Sommario. Introduzione

La seguente procedura permette di configurare il Vostro router per accedere ad Internet. Vengono descritti i seguenti passaggi:

Manuale di Aggiornamento BOLLETTINO. Rel DATALOG Soluzioni Integrate a 32 Bit

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Guida rapida Cisco SPA 303

Sistema Pagamenti SSR

Laboratorio di programmazione

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

PPC2 MANAGER guida in linea

IL TELEFONO DI ALICE Manuale utente

Introduzione alla programmazione in C

Progetto e realizzazione di un sistema che rileva la temperatura a distanza

Introduzione al MATLAB c Parte 2

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

1) Come si crea una cartella? Menù File/Nuovo/Cartella Menù File/ Nuova cartella Menù Visualizza/Cartella

introduzione I MICROCONTROLLORI

CONFIGURAZIONE DI UN REGISTRATORE DI CASSA CON BUSINESSPASS

U88Pat Automatico Versione 1.0

Transcript:

Programmazione di LCD su EasyPic5 Finalità del Progetto : Creare una interfaccia menù sull LCD interattiva tramite i pulsanti del PORTA, con la possibilità di leggere delle stringhe sull LCD che descrivono la funzionalità dei pulsanti. Si tratta di una prova prototipo per una scheda da costruire per la torre di controllo di Venezia; si tratta di promemoria elettronico che descrive lo stato di occupazione della pista per i controllori del traffico aereo.

Scheda EasyPIC5 Elementi della scheda Easy Pic utilizzati: 1) Schermo LCD a 2 righe. 2) PIC16F887. 3) Entrate PORTA PORTB PORTC PORTD PORTE (X8 X8 X8 X8 X4). 4) Uscite PORTA PORTB PORTC PORTD PORTE (X8 X8 X8 X8 X4). 5) Dip-switch per selezione modalità d'uso. 6) Interfaccia di programmazione. 7) Interfaccia di alimentazione esterna Software di programmazione Suite di programmazione Mikroeletronika contenente: 1) Ambiente di sviluppo MikroC 2)Software di programmazione PicFlash. 3)Driver di interfacciamento PC PIC. Attenzione all impostazione corretta dei dip-switch che selezionano le diverse funzionalità sulla scheda.

Il listato del programma /* * Project name: Torre di controllo * Copyright: (c)4at ITIS Max Planck * Description: Un programma per fornire in uscita su LCD un messaggio prestabilito agendo sui pulsanti di una tastiera * Test configuration: MCU: PIC16F887 Dev.Board: EasyPIC5 Oscillator: HS, 08.0000 MHz Ext. Modules: LCD 2x16/3x16 SW: mikroc v8.0 * NOTES: Attenzione all'overmemory della RAM */ char *occupato = "RWY ENGAGED "; //inserimento variabili: char=testo; int=numeri interi char *libero = "Pista Libera"; char *sele = " "; char *A = "Safety"; char *B = "Elettricisti"; char *V = "Tecnosky"; char *O = "Falconiere"; char *E = "Follow-Me"; char *L = "Vigili Fuoco"; char *G = "Polizia"; char *H = "Altro"; int i,x,k,t=0; int Led(int z,int y){ //Funzione per attivare Leds int g=0; // flag g di controllo do{ //ogni 50 ms c'e' un controllo di un'eventuale //attivazione del pulsante numero z.

PORTD=y; //sul PORTD si vede qual è l ingresso attivo PORTD=0; //spegne i led. questa funzione fa: }while(g==0); //un continuo accendi/spegni dei led, e da questo } //ciclo si esce fuori solo cliccando lo stesso pulsante. int Ing(int z, int y, char zy){ //Funzione Ing Delay_ms(100); LCD_Out(1,1, occupato); //in uscita mostra nella riga 1, //colonna 1 la variabile "occupato". LCD_Out(2,1, zy); //idem, ma sulla seconda riga Led(z,y); //chiama la funzione Led, inserendo //con le 2 variabili di ingresso: //z=numero del pulsante, y=led LCD_Cmd(LCD_CLEAR); //Pulisce il display Delay_ms(100); } void main() { TRISC = 255; PORTC = 0; TRISD = 0; //inizio del programma //abilito il PORTC come ingresso //abilito il PORTD come uscita

PORTD = 0; ANSEL = 0; ANSELH = 0; Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0); // Impostazione del PORTB // come uscita per LCD LCD_Cmd(LCD_CLEAR); // cancella il Display LCD_Out(1,1, libero); LCD_Out(2,1, sele); // Fa comparire nell' LCD la stringa libero // La stringa sele viene visualizzata nell' LCD do{ // Inizio del ciclo Do-While LCD_Out(1,1, libero); LCD_Out(2,1, sele); if (PORTC==1){Ing(1,1,A);} // Da qui inizia il controllo else if (PORTC==2){Ing(2,2,B);} // uno ad uno input attivi else if (PORTC==4){Ing(4,4,V);} // sul PORTC. else if (PORTC==8){Ing(8,8,O);} // se la condizione è vera, chiama else if (PORTC==16){Ing(16,16,E);} // la funzione else if (PORTC==32){Ing(32,32,L);} // Ing(Pulsante, Leds, variabile char) else if (PORTC==64){Ing(64,64,G);} else if (PORTC==128){Ing(128,128,H);} } }while(1); // Impostando cosi' da un ciclo infinito

FLOW CHART Programma INIZIO PROGRAMMA INSERIMENTO EVENTUALI VARIABILI ES: char *testo = Impostazione del PIC16F887: I/O dei quattro PORT DO In programma: do{ If (PORTC=1){Ing(1,1,A);} Else If (PORTC=2){Ing(2,2,B);} Else If (PORTC=4){Ing(4,4,V);} Else If (PORTC=8){Ing(8,8,O);} Else If (PORTC=16){Ing(16,16,E);} Else If (PORTC=32){Ing(32,32,L);} Else If (PORTC=64){Ing(64,64,G);} }while(1); IF in cascata dove si controlla ogni singolo pulsante con utilizzo della funzione Ing( ) per testare gli ingressi del PORTC. END While(1)

FUNZIONE Ing( ) INIZIO END Delay (ritardo) di 100 ms, per sincronizzare l azione sui tasti al prg. Definisco variabili esterne:int z, int y, char x Scrivo sull LCD (prima riga) occupato ; (seconda riga) la x. Chiamo la funzione Led con variabili. Esterne (z,y) Cancello LCD, con il comando: LCD_Cmd(LCD_Clear) Delay (ritardo) da 100 ms per la sincronizzazione Int Ing(int z, int y, char x){ Delay_ms(100); LCD_Out ( 1,1, Occupato ); LCD_Out ( 2,1, x); Led(z,y); //dentro alla funzione Ing( ) c e un altra funzione: Led( ) LCD_Cmd ( LCD_CLEAR); Dealy_ms(100); }

FUNZIONE Led( ) INIZIO Led Definisco variabili locali della funzione Led( ) Definisco la variabile Flag g = 0 DO I led assumono il valore y in binario. Un Delay di 50 ms X4 Delay e IF vengono ripetute per altre 4 volte I led vengono spenti tutti. SI Con if, controllo se viene premuto il pulsante num.z Se viene premuto, g assume valore 1 While (g==0) No END