CIRCUITO DI TEST E SOFTWARE UTILIZZATI



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

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

Lezione 8. Figura 1. Configurazione del registro INTCON

PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET

MICROCONTROLLORE PIC16F84A

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

Applicazioni dei microcontrollori PIC

Esercizi di verifica del debito formativo:

ESERCIZI SUI SISTEMI DI NUMERAZIONE

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

Lezione 2. Figura 1. Schema del circuito necessario per le prove

; Registro abilitazione interrupt TR_A EQU 85H ; Tris A TR_B EQU 86H ; Tris B

Lezione 6 L'hardware dedicato.

APPUNTI SUL PIC16F84

PROGRAMMAZIONE ASSEMBLER

PIC Esempi - LED. Per i primi esempi viene utilizzato soltanto un LED sulla porta B (PortB), successivamente si utilizzano più LED.

GESTIONE DEI TEMPI CON IL TIMER1 DEL PIC16F876

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

Il µcontrollore PIC 16F84

SISTEMA DI SVILUPPO MC-16

Introduzione ai microcontrollori PIC

Programmazione del microcontrollore PIC 16F84

Marcia e Arresto di un Motore elettrico

Pilotare un motore passo-passo, in questo caso il modello della Sanyo le cui caratteristiche principali sono quelle di figura1.

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino

Progetto di Microcontrollori. Cronotermostato per Caldaia

Capitolo X del Testo Ettore Panella Giuseppe Spalierno Corso di Elettronica 3 Edizioni Cupido MICROCONTROLLORE PIC 16F84

DISPLAY LCD HD44780U(LCD-II)

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

ITIS MAX PLANCK ( Lancenigo di Villorba )

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S La programmazione dei PIC.

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

1 Istruzioni Assembler

I PIC Partendo da Zero By link_89

TUTORIAL: COME USARE UN LM35 PER MISURARE UNA TEMPERATURA SU TUTTA LA SCALA CENTIGRADA

Che cos è la barriera luminosa?

G&G ESEMPIO1 PROGRAMMAZIONE Progetto FACILEPLC Pag. 1 di 6

LABORATORIO DI SISTEMI

Programmazione di LCD su EasyPic5

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

ZIMO. Decoder per accessori MX81. Manuale istruzioni del. nella variante MX81/N per il formato dei dati NMRA-DCC

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

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

INTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI

Manuale IT_VNA by IZ1PMX

NOZIONI BASE DI ASSEMBLER PER PIC16C84

progettare & costruiredi ETTORE PICCIRILLO

ALBRE24R2M3A. Descrizione pagina 2. Specifiche tecniche pagina 3. Layout pagina 4, 5. Mappe di cablaggio pagine 6, 7. Dimensioni pagina 8

OSCILLATORI AL QUARZO: CONTASECONDI

ESERCIZI NEL LINGUAGGIO ASSEMBLATIVO DEL MICROCONTROLLORE PIC 16F84

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

