Esercizi di verifica del debito formativo:



Documenti analoghi
ESERCIZI SUI SISTEMI DI NUMERAZIONE

Esercizi per il recupero del debito formativo:

CIRCUITO DI TEST E SOFTWARE UTILIZZATI

ESERCIZI SUGLI AUTOMI A STATI FINITI

PROCESSOR 16F84A. ;configurazione FUSES: oscillatore XT, WDT disabilitato PWRT abilitato, CP disabilitato config 0x3FF1

MICROCONTROLLORE PIC16F84A

I sistemi di numerazione

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

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

List p=16f84 ;Tipo di processore include "P16F84.INC" ;Definizioni di registri interni. goto Inizio

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

ESERCIZI NEL LINGUAGGIO ASSEMBLATIVO DEL MICROCONTROLLORE PIC 16F84

Microcontrollori. L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876.

PIC Set istruzioni. Sintassi Descrizione Microchip Operazione equivalente Effetto su STATUS

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON ADCS1, ADCS CH2, CH1 E CH GO/DONE... 6 ADON...

Categorie di sistemi Digitali

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Testi di Esercizi e Quesiti 1

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

SISTEMI DI NUMERAZIONE E CODICI

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

4. Operazioni aritmetiche con i numeri binari

Fondamenti di Informatica INFORMATICA ED UNITA DI MISURA

CPU. Maurizio Palesi

PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET

Informazione analogica e digitale

SISTEMI Di Alessandro Bicciato - classe 3^ ISE - a.s. 2008/09

Codifica binaria e algebra di Boole

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

APPUNTI SUL PIC16F84

Lezione 8. Figura 1. Configurazione del registro INTCON

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura del calcolatore

APPUNTI DI ELETTRONICA DIGITALE

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Rappresentazione dell informazione Codifica Binaria

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

PROGRAMMAZIONE ASSEMBLER

Fondamenti di Informatica

Arduino: Programmazione

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Rappresentazione di informazioni con un alfabeto finito

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Rappresentazione dei numeri in un calcolatore

Programmazione del microcontrollore PIC 16F84

Architettura hardware

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

NOZIONI BASE DI ASSEMBLER PER PIC16C84

Informatica. Rappresentazione dei numeri Numerazione binaria

1 Istruzioni Assembler

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Introduzione ai microcontrollori PIC

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Appunti sulla Macchina di Turing. Macchina di Turing

Definizioni iniziali

- Sistemi di numerazione 1 - Sistemi di Numerazione

Caratteri e stringhe Esercizi risolti

Struttura del calcolatore

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

introduzione I MICROCONTROLLORI

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

ESEMPIO 1: eseguire il complemento a 10 di 765

Laboratorio di Informatica

39 Il linguaggio grafico a contatti

4 3 4 = 4 x x x 10 0 aaa

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Ing. Paolo Domenici PREFAZIONE

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

2.12 Esercizi risolti

INTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Parte 1. Vettori di bit - AA. 2012/13 1.1

ENCODER. Fig. 1. attivi C B A. APPUNTI DI ELETTRONICA ENCODER DECODER rel. 01/06 Prof. Domenico Di Stefano pag. 19

L architettura del calcolatore (Prima parte)

PERIFERICHE INTELLIGENTI colleghiamo un display LCD

C. P. U. MEMORIA CENTRALE

Logica e codifica binaria dell informazione

Calcolo numerico e programmazione Architettura dei calcolatori

Corso di Sistemi di Elaborazione delle informazioni

Aritmetica dei Calcolatori 1

L'informazione e la sua codifica

Lezione 8. La macchina universale

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

FONDAMENTI di INFORMATICA L. Mezzalira

Architettura hw. La memoria e la cpu

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Transcript:

