• Aucun résultat trouvé

TP Horloge Interne

N/A
N/A
Protected

Academic year: 2022

Partager "TP Horloge Interne"

Copied!
2
0
0

Texte intégral

(1)

TP Horloge Interne

Lycée Fourcade 13120 Gardanne Académie d’Aix-Marseille – PICs 1 / 2 A partir de :

MPLAB et carte de simulation ISIS CARTE_TEST_PIC18F4620.DSN DataSheet PIC18F4620

Programme flashIT_demo_horloge.c (voir annexe) Programme init_horloge_interne.c (voir annexe)

1) MODE HORLOGE EXTERNE

En mode oscillateur externe, la fréquence de l’oscillateur du PIC sur ISIS est définie dans les propriétés du composant.

Pour choisir la valeur de l’horloge externe, sur carte de simulation CARTE_TEST_PIC18F4620.DSN, faire clic-droit sur le composant puis dans les propriétés configurer la fréquence de l’oscillateur externe à 4Mhz (FOSC), quelle sera alors le temps de cycle machine (TCY) ?.

Le programme flashIT fait clignoter la LED, la demi-période est fixée par le TIMER0.

- Dé-commenter la ligne #pragma config OSC = XT - Commenter la ligne init_horloge_interne();

- Retirer le fichier init_horloge_interne.c du projet s’il est présent.

Que signifie #pragma config OSC = XT ( voir dans Help – Topics – PIC18 config settings ) ? A partir de la valeur placée dans le registre T0CON, donnez la demi-période sur la LED, puis la période.

Tester maintenant le programme flashIT.c et vérifier la valeur de cette période à l’aide de l’oscilloscope.

Modifier la fréquence de l’oscillateur externe en 8Mhz. Quelle période de clignotement doit-on obtenir ? Vérifier expérimentalement.

2) MODE HORLOGE INTERNE

En mode oscillateur interne la fréquence FOSC sur ISIS est définie dans le programme, elle est basée sur l’oscillateur interne 8Mhz du PIC, la fréquence définie dans les propriétés du composant n’est plus considérée.

Commenter la ligne #pragma config OSC = XT Dé-commenter la ligne init_horloge_interne();

Ajouter le fichier init_horloge_interne.c au projet. (ce fichier sera maintenant compilé avec flashIT.c)

Ouvrir le fichier init_horloge interne.c, le lire

Rechercher dans MPLAB help-topics-PIC config settings la signification des prama

#pragma config OSC = INTIO67

#pragma config WDT = OFF

#pragma config LVP = OFF

#pragma config PBADEN = OFF

Rechercher dans le datasheet du PIC les registres OSCCON et OSCTUNE. (Paragraphe OSCILLATOR CONFIGURATIONS )

Quels sont les rôles des bits IRCFx, PLLEN, SCSx

Indiquer en fonction des valeurs programmée dans la fonction void init_horloge_interne(void) la fréquence FOSC et FCY (FCY = FOSC/4) du PIC. En déduire la période attendue sur la LED. Vérifier expérimentalement.

Desactiver la PLL et configurer maintenant le registre OSCON de manière à disposer d’une horloge interne (FOSC) de 4Mhz et mesurer la période sur la LED

Configurer maintenant le registre OSCON et OSCTUNE de manière à disposer d’une horloge interne à 125Khz et mesurer la période sur la LED. Conclure.

(2)

TP Horloge Interne

Lycée Fourcade 13120 Gardanne Académie d’Aix-Marseille – PICs 2 / 2

Programme init_horloge_interne.c

// initialisation horloge PIC

#pragma config OSC = INTIO67 //pour INTRC-OSC2 as RA6, OSC1 as RA7

#pragma config WDT = OFF //pour watch dog timer disable

#pragma config LVP = OFF //pour low voltage program disable

void init_horloge_interne(void) {

#if defined(__18F4620)|| defined (__18F2620) OSCCONbits.IRCF2=1;

OSCCONbits.IRCF1=1;

OSCCONbits.IRCF0=1;

OSCTUNEbits.PLLEN=1;

OSCCONbits.SCS1=0;

OSCCONbits.SCS0=0;

ADCON1=0x0F;

}

Programme flashIT.c

// CD 09/2011

// FLASHIT.c clignotement de la LED

#include <p18f4620.h>

#pragma config PBADEN=OFF

#pragma config OSC = XT // a commenter si horloge interne

#define LED PORTBbits.RB1

#define TRISLED TRISBbits.TRISB1

#pragma interrupt traiteIT void traiteIT(void)

{

if(INTCONbits.TMR0IF) {

LED = !LED; //bascule LED INTCONbits.TMR0IF = 0;

} }

#pragma code it=0x08 void saut_sur_spIT(void) {

_asm goto traiteIT _endasm }

#pragma code

void main() {

// init_horloge_interne(); // decommenter si horloge interne TRISLED = 0;

LED = 0;

T0CON = 0x82;

INTCONbits.TMR0IE = 1;

INTCONbits.GIEH = 1;

while(1);

}

Références

Documents relatifs

L’énergie électrique d’un électron traversant la jonction a pour expression E électron = e × U avec U la tension aux bornes de la diode.. Mesure de la tension de

We now shall prove t h a t an arbitrary stationary process is the stun of two uncorrelated components, one deterministic and the other completely non-

ASTUCE : Si vous changez la box Internet, configurez le Wifi 2,4 Ghz de la nouvelle box avec le même nom (SSID) et le même mot de passe que l’ancienne box, les modules Doowifi se

Il faut donc utiliser la fonction valeurs_u qui renvoie tous les termes de la somme dans un vecteur puis utiliser la fonction cumsum sur le résultat de

- A partir du data sheet du P18F4620, justifier la valeur 0x82 du registre T0CON, détailler pour chaque bit de ce registre sa fonction et justifier la valeur attribuée (0 ou 1). -

Programmer cet algorithme sur votre calculatrice et le tester avec plusieurs valeurs. Ecrire un algorithme permettant de calculer les coordonnées du milieu

Puis, il faut multiplier le résultat de l'étape 1 par la valeur en volt d'un carreau et trouver ainsi la valeur en volt de Um (tension maximale). Sur l'axe des abcisses (l'axe du bas)

Exemple, dans le cas du secteur de fréquence f= 50 Hz, la tesnion sinusoïdale alternative périodique se répète 50 fois par seconde (du moins c'est sont plus petit motif qui se