MATERIA: SISTEMI AUTOMATICI ELETTRONICI DOCENTE: Prof
Transcript
MATERIA: SISTEMI AUTOMATICI ELETTRONICI DOCENTE: Prof
MATERIA: SISTEMI AUTOMATICI ELETTRONICI DOCENTE: Prof. Losi Arnaldo Classe: 3ª F Anno Scolastico 2012-2013 CONTENUTI DISCIPLINARI SISTEMI ELETTRONI AUTOMATICI 1 Concetti di informatica Informazione, elaborazione delle informazioni, elaboratore elettronico. Schema a blocchi di un elaboratore: unità di input, unità di output, unità di memoria, unità di elaborazione. Bit, byte. Codice ASCII. Cenni al concetto di codice operativo, di linguaggio macchina, di programma di lavoro. Cenni al Sistema Operativo Windows. 2 Elementi di programmazione. Ambiente di sviluppo C++Builder 6.0 della Borland I linguaggi di programmazione e il loro uso per risolvere i problemi con un computer. Il linguaggio C e l’ambiente di sviluppo della Borland: C++Builder 6.0. Struttura di un programma in C. La funzione main() di un programma. Le funzioni delle librerie del C/C++ e le funzioni progettate dal programmatore. Il compilatore, il linker e la loro funzione. Come si progetta un’applicazione. 3 La programmazione ad oggetti. Introduzione alla programmazione ad oggetti. Differenze tra la programmazione sequenziale in ambiente DOS e quella ad oggetti. Gli oggetti e il loro uso nella programmazione. Le proprietà, i metodi e gli eventi. L’ambiente di programmazione ad oggetti C++Builder 6.0 della Borland. Le palette degli oggetti: proprietà e gli eventi. Inizializzazione delle proprietà degli oggetti at design time e at runtime. Oggetti 1 Gli oggetti: Form, Button, Label, Edit. 4 Tipi di dato e le variabili di memoria. Tipi di dato: char, int, float, double, bool e numero di byte di memoria occupati e loro caratteristiche. Le variabili di memoria di tipo char, int, float, double come contenitori di dati. Dichiarazione e inizializzazione delle variabili di memoria; RValue (contenuto) e LValue (indirizzo) di una variabile di memoria. Costanti e differenza tra variabili di memoria e costanti: assegnazione di valori alle costanti e alle variabili di memoria. Operazioni ed espressioni sulle variabili. Le istruzioni, significato ed uso; il punto e virgola ( ; ) come terminatore di riga. Significato e uso delle direttive #include e di #define. 1/5 Operatori aritmetici : -,+,/,*, %. Programmi: Visualizzazione di un messaggio con una funzione. Assegnazione e visualizzazione del contenuto di una variabile di memoria. Assagnazione di un valore ad una variabile di memoria al runtime. Calcolo dell'area e del perimetro di un rettangolo. Le Funzioni. Cosa sono le funzioni, a cosa servono e quando si usano. Dichiarazione di una funzione: il prototipo (prototype) di una funzione; la chiamata di una funzione; la definizione di una funzione. La visibilità di una funzione e delle variabili dichiarate all’interno di una funzione: le variabili locali. Passaggio dei parametri e la restituzione dei valori da una funzione. Il return e il void di una funzione. Struttura di una funzione. Tipologia delle funzioni progettate dal programmatore. Oggetti 2 Gli oggetti: Menu, Memo, RadioButton, CheckBox, Shape, Panel, Image, Bevel, Timer. 5 Strutture di controllo Espressioni aritmetiche, espressioni logiche, espressioni aritmetico-logiche, espressioni condizionali. L’istruzione if/else per la selezione del flusso. L’istruzione switch/case/deafult per la sezione di flussi multipli. L’if logico con una sola condizione Operatori logici e di confronto: && ||, ! , !=, ==, <, >, >=, <=. Istruzioni : randomize (), random (). Programmi: Indovinare un numero intero casuale da 0 a 9. Indovinare un numero intero casuale da 0 a 99. 6 Strutture di controllo iterative: - il ciclo for(); - il ciclo while(); - il ciclo do… while(); Le condizioni nelle strutture iterative I cicli annidati, cicli eterni. L'istruzione break per uscire da un qualsiasi tipo di ciclo. Programmi: Master Mind e Puzzle; 7 I puntatori, Concetto di puntatore; definizione di puntatore; l’operatore unario * nelle definizioni dei puntatori e nelle dichiarazioni; il nome di una variabile puntatore. Concetto di indirezione. Uso di un puntatore in un’ assegnazione. Utilità dei puntatori. Algebra dei puntatori. 8 Tipi di dati aggregati: gli array Variabili di tipo array. Array monodimensionali. Ricerche, ordinamenti, operazioni di calcolo su array numerici. Le stringhe: stringhe di tipo AnsiString e stringhe di tipo array di char. Il 2/5 terminatore di stringa, ‘\0’, e il suo uso nella scansione di un array di char. Funzioni di libreria operanti su AnsiString. 9 Puntatori e funzioni. I puntatori e le funzioni; passaggio dell’indirizzo di un array. Programma: Programma Test a domande e risposta con riepilogo in formato tabella del punteggio finale. Programma: Ricerca del Massimo e del Minimo e calcolo della media di un array di numeri. Programma: Ordinamento a bolle di un array di interi. CONTENUTI 1 DISCIPLINARI ELETTRONICA DIGITALE Codici e sistemi di numerazione. Aritmetica binaria a) Sistemi di numerazione: sistema di numerazione decimale (base 10); sistema di numerazione binario (base 2); sistema di numerazione ottale (base 8); sistema di numerazione esadecimale (base 16). Operazioni in binario. Complemento a 1 e complemento a 2 di un numero binario. Operazioni di sottrazione in C.a.1 e in C.a.2. Conversione di un numero espresso in una base numerica in un numero con altra base. b) Codici digitali: definizione di codice; codici pesati, numerici. Codice binario puro, Codice Gray, Codice BCD. 2 Algebra di Boole a) Generalità: Variabile logica, variabile analogica. Definizione di tabella della verità. b) Funzioni logiche elementari: Somma logica (OR), prodotto logico (AND), negazione o complemento di una variabile logica (NOT). Negazione della somma logica (NOR), negazione del prodotto logico (NAND). Funzione or esclusivo (OR-EX), funzione nor esclusivo (NOR-EX). Funzioni logiche. 3/5 c) Teoremi e principi dell'algebra di Boole: Teoremi e principi deducibili dalla somma logica. Teoremi e principi deducibili dal prodotto logico. Teoremi e principi deducibili dalla negazione. principio di dualità. Teoremi di De Morgan. d) Semplificazione delle funzioni logiche: Minterm e Maxterm. Forme canoniche di una funzione logica (come somma di minterm o come prodotti di maxterm). Semplificazione delle funzioni logiche: metodo dell'algebra di Boole, metodo delle mappe di Karnaugh. Mappa di Karnaugh a 3,4 variabili. 3 Logica Combinatoria a) Componenti a piccola scala di integrazione: Porte logiche elementari ( OR, AND, NOT, NOR, NAND, OR-EX ). Caratteristiche e simboli logici. Realizzazione di una rete logica a partire dalla funzione logica. Determinazione di una funzione logica a partire dalla rete logica. Realizzazione di una rete logica di un tipo con porte di altro tipo: funzione Or con NOR, funzione AND con NAND , funzione NOT con NOR e NAND, funzione OR con NAND, funzione AND con NOR, funzione NOR con NAND, funzione NAND con NOR. b) Analisi e sintesi delle reti logiche a porte logiche elementari: analisi e sintesi delle reti logiche a OR, AND, NOT ; analisi e sintesi delle reti logiche a NOR, NAND, NOT; analisi e sintesi delle reti logiche a NOR; analisi e sintesi delle reti logiche a NAND. Regola dei livelli. c) Componenti a media scala di integrazione . Teoria, Progetto Applicazioni: Convertitori di codice: Binario-Gray, Gray-Binario. Decoder : teoria e progetto. Utilizzo dei decoder nelle reti multiterminali. Decoder in ingresso Enable (abilitazione). Espansione di un decoder. Analisi delle reti combinatorie con l'utilizzo del decoder. Multiplexer: teoria e progetto. Multiplexer con ingresso di abilitazione. Utilizzo del multiplexer nella progettazione delle reti logiche. Espansione di un multiplexer. Analisi delle reti logiche combinatorie con l'utilizzo di multiplexer. Sommatori fra due numeri di 1 bit. Half Adder, Full Adder: teoria e progetto. Progetto di un sommatore fra due numeri di 4 bit. Comparatore tra due numeri di 1 bit: teoria e progetto. Comparatore tra due numeri di 4 bit : teoria e progetto. Sottrattori completi. 4 Logica Sequenziale a) Generalità : Logica sequenziale asincrona, logica sequenziale sincrona. Modello generale di una rete logica sequenziale: stato presente, stato futuro. b) Latch e Flip Flop ( FF ): Latch SR, principio di funzionamento. Tavola della verità. Latch con enable. FF asincroni, tabella di verità e tabella di comando. FF sincroni : tipo D, tipo T, tipo SR, tipo JK. Ingressi asincroni nel FF sincroni: clear e preset. Tabella di verità e di comando nei FF sincroni. Gli ingressi asincroni dei FF: Clear e Preset. 4/5 c) Reti logiche sequenziali sincrone di uso più comune : Divisori di frequenza, il conteggio. Contatori : contatori asincroni, contatori sincroni. Progetto di un contatore sincrono a modulo variabile. Progetto di un contatore sincrono con possibilità di bloccarlo in uno qualsiasi dei suoi stati possibili. 5 Logica Programmabile Logica programmabile. I dispositivi programmabili: le PLD. proprietà, caratteristiche e programmazione dei dispositivi logici programmabili. 6 Laboratorio a) LogicWorks 5.0 Uso di un simulatore digitale per realizzare circuiti elettronici. Progetto e realizzazione di reti logiche combinatorie e sequenziali. Progetto e realizzazione di componenti e costruzione di librerie custom. b) Il linguaggio VHDL di LogicWorks Introduzione al linguaggio VHDL. Progettazione di circuiti utilizzando un software dedicato. Entity e architecture. Il process e le istruzioni sequenziali. Progetto software di componenti con VHDL. c) Ambiente di programmazione Warp (Galaxy) Progetto e compilazione del software VHDL. Report con lista della piedinatura del dispositivo programmabile, il file .jed e suo utilizzo per la programmazione delle PLD in dotazione al laboratorio di elettronica. Modena 05 giugno 2013 INSEGNANTE Prof. Arnaldo Losi 5/5