Esercizi di verifica del debito formativo: Disegnare il diagramma e scrivere la tabella delle transizioni di stato degli automi sequenziali a stati finiti che rappresentano il comportamento dei seguenti sistemi digitali: 1 ) Riconoscitore di sequenze concatenate di quattro lettere di tipo "BABA". I = {A, B} U = {on, off} S = {s 1, s 2, s 3, s 4 } A/off A/on B/off A/off s 1 s 2 s 3 B/off s 4 A/off B/off B/off s i A B s 1 s 1 /off s 2 /off s 2 s 3 /off s 2 /off s 3 s 1 /off s 4 /off s 4 s 3 /on s 2 /off 2 ) Distributore automatico di biglietti da 5 euro che accetta solo monete da uno o da due euro. I = {1, 2 } U = {on, off} S = {s 1, s 2, s 3, s 4, s 5 } 1 /on s 1 1 /off s i 1 2 s 5 2 /on 2 /on s 2 s 1 s 2 /off s 3 /off s 2 s 3 /off s 4 /off 2 /off 1 /off 2 /off 2 /off 1 /off s 3 s 4 /off s 5 /off s 4 s 5 /off s 1 /on s 4 1 /off s 3 s 5 s 1 /on s 2 /on

3 ) Sistema composto da quattro lampadine L1, L2, L3 ed L4 controllate da due pulsanti A e B in modo tale che una sola lampadina alla volta sia sempre accesa. Premendo il pulsante A, tale lampadina si spegne e si accende quella successiva; premendo invece il pulsante B, tale lampadina si spegne e si accende quella precedente (la lampadina successiva alla quarta è la prima). I = {A, B} U = {on 1, on 2, on 3, on 4 } S = {s 1, s 2, s 3, s 4 } A/on 2 i s A B s 1 B/on 1 s 2 s 1 s 2 /on 2 s 4 /on 4 A/on 1 B/on 4 B/on 2 A/on 3 s 2 s 3 /on 3 s 1 /on 1 s 3 s 4 /on 4 s 2 /on 2 s 4 B/on 3 s 3 s 4 s 1 /on 1 s 3 /on 3 A/on 4 4 ) Ascensore a sei piani con un display che visualizza il numero del piano e due pulsanti di nome SU e GIU. Premendo il pulsante SU, l ascensore, a meno che non si trovi al sesto piano, sale al piano superiore. Premendo il pulsante GIU, l ascensore, a meno che non si trovi al primo piano, scende al piano inferiore. I = {SU, GIU} U = {T, I, II, III, IV, V} S = {s 1, s 2, s 3, s 4, s 5, s 6 } GIU/T GIU/I GIU/II GIU/III GIU/IV s 1 s 2 s 3 s 4 s 5 s 6 SU/I SU/II SU/III SU/IV SU/V GIU/T SU/V s i SU GIU s 1 s 2 /I s 1 /T s 2 s 3 /II s 1 /T s 3 s 4 /III s 2 /I s 4 s 5 /IV s 3 /II s 5 s 6 /V s 4 /III s 6 s 6 /V s 5 /IV

1 ) Eseguire l addizione binaria tra 81 e 95, convertendo il risultato in decimale. 81 1 95 1 81 = (1010001) 2 95 = (1011111) 2 40 0 47 1 20 0 23 1 10111110 10 0 11 1 1010001 + 5 1 5 1 1011111 = 2 0 2 0 10110000 1 1 1 1 0 0 (10110000) 2 = 16 + 32 + 128 = 176 2 ) Eseguire la sottrazione binaria tra 78 e 123, convertendo il risultato in decimale. 78 0 123 1 78 = (1001110) 2 123 = (1111011) 2 39 1 61 1 19 1 30 0 11100110 9 1 15 1 1001110-4 0 7 1 1111011 = 2 0 3 1 1010011 1 1 1 1 0 0 (1010011) 2 = 1 + 2 + 16 + 64 = 83 3 ) Eseguire l addizione ottale tra 179 e 254, convertendo il risultato in decimale. 179 3 254 6 179 = (263) 8 254 = (376) 8 22 6 31 7 2 2 3 3 0110 0 0 263 + 376 = (661) 8 = 1 + 6 * 8 + 6 * 64 = 1 + 48 + 384 = 433 661 4 ) Eseguire la sottrazione ottale tra 155 e 309, convertendo il risultato in decimale. 155 3 309 5 155 = (233) 8 309 = (465) 8 19 3 38 6 2 2 4 4 1110 0 0 233-465 = (546) 8 = 6 + 4*8 + 5*64 = 6 + 32 + 320 = 358 546 5 ) Eseguire l addizione duodecimale tra 124 e 217, convertendo il risultato in decimale. 124 4 217 1 124 = (A4) 12 217 = (161) 12 10 10 18 6 0 1 1 0100 0 0A4 + 161 = (245) 12 = 5 + 4*12 + 2 * 144 = 5 + 48 + 288 = 341 245

