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