• Aucun résultat trouvé

C.Dupaty 11/2009 Page 1

N/A
N/A
Protected

Academic year: 2022

Partager "C.Dupaty 11/2009 Page 1"

Copied!
2
0
0

Texte intégral

(1)

TP SP1 PIC18

C.Dupaty 11/2009 Page 1

Objectifs : Mise en œuvre du bus SPI d’un P18F2620 Mise en oeuvre d’un ADC 12bits MCP4821 (interface SPI)

A partir de : DataSheet P18F2620, MCP4821, MPLAB 8.x, PROTEUS/ISIS 7.4x

Ci-dessous le schéma structurel d’un montage mettant en œuvre un P18F2620 et un MCP4821 La sortie de l’ADC est reliée à l’oscilloscope du simulateur ISIS.

1) Justifier le câblage entre le uC et l’ADC (SCK, /CS, SDI)

2) Justifier le câblage des broches /LDAC et /SHDN du MCP4821 3) Configurer un projet dans MPLAB :

Compilateur C18 Debugger ISIS

Cible : P18F2620 en mode horloge interne (TOSC=32MHz, TCycle=8MHz) 4) On désire réaliser un programme produisant des rampes de tensions sur VS

Le fichier source ci-après est à compléter (remplacer les ??????)

VDD VSS

VSS

VSS VS

12345

J4

ICD2

VDD

VSS 1

2

J1

CONN-SIL2 VDD

VSS

C1

100nF

C2

100nF

R9

10k

R10

10k

VDD

VSS RA4/T0CLKI/C1OUT

6

RA5/AN4/SS/HLVDIN/C2OUT 7

RA6/OSC2/CLKO 10

RB0/AN12/INT0/FLT0 21

RB1/AN10/INT1 22

RB2/AN8/INT2 23

RB3/AN9/CCP2A 24

RB4/AN11/KBI0 25

RB5/KBI1/PGM 26

RC0/T1OSO/T13CKI 11 RC1/T1OSI/CCP2B 12 RC2/CCP1 13 RC3/SCK/SCL 14 RC4/SDI/SDA 15 RC5/SDO 16 RC6/TX/CK 17 RC7/RX/DT 18

RE3/MCLR/VPP 1 RB6//KBI2/PGC

27

RB7/KBI3/PGD 28

RA7/OSC1/CLKI 9

RA0/AN0/C1IN- 2

RA1/AN1/C2IN- 3

RA2/AN2/C2IN+/VREF-/CVREF 4

RA3/AN3/C1IN+/VREF+

5

U1

PIC18F2620

3 SCK 2 CS 4 SDI 5 LDAC

VOUTA 8

SHDN 6

U2

MCP4821

VSS

VDD

A B C D

(2)

TP SP1 PIC18

C.Dupaty 11/2009 Page 2

// init_horloge_interne.c doit être compilé dans le même projet

#include <p18f2620.h>

#define CS PORTCbits.RC2

#define TRIS_CS TRISCbits.TRISC2

void initSPI_emission(void) // initialisise SPI sur PIC18 {

DDRCbits. ???=0; //SCK en sortie DDRCbits. ???=0; //SDO en sortie

SSPSTAT=0b????????; //echantillonne au milieu de la donnée, sur front montant SSPCON1=0b????????; // active SPI MASTER, IDLE=0, clock=FOSC/4

PIR1bits.SSPIF=0; // efface drapeau d'emission SSPIF TRIS_CS=0 ; // signal CS

CS= ?; // niveau de repos de CS }

void emet_SPI(unsigned int n) // envoie synchro, pouls et spo2 {

unsigned char forts,faibles;

forts=n>>8; // recupere poids forts faibles=n|0x0F; // recupere poids faibles CS=0; // debut transmission

forts|=0b????????; // Sortie MCP4821 activee G=2 // forts|=0b????????; // Sortie MCP4821 activee G=1

SSPBUF=forts;

while(!PIR1bits.SSPIF); // attend la fin de l'émission PIR1bits.SSPIF=0;

SSPBUF=faibles; // emmision

while(!PIR1bits.SSPIF); // attend la fin de l'émission PIR1bits.SSPIF=0;

CS=1; // fin transmission, d=buffer en sortie du MCP4821 }

void main(void) {unsigned int a;

init_horloge_interne();

initSPI_emission();

while(1) // demo, generateur de rampes {

for (a=0;a<=????;??) {

emet_SPI(a);

} }

}

Références

Documents relatifs

Pour commencer, camp de base en Loire Atlantique à la Baule, la plus belle baie d'Europe, oui mais nous avons préféré la Côte Sauvage et les multiples pointes pittoresques, voilà

[r]

iv. l'article XI:1 du GATT de 1994 parce que les mesures en cause, qui limitent et élimineront progressivement les biocarburants dérivés du palmier à huile dans la comptabilisation

Les services d’un pourvoyeur (voir page 26) sont requis pour chasser dans cette partie de zone, sauf pour les résidents de Schefferville qui chassent dans le secteur ouest de la

Développement végétatif : Début Récolte sur Folfer, récolte toujours en cours sur Burlat Piqures de D.Suzukii observés sur Folfer et Summit.. Forte pression de Moniliose

La pression en pucerons se maintient à un niveau faible : Des pucerons ont été observés sur 2 parcelles au stade pré-récolte à récolte, il s’agit d’attaques de

Avec une connexion WI-FI et un forfait téléphonique suffisant pour faire une connexion partagée avec votre ordinateur (réseau wi-fi très faible à Firfol en attendant la fibre

Agir pour un développement durable intégré dans la gestion des ressources humaines Etre une ville éco responsable qui œuvre pour un management durable des services.. Poursuivre