6 ) Eseguire la sottrazione duodecimale tra 62 e 141, convertendo il risultato in decimale. 62 2 141 9 62 = (52) 12 141 = (B9) 12 5 5 11 11 0 0 110 52 - B9 = (55) 12 = 5 + 5*12 = 5 + 60 = 65 55 7 ) Eseguire l addizione esadecimale tra 184 e 220, convertendo il risultato in decimale. 184 8 220 12 184 = (B8) 16 220 = (DC) 16 11 11 13 13 0 0 110 B8 + DC = (194) 16 = 4 + 9*16 + 256 = 4 + 144 + 256 = 404 194 8 ) Eseguire la sottrazione esadecimale tra 116 e 191, convertendo il risultato in decimale. 116 4 191 15 116 = (74) 16 191 = (BF) 16 7 7 11 11 0 0 110 74 - BF = (B5) 16 = 5 + 11*16 = 5 + 176 = 181 B5 9 ) Ripetere gli otto esercizi precedenti, scambiando tra loro gli operandi di ogni operazione.

Rispondere alle seguenti domande: 1 ) Che cos è un sistema? E un insieme di parti correlate tra loro in modo che tale insieme possieda una sua struttura ed un proprio comportamento. 2 ) Che cos è una grandezza fisica? E una caratteristica di un sistema che può essere misurata fisicamente. 3 ) Che cos è la misura di una grandezza fisica? E il rapporto tra il valore di quella grandezza fisica e quello di un altra grandezza analoga alla prima. 4 ) Che cos è un sistema astratto? E un sistema che possiede delle caratteristiche non misurabili fisicamente. 5 ) Che cos è una grandezza variabile? E una grandezza il cui valore può cambiare nel tempo. 6 ) Quand è che un sistema fisico è detto statico? Quando non possiede alcuna grandezza fisica variabile. 7 ) Che cos è una variabile esogena? E una grandezza fisica che rappresenta una interazione con l ambiente esterno. 8 ) Quand è che un sistema fisico e dinamico è detto chiuso? Quando non possiede alcuna grandezza variabile d ingresso. 9 ) Quand è che un sistema fisico e dinamico è detto probabilistico? Quando non esiste una legge ben precisa che lega tra loro tutte le sue variabili. 10 ) Che cos è una variabile discreta? E una variabile il cui valore può cambiare solo in particolari istanti. 11 ) Che cos è una variabile digitale? E una variabile discreta che può assumere solo un numero finito di valori. 12 ) Che cos è un modello iconico? E un modello che rappresenta la struttura di un sistema per somiglianza fisica. 13 ) Che cos è un modello analogico? E un modello che rappresenta il comportamento di un sistema per analogia funzionale. 14 ) Che cos è un modello procedurale? E un programma la cui esecuzione permette di simulare il comportamento di un sistema. 15 ) Che cos è la funzione di transizione di un automa sequenziale? E una funzione che ha per dominio in prodotto cartesiano tra l insieme degli stati e quello dei valori d ingresso, e per condominio l insieme degli stati. 16 ) Che cos è la funzione di trasformazione di un automa sequenziale? E una funzione che ha per dominio in prodotto cartesiano tra l insieme degli stati e quello dei valori d ingresso, e per condominio l insieme dei valori d uscita. 17 ) Quand è che un automa è detto combinatorio? Quando la sua funzione di trasformazione ha per dominio solo l insieme dei valori d ingresso (ovvero i valori d uscita dell automa non dipendono dagli stati). 18 ) Quand è che un automa sequenziale è detto di Moore? Quando la sua funzione di trasformazione ha per dominio solo l insieme degli stati (ovvero i valori d uscita dell automa non dipendono dai valori d ingresso).