Sistemi di Elaborazione a Microprocessore (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda

minipic programmer / debugger per microcontrollori PIC Marco Calegari

Arduino: Programmazione

DISPLAY REMOTO PILOTATO DALLA SERIALE. LCD_SERv10

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione

Registratore Dati Umidità e Temperatura

I microcontrollori. In sostanza i pic hanno le seguenti caratteristiche:

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

8 Microcontrollori PIC

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

Architettura dei Calcolatori Parte Operativa e Parte Controllo

DEDALO. Motori passo-passo Ruota motrice n.1 Ruota motrice n.2. Ruota di snodo. avanti

ESERCIZI - SERIE N.1

Lampeggiatore con timer 555

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso

Introduzione ai PICmicro

CORSO di AUTOMAZIONE INDUSTRIALE

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

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

Interfaccia radio ricevente

La tecnica DDS. Un generatore di toni DTMF

Routeur Mobile MR600. Guida d'installazione

La propagazione della luce in una fibra ottica

Categorie di sistemi Digitali

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Automobile Bluetooth

Il PLC per tutti PRATICA

VFO esterno per Drake TR4-C di IK0XUH Boatanchors Net di Roma

Architettura del PIC 18F452

Panasonic TVP 200. Technical Reference Guide n Business Communication PBX Section mar. 00 Rev. -

Microcontrollori PIC Teoria, Esperimenti, Esercizi HARDWARE DEL PIC SOFTWARE DEL PIC MPLAB MEMORIA PORTE-IO TIMER DISPLAY AUDIO ADC INTERRUPT EEPROM

PICLOCK. Classe 4 EA indirizzo elettronica ed elettrotecnica. Ivancich Stefano. Tecnologie e progettazione di sistemi elettrici ed elettronici

M1600 Ingresso/Uscita parallelo

INFORMATIVA AVVERTENZE

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè

NTC E MISURA DELLA TEMPERATURA CON ARDUINO

The Brauduino Manual

Routeur Mobile MOR600 Guida d'installazione

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:

Chapter 1. Circuiti sequenziali: macchine a stati

D sistema d allarme con sensori magnetici

Rappresentazione grafica di un sistema retroazionato

UNITA DI ALLARME X1 RedDetect system MANUALE UTENTE

Transcript:

CIRCUITO DI TEST E SOFTWARE UTILIZZATI Circuito di Test Nello schema elettrico di figura A è rappresentato un circuito, realizzabile anche senza l ausilio di un circuito stampato, che consente di testare alcune delle possibilità offerte dal Microcontrollore PIC 16C54. Come si può osservare si è utilizzato un oscillatore a quarzo (XT type). I pin RTCC e MCLR sono stati disabilitati, per mezzo di una resistenza di pull-up da 4,7K. La porta A del microcontrollore viene utilizzata come input. Un dip switch a quattro posizioni consente di configurare 16 possibili combinazioni in ingresso. La porta B del microcontrollore viene utilizzata come output. Ciascun porto di uscita è collegato a un buffer costituito da un transistor il quale fornisce la corrente di pilotaggio necessaria ad accendere un diodo led. Ciò è stato fatto per non caricare le uscite del microcontrollore, poiché la massima corrente di uscita di ogni porto di I/O é dello stesso ordine di grandezza della corrente necessaria al pilotaggio di un led. La capacità C3, che costituisce un filtro di alimentazione per il microcontrollore e inibisce fenomeni di auto oscillazione. Tale capacità è efficace solo se montata nelle vicinanze dei pin di alimentazione del controllore. Il circuito descritto, anche se molto semplice, consente di testare programmi anche discretamente complessi. Di seguito si riportano i programmi che sono stati testati sul circuito realizzato. La routine delay ha un ritardo di circa 1 secondo con un quarzo da 4MHz. 0

Figura A 1

TITLE 'lampeggio di un led (LED2.ASM)' LIST P=16C54 ;device scelto SET_P_B EQU 000H SET_P_A EQU 00FH TIM0 EQU 79H ;50mS = 79H TIM1 EQU 10H ;1 SECONDO = 10H F25 EQU 19H ;RITARDO 1 SECONDO F26 EQU 1AH ;RITARDO 1 SECONDO F27 EQU 1BH ;RITARDO 1 SECONDO PORT_A EQU 5 PORT_B EQU 6 ORG 0 OPTION ;ROUTINE DI RITARDO 1 S DELAY1 MOVLW TIM1 MOVWF F25 DEL2S MOVLW TIM0 MOVWF F26 DEL2A MOVWF F27 DEL2B DECFSZ F27 GOTO DEL2B DECFSZ F26 GOTO DEL2A DECFSZ F25 GOTO DEL2S RETLW 0 MAIN MOVLW SET_P_A TRIS PORT_A MOVLW SET_P_B TRIS PORT_B MOVWF PORT_B ;PORTA A, definizione I/O ;A0..A3 IN A4..A7 OUT ;PORTA B, definizione di I/O (B = OUT) ;tutti i pin di B a zero MAIN1 BTFSC PORT_B,0 ;testa porta B bit 0, ;skippa se zero GOTO SETTA ;vai a SETTA BSF PORT_B,0 ;setta a 1 bit 0 di porta B CALL DELAY1 ;ritardo di un secondo GOTO MAIN1 ;torna a MAIN1 SETTA BCF PORT_B,0 CALL DELAY1 GOTO MAIN1 ;setta a 0 bit 0 di porta B ;torna a MAIN1 DATA "LAMPEGGIO DI UN LED" ORG 01FFh GOTO MAIN END 2

TITLE 'scansione dei led (LED3.ASM)' LIST P=16C54 ;device scelto STATUS EQU 003H ;RIDENOMINAZIONE DEL REGISTRO DI STATO SET_P_B EQU 000H TIM0 EQU 79H ;50mS = 79H TIM1 EQU 10H ;1 SECONDO = 10H F25 EQU 19H ;RITARDO 1 SECONDO F26 EQU 1AH ;RITARDO 1 SECONDO F27 EQU 1BH ;RITARDO 1 SECONDO PORT_B EQU 6 LED EQU 1 ;00000001 ORG 0 OPTION ;ROUTINE DI RITARDO 1 S DELAY1 MOVLW TIM1 MOVWF F25 DEL2S MOVLW TIM0 MOVWF F26 DEL2A MOVWF F27 DEL2B DECFSZ F27 GOTO DEL2B DECFSZ F26 GOTO DEL2A DECFSZ F25 GOTO DEL2S RETLW 0 Per le istruzioni di rotazione (RRF,RLF) il BIT C del registro di stato è caricato con l' uno o l'altro dei BIT più o meno significativi del registro sorgente. MAIN MOVLW SET_P_B ;CARICA IN W IL CONTENUTO DI SET_P_B TRIS PORT_B ;PORTA B, definita come uscita CLRW ;AZZERA W MOVWF PORT_B ;AZZERA LE USCITE DELLA PORTA B; MAIN1 MOVLW LED ;CARICA IN W IL CONTENUTO DI LED MOVWF PORT_B ;SPOSTA DA W A PORT_B CICLE RLF PORT_B,1 ;RUOTA A SINISTRA PORT_B BCF PORT_B,0 ;IL BIT 0 DELLA PORTA B E' POSTO A ZERO BTFSS PORT_B,7 ;CONTROLLA IL BIT 7 DI PORT_B GOTO CICLE ;VAI A CICLE CICLE1 RRF PORT_B,1 ;RUOTA A DESTRA PORT_B BTFSS PORT_B,0 ;CONTROLLA IL BIT 0 DI PORT_B GOTO CICLE1 ;VAI A CICLE1 GOTO CICLE ;VAI A CICLE ; ; ORG 01FFH ; ; GOTO MAIN 3

END ; In the Demo board, PORTB is connected to 8 LEDs. (TASTO.ASM) ; RA1 is connected to a switch (S3). ; This program increments the file register ;count each time S3 is pressed. ; The value of count is displayed on the LEDs conected to PORTB. ; Net result is that LEDs should increment in a binary manner every time S3 is ; pressed. list p=16c54, f=inhx8m PIC54 equ 1FFH ; Define Reset Vectors PORT_A equ 5h PORT_B equ 6h ; I/O Port Assignments COUNT equ 010H org 00h Start movlw 0FFH ; W=FFh (*) tris PORT_A ; config port A as input (*) movlw 0 tris PORT_B ; config port B as output movwf PORT_B ; port B set to zero clrf COUNT ; clear register count Loop btfss PORT_A,1 ; see if RA1 pressed goto IncCount ; yes then inc count Endloop goto Loop ; else check again IncCount incf COUNT movf COUNT,w ; placed COUNT in W movwf PORT_B ; display on port b Debounce btfss PORT_A,1 ; wait for key release goto Debounce ; not release then wait Enddebounce goto Loop ; else check key press again org PIC54 ; reset vector goto Start end ; I registri di I/O possono essere scritti e letti sotto il controllo del ; programma similmente agli altri registri per uso generale. ; Comunque le istruzioni di lettura (come MOVF PORTB,W) leggono SEMPRE i ; PIN di I/O nonostante che un PIN sia definito come INPUT o come OUTPUT. ; Dopo una condizione di RESET tutte le porte di I/O sono definite come ; in ingresso (e dunque in alta impedenza), cosi come i registri di ; controllo I/O (TRIS A, TRIS B e TRIS C) sono tutti posti a uno. ; L'esecuzione di un TRIS f con i corrispondenti 0 nel registro W é ; indispensabile per definire gli I/O in uscita. Mentre non lo è per ; definire gli I/O in ingresso (nel programma esposto sopra le linee (*) ; si possono omettere. 4