19 ) Quand è che un codice è detto efficiente? Quando non è né ambiguo né ridondante. 20 ) Qual è il numero massimo di parole di un codice a lunghezza fissa? E la cardinalità dell alfabeto del codice elevato alla lunghezza di ciascuna parola. 21 ) Quante sono le parole del codice A- SCII? Cento e vent otto. 22 ) Che cosa rappresentano le parole del codice ASCII che iniziano per 00? Rappresentano 32 caratteri di controllo. 30 ) Che cos è la base di un sistema di numerazione posizionale? E il numero di cifre utilizzate in quel sistema per rappresentare i numeri. 31 ) Che cos è il complemento alla base di un numero di n cifre? E la differenza tra la base elevata al numero di cifre ed il valore di quel numero. 32 ) Quanto vale il risultato della sottrazione tra due numeri di n cifre in base B se il minuendo è minore del sottraendo? E uguale alla somma tra il minuendo ed il complemento alla base del sottraendo. 23 ) Che cosa rappresentano le parole del codice ASCII che iniziano per 01? Rappresentano le dieci cifre decimali e 22 simboli speciali. 24 ) Che cosa rappresentano le parole del codice ASCII che iniziano per 10? Rappresentano le 26 lettere maiuscole dell alfabeto latino e 6 simboli speciali. 25 ) Che cosa rappresentano le parole del codice ASCII che iniziano per 11? Rappresentano le 26 lettere minuscole dell alfabeto latino e 6 simboli speciali. 26 ) Scrivere il codice ASCII del carattere CARRIAGE RETURN in base 16. ASCII (CR) = (0D) 16 27 ) Scrivere il codice ASCII della cifra 0 in base 16. ASCII (0) = (30) 16 28 ) Scrivere il codice ASCII della lettera A in base 16. ASCII (A) = (41) 16 29 ) Scrivere il codice ASCII della lettera a in base 16. ASCII (a) = (61) 16

Facendo uso delle istruzioni del linguaggio macchina del microcontrollore PIC 16F84 studiate in classe, risolvere i seguenti problemi: 1 ) Calcolare il contenuto del registro W ed il valore dei flag C, DC e Z dopo l esecuzione delle seguenti istruzioni: MOVLW 194 ;W = 11000010B ; 11000010 ADDLW 227 ;W = 11000010B + ; 11100011B = ; 10100101B = A5H = 165D ;C = 1 DC = 0 Z = 0 2 ) Calcolare il contenuto del registro W ed il valore dei flag C, DC e Z dopo l esecuzione delle seguenti istruzioni: MOVLW 241 ;W = 11110001B ; 11100111 SUBLW 152 ;W = 10011000B ; 11110001B = ; 10100111B = A7H = 167D ;C = 0 DC = 1 Z = 0 3 ) Copiare nel registro di lavoro W la rappresentazione binaria della cifra decimale il cui codice ASCII è contenuto nel registro d indirizzo (20) 16. MOVF 20H,W ;W = [20H] ANDLW 00001111B ;W = W AND 00001111B (bit a bit) 4 ) Copiare nel registro d indirizzo (20) 16 il codice ASCII della cifra decimale la cui rappresentazione binaria è contenuta nel registro di lavoro W. IORLW 30H ;W = W OR 00110000B (bit a bit) ;[20H] = W 5 ) Scambiare tra loro i contenuti dei registri d indirizzo (20) 16 e (30) 16. MOVF 20H,W ;W = [20H] MOVWF 40H ;[40H] = W MOVF 30H,W ;W = [30H] ;[20H] = W MOVF 40H,W ;W = [40H] MOWF 30H ;[30H] = W

6 ) Traslare di una posizione verso sinistra tutti i bit del codice binario contenuto nel registro d indirizzo (20) 16, copiando il valore del bit più significativo nella posizione di ordine zero. MOVF 20H,W ;W = [20H] ADDWF 20H,W ;W = [20H] + W BTFSC STATUS,C ;SE CARRY = 1 ADDLW 1 ;ALLORA W = W + 1 ;[20H] = W 7 ) Sommare al numero binario di 16 cifre la cui parte bassa è contenuta nel registro d indirizzo (20) 16 e la cui parte alta è contenuta nel registro d indirizzo (21) 16, quello la cui parte bassa è contenuta nel registro d indirizzo (30) 16 e la cui parte alta è contenuta nel registro d indirizzo (31) 16. MOVF 30H,W ;W = [30H] ADDWF 20H,F ;[20H] = [20H] + W MOVLW 1 ;W = 1 BTFSC STATUS,C ;SE CARRY = 1 ADDWF 21H,F ;ALLORA [21H] = [21H] + W MOVF 31H,W ;W = [31H] ADDWF 21H,F ;[21H] = [21H] + W 8 ) Sottrarre al numero binario di 16 cifre la cui parte bassa è contenuta nel registro d indirizzo (20) 16 e la cui parte alta è contenuta nel registro d indirizzo (21) 16, quello la cui parte bassa è contenuta nel registro d indirizzo (30) 16 e la cui parte alta è contenuta nel registro d indirizzo (31) 16. MOVF 30H,W ;W = [30H] SUBWF 20H,F ;[20H] = [20H] - W MOVLW 1 ;W = 1 BTFSSSTATUS,C ;SE CARRY = 0 SUBWF 21H,F ;ALLORA [21H] = [21H] - W MOVF 31H,W ;W = [31H] SUBWF 21H,F ;[21H] = [21H] - W 9 ) Configurare le linee RA0, RA1, RA2 ed RA3 in ingresso; la linea RA4 in uscita ed a livello alto. BSF MOVLW MOVWF BCF BSF STATUS,RP0 00001111B TRISA STATUS,RP0 PORTA,4

10 ) Simulare una porta logica NOT con ingresso la linea RA0 ed uscita la linea RA4. CICLO: BTFSS PORTA,0 GOTO RA0L RA0H: BCF PORTA,4 RA0L: BSF PORTA,4 11 ) Simulare una porta AND con ingressi le linee RA0 ed RA1 ed uscita la linea RA4. CICLO: BTFSC PORTA,0 GOTO RA0H RA0L: BCF PORTA,4 RA0H: BTFSS PORTA,1 GOTO RA0L BSF PORTA,4 12 ) Simulare una porta OR con ingressi le linee RA0 ed RA1 ed uscita la linea RA4. CICLO: BTFSS PORTA,0 GOTO RA0L RA0H: BSF PORTA,4 RA0L: BTFSC PORTA,1 GOTO RA0H BCF PORTA,4 13 ) Simulare una porta logica EXOR con ingressi le linee RA0 ed RA1 ed uscita la linea RA4 CICLO: BTFSS PORTA,0 GOTO RA0L RA0H: BTFSS PORTA,1 GOTO RA1L RA1H: BCF PORTA,4 RA0L: BTFSS PORTA,1 GOTO RA1H RA1L: BSF PORTA,4

14 ) Incrementare di uno, modulo 10, il valore della cifra decimale il cui codice ASCII e' contenuto nel registro d'indirizzo (20)16. INC: MOVLW 1 ADDWF 20h,F MOVLW 3Ah SUBWF 20h,W BTFSS STATUS,Z RETURN MOVLW 30h MOVWF 20h RETURN 15 ) Decrementare di uno, modulo 10, il valore della cifra decimale il cui codice ASCII e' contenuto nel registro d'indirizzo (20)16. DEC: MOVLW 1 SUBWF 20h,F MOVLW 2Fh SUBWF 20h,W BTFSS STATUS,Z RETURN MOVLW 39h MOVWF 20h RETURN 16 ) Supponendo che a partire dal registro d indirizzo (20)16 siano memorizzati i codici a sette segmenti delle cifre esadecimali da 0 ad F, inviare sulle sette linee d uscita da RB6 ad RB0 il codice a sette segmenti della cifra esadecimale che corrisponde al numero binario rappresentato dai segnali sulle quattro linee d ingresso RA3, RA2, RA1 ed RA0. CICLO: MOVLW MOVWF MOVF ANDLW ADDWF MOVF MOVWF GOTO 20h FSR PORTA,W 00001111B FSR,F INDF,W PORTB CICLO

Esercizi nel linguaggio assemblativo del microcontrollore PIC16F84: 1: Inviare sulla linea d'uscita RA4 la somma esclusiva tra i segnali presenti sulle otto linee d'ingresso da RB0 a RB7. MOVLW 8 MOVF PORTB,W MOVWF 30H BCF PORTA,4 MOVLW 00010000B CICLO: RRF 30H,F BTFSC STATUS,C XORWF PORTA,4 DECFSZ 20H 2: Incrementare di uno, modulo 100, il valore del numero il cui codice BCD e' contenuto nel registro d'indirizzo [FSR]. INCF INDF,F MOVLW 0FH ANDWF INDF,W SUBLW 0AH MOVLW 6 BT FSC STATUS,Z ADDWF INDF,F MOVLW 0A0H SUBWF INDF,W BTFSC STATUS,Z CLRF INDF 3: Decrementare di uno, modulo 100, il valore del numero il cui codice BCD e' contenuto nel registro d'indirizzo [FSR]. DECF INDF,F MOVLW 0FH ANDWF INDF,W SUBLW 0FH MOVLW 6 BTFSC STATUS,Z SUBWF INDF,F MOVLW 0F9H SUBWF INDF,W MOVLW 99H BTFSC STATUS,Z MOVWF INDF 4: Inviare sulle otto linee d'uscita da RB7 a RB0 la rappresentazione binaria del numero di fronti di discesa del segnale presente sulla linea d'ingresso RA4. CLRF PORTB RA4L: BTFSS PORTA,4 GOTO RA4L RA4H: BTFSC PORTA,4 GOTO RA4H INCF PORTB GOTO RA4L 5: Inviare sulla linea d'uscita RA4 un numero di fronti di discesa consecutivi pari al valore del numero binario letto dalle otto linee d'ingresso da RB7 a RB0. MOVF PORTB,W CICLO: BSF PORTA,4 BTFSC STATUS,Z GOTO FINE BCF PORTA,4 ADDLW 0FFH FINE: NOP 6: Supponendo che l'esecuzione di ogni istruzione del PIC16F84 richieda un microsecondo di tempo, inviare sulla linea d'uscita RA4 un impulso positivo della durata di circa 100 microsecondi. CICLO: BSF PORTA,4 MOVLW 48 DECFSZ 20H,F BCF PORTA,4 7: Supponendo che l'esecuzione di ogni istruzione del PIC16F84 richieda un microsecondo di tempo, inviare sulla linea d'uscita RA4 un impulso positivo della durata di circa 100 millisecondi. BSF PORTA,4 MOVLW 200 CICLO1: MOVLW 248 CICLO2: DECFSZ 21H,F 2 DECFSZ 20H,F 1 BCF PORTA,4 8: Inviare sulle otto linee d'uscita da RB7 a RB0 la rappresentazione binaria del numero di millisecondi durante i quali il segnale presente sulla linea d'ingresso RA4 permane a livello alto. CLRF PORTB RA4L: BTFSS PORTA,4 GOTO RA4L CICLO: MOVLW 250 ATTESA: NOP NOP DECFSZ 20H,F GOTO ATTESA INCF PORTB,F BTFSC PORTA,4 9: Inviare sulle tre linee d'uscita RA2, RA1 ed RA0 la rappresentazione binaria del numero della prima delle otto linee d'ingresso da RB0 a RB7 che si trova a livello alto. MOVF PORTB,W CLRF PORTA CICLO: RRF 20H,F BTFSC STATUS,C GOTO FINE INCF PORTA,F FINE: NOP 10: Inviare sulle otto linee d'uscita da RB7 a RB0 il codice BCD del numero binario presente sulle cinque linee d'ingresso da RA4 a RA0. CLRF PORTB MOVF PORTA,W CICLO: MOVLW 10 SUBWF 20H,W BTFSS STATUS,C GOTO FINE MOVLW 10H ADDWF PORTB,F FINE: ADDWF PORTB,F

11: Inviare sulle cinque linee d'uscita da RA4 a RA0 la rappresentazione binaria del numero minore di 32 il cui codice BCD è presente sulle otto linee d'ingresso da RB7 a RB0. MOVF PORTB,W ANDLW 0FH MOVWF PORTA MOVLW 10 MOVF PORTB,W RRF 21H,F RRF 21H,F RRF 21H,F RRF 21H,F MOVLW 0FH ANDWF 21H,W CICLO: ADDWF PORTA,F DECFSZ 20H,F 12: Inviare sulla linea d'uscita RA4 il segnale presente su quella delle otto linee d'ingresso da RB0 a RB7 il cui numero è indicato dal valore del numero binario presente sulle tre linee d'ingresso RA2, RA1 ed RA0. MOVF PORTB,W MOVF PORTA,W ANDLW 07H INCF 20H,F CICLO: RRF 20H,F DECFSZ 21H,F BCF PORTA,4 BTFSC STATUS,C BSF PORTA,4 13: Inviare il segnale presente sulla linea d'ingresso RA4 su quella delle otto linee d'uscita da RB0 a RB7 il cui numero è indicato dal valore del numero binario presente sulle tre linee d'ingresso RA2, RA1 ed RA0. MOVF PORTA,W ANDLW 07H INCF 20H,F MOVF PORTA,W RLF 21H,F RLF 21H,F RLF 21H,F RLF 21H,F CLRF PORTB CICLO: RLF PORTB,F DECFSZ 20H,F 14: Inviare sulle sette linee d'uscita da RB6 a RB0 il codice a sette segmenti della cifra decimale la cui rappresentazione binaria è presente sulle quattro linee d'ingresso da RA3 a RA0. MOVLW 01111110B MOVLW 00110000B MOVLW 01101101B MOVWF 22H ; ; MOVLW 01111011B MOVWF 29H MOVF PORTA,W ANDLW 0FH ADDLW 20H MOVW F FSR MOVF INDF,W MOVWF PORTB 15: Inviare sulle quattro linee d'uscita da RA3 a RA0 la rappresentazione binaria del valore della cifra decimale il cui codice a sette segmenti è presente sulle sette linee d'ingresso da RB6 a RB0. MOVLW 01111110B MOVLW 00110000B MOVLW 01101101B MOVWF 22H ; ; MOVLW 01111011B MOVWF 29H MOVLW 20H MOVWF FSR CICLO: MOVF PORTB,W ANDLW 01111111B SUBWF INDF,W BTFSC STATUS,Z GOTO FINE INCF FSR,F MOVLW 2AH SUBWF FSR,W MOVLW 20H BTFSC STATUS,Z MOVWF FSR FINE: MOVLW 20H SUBWF FSR,W 16: Inviare sulla linea d'uscita RA0 i livelli dei segnali presenti sulle otto linee d'ingresso da RB0 a RB7 rispettivamente, commutando il livello del segnale sulla linea RA0 dopo ogni fronte di salita del segnale presente sulla linea d'ingresso RA4. MOVF PORTB,W MOVLW 8 RA4H: BTFSC PORTA,4 GOTO RA4H RA4L: BTFSS PORTA,4 GOTO RA4L RRF 20H,F RLF PORTA,F DEFSZ 21H,F GOTO RA4H 17: Inviare sulle otto linee d'uscita da RB0 a RB7 rispettivamente, i livelli del segnale presente sulla linea d'ingresso RA0 dopo ogni fronte di discesa del segnale presente sulla linea d'ingresso RA4. MOVLW 8 RA4L: BTFSS PORTA,4 GOTO RA4L RA4H: BTFSC PORTA,4 GOTO RA4H RRF PORTA,W RRF 20H,F DEFSZ 21H,F GOTO RA4L MOVF 20H,W MOVWF PORTB 18: Azzerare tutti i registri d'indirizzo maggiore o uguale a (0C) 16. MOVLW 0CH MOVWF FSR CICLO: CLRF INDF INCF FSR,F MOVLW 50H SUBWF FSR,W BTFSS STATUS,Z

Rispondere alle seguenti domande: 1 ) Che cosa sono i sistemi digitali a logica cablata? Sono sistemi digitali il cui comportamento è legato alla loro struttura interna. 2 ) Che cosa sono i sistemi digitali a programma memorizzato? Sono sistemi digitali il cui comportamento è definito da un programma memorizzato al loro interno. 3 ) In quali categorie si suddividono i sistemi digitali a programma memorizzato? Microcontrollori, microcomputer dedicati, personal computer, server, mainframe e supercomputer. 4 ) Quali sono i principali componenti di un sistema digitale a programma memorizzato? Unità centrale d elaborazione e unità periferiche. 5 ) Quali sono i principali componenti dell unità centrale d elaborazione? Processore, memoria centrale, interfacce d ingresso-uscita e bus di sistema. 6 ) Dove si trovano i registri? Nel processore. 7 ) Dove si trovano le porte d ingressouscita? Nelle interfacce d ingresso-uscita. 8 ) Che cos è l indirizzo di una cella di memoria? E un numero che la identifica univocamente. 9 ) Che cosa contiene il registro Program Counter? L indirizzo della cella di memoria che contiene il codice dell istruzione da eseguire. 10 ) Che cosa contiene il registro Instruction Register? Il codice dell istruzione da eseguire. 11 ) Quale componente del processore ha il compito di eseguire il ciclo d interpretazione delle istruzioni? La logica di controllo e temporizzazione. 12 ) Che cos è l operazione d assemblaggio? E l operazione di traduzione in codice macchina della descrizione simbolica di una istruzione. 13 ) Che cos è un microcontrollore? E un circuito integrato che svolge i compiti dell unità centrale d elaborazione di un sistema digitale a programma memorizzato. 14 ) Com è organizzata la memoria programmi del microcontrollore PIC 16F84? In 1024 celle di 14 bit. 15 ) Com è organizzata la memoria dei dati del microcontrollore PIC 16F84? In 68 registri di 8 bit. 16 ) Quante sono le linee d ingresso-uscita del microcontrollore PIC 16F84? Tredici.

17 ) Che cosa contiene il bit 0 del registro STATUS? Il flag carry. 18 ) Che cosa rappresenta il valore del bit 0 del registro PORTA? Il livello del segnale sulla linea RA0. 19 ) Che cosa rappresenta il valore del bit 0 del registro TRISA? Il verso del segnale sulla linea RA0. 20 ) Come si selezionano i registri TRISA e TRISB? Ponendo ad uno il bit RP0 del registro STATUS. 21 ) Quale operazione è rappresentata dall istruzione MOVF 20H,W? W = [20h]. 22 ) Quale operazione è rappresentata dall istruzione? [20h] = W. 27 ) Quale operazione è rappresentata dall istruzione XORWF 20H,W? Per i = 0..7: W(i) = W(i) xor [20h](i). 28 ) Quale operazione è rappresentata dall istruzione BSF 20H,0? [20h](0) = 1. 29 ) Quale operazione è rappresentata dall istruzione BTFSS 20H,0? Se [20h](0) = 1 allora PC = PC + 1. 30 ) Quale operazione è rappresentata dall istruzione GOTO 100H? PC = (100) 16. 31 ) Quale operazione è rappresentata dall istruzione CALL 100H? TOS = PC; PC = (100) 16. 32 ) Quale operazione è rappresentata dall istruzione RETURN? PC = TOS. 23 ) Quale operazione è rappresentata dall istruzione ADDWF 20H,W? W = ([20h] + W) modulo 256. 24 ) Quale operazione è rappresentata dall istruzione SUBWF 20H,W? W = ([20h]-W) modulo 256. 25 ) Quale operazione è rappresentata dall istruzione ANDWF 20H,W? Per i = 0..7: W(i) = W(i) and [20h](i). 26 ) Quale operazione è rappresentata dall istruzione IORWF 20H,W? Per i = 0..7: W(i) = W(i) or [20h](i).