Bienvenue, Visiteur |
Vous devez vous enregistrer avant de pouvoir poster.
|
Utilisateurs en ligne |
Il y a actuellement 13 utilisateurs connectés. » 0 Membre(s) | 13 Visiteur(s)
|
Derniers sujets |
سلسلة دورات للمهندسين الع...
Forum : Microcontrôleurs
Dernier message : MicroChip
06-02-2020, 10:05 AM
» Réponses : 0
» Affichages : 1,303
|
Tutoriel 02 PIC16F727 (pa...
Forum : Microcontrôleurs
Dernier message : MicroChip
05-22-2020, 02:55 PM
» Réponses : 0
» Affichages : 1,138
|
Tutoriel N° 2 : programma...
Forum : Microcontrôleurs
Dernier message : MicroChip
05-21-2020, 09:10 AM
» Réponses : 0
» Affichages : 1,439
|
Pic 16F727 tutoriel 01 re...
Forum : Microcontrôleurs
Dernier message : admin
05-20-2020, 08:24 PM
» Réponses : 0
» Affichages : 970
|
Tutoriel 02 : Configurati...
Forum : Microcontrôleurs
Dernier message : admin
05-18-2020, 12:14 PM
» Réponses : 0
» Affichages : 1,728
|
Configuration des registr...
Forum : Microcontrôleurs
Dernier message : admin
05-18-2020, 11:40 AM
» Réponses : 0
» Affichages : 1,056
|
|
|
Tutoriel 02 PIC16F727 (partie 2 ) |
Posté par : MicroChip - 05-22-2020, 02:55 PM - Forum : Microcontrôleurs
- Pas de réponse
|
 |
Tutoriel 02 PIC16F727 (partie 2 )
Code : // etape 1 configuration des registres :
// PIC16F727 Configuration Bit Settings
// 'C' source line config statements
// CONFIG1
#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19 // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))
// CONFIG2
#pragma config VCAPEN = DIS // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
#define sortie 0
#define entree 1
#define ON 0
#define OFF 1
#define LED_D16 PORTCbits.RC0
#define LED_D11 PORTEbits.RE0
#define LED_D12 PORTEbits.RE1
#define LED_D13 PORTEbits.RE2
#define _XTAL_FREQ 16000000 // T = 1/f = 1 / 16 000 000 = 62.5 ns
// declaration des fonctions
void cmd_led( unsigned int valeur_tempo);
void tempo(unsigned int valeur_ms);
// programme principale
void main (void)
{
// la valeur de la féquence de l'osc
// fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
OSCCONbits.IRCF1 = 1 ;
OSCCONbits.IRCF0 = 1 ;
// configuration port E :
// les trois branche E2,E1, et E0 sont de type numérique
ANSELEbits.ANSE2 = 0 ;
ANSELEbits.ANSE1 = 0 ;
ANSELEbits.ANSE0 = 0 ;
// les trois branche E2,E1, et E0 sont des sorties
TRISEbits.TRISE2 = 0 ;
TRISEbits.TRISE1 = 0 ;
TRISEbits.TRISE0 = 0 ;
// Mettre le port E OFF
LED_D11 = OFF ; // etat haut --> led RD11 off
LED_D12 = OFF ; // etat haut --> led RD12 off
LED_D13 = OFF ; // etat haut --> led RD13 off
while (1)
{
PORTE = 0b111 ; // toutes les leds RD11,12 et 13 sont off
__delay_ms(250);
for (int i = 0 ; i < 3 ; i++ )
{
PORTE = PORTE <<1 ; // 0b110
__delay_ms(250); // attente de 500 ms
}
}
}
|
|
|
Tutoriel N° 2 : programmation PIC16F727 |
Posté par : MicroChip - 05-21-2020, 09:10 AM - Forum : Microcontrôleurs
- Pas de réponse
|
 |
Tutoriel N° 2 : programmation PIC16F727 sous MPLABX compilateur XC8
Gestion des entrées et sorties
Création d'une fonction
Piloter trois LEDs sur le même port
Code : // etape 1 configuration des registres :
// PIC16F727 Configuration Bit Settings
// 'C' source line config statements
// CONFIG1
#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19 // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))
// CONFIG2
#pragma config VCAPEN = DIS // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
#define sortie 0
#define entree 1
#define ON 0
#define OFF 1
#define LED_D16 PORTCbits.RC0
#define LED_D11 PORTEbits.RE0
#define LED_D12 PORTEbits.RE1
#define LED_D13 PORTEbits.RE2
#define _XTAL_FREQ 16000000 // T = 1/f = 1 / 16 000 000 = 62.5 ns
// declaration des fonctions
void cmd_led( unsigned int valeur_tempo);
void tempo(unsigned int valeur_ms);
// programme principale
void main (void)
{
// la valeur de la féquence de l'osc
// fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
OSCCONbits.IRCF1 = 1 ;
OSCCONbits.IRCF0 = 1 ;
// configuration port E :
// les trois branche E2,E1, et E0 sont de type numérique
ANSELEbits.ANSE2 = 0 ;
ANSELEbits.ANSE1 = 0 ;
ANSELEbits.ANSE0 = 0 ;
// les trois branche E2,E1, et E0 sont des sorties
TRISEbits.TRISE2 = 0 ;
TRISEbits.TRISE1 = 0 ;
TRISEbits.TRISE0 = 0 ;
// Mettre le port E OFF
LED_D11 = OFF ; // etat haut --> led RD11 off
LED_D12 = OFF ; // etat haut --> led RD12 off
LED_D13 = OFF ; // etat haut --> led RD13 off
while (1)
{
cmd_led(150);
}
}
// la fonction commande led
void cmd_led( unsigned int valeur_tempo)
{
for (int i = 0 ; i < 3; i ++) // boucle x 3
{
LED_D11 = ON ; // 4 x periode = 250
tempo(valeur_tempo) ;
LED_D12 = ON ;
tempo(valeur_tempo);
LED_D13= ON ;
tempo(valeur_tempo);
}
LED_D11 = OFF ; // etat haut --> led RD11 off
LED_D12 = OFF ; // etat haut --> led RD12 off
LED_D13 = OFF ; // etat haut --> led RD13 off
tempo(valeur_tempo); // tempo 250 ms
}
// la fonction tempo
void tempo(unsigned int valeur_ms)
{
for (int i = 0 ; i < valeur_ms ; i++ )
{
__delay_ms(1);
}
}
|
|
|
Pic 16F727 tutoriel 01 registres + horloge + clignoter une led |
Posté par : admin - 05-20-2020, 08:24 PM - Forum : Microcontrôleurs
- Pas de réponse
|
 |
Je vous mis en ligne le premier tutoriel sur la programmation du pic16F727.
Le sujet de ce tutoriel :
Configuration des registres
Configuration de l'horloge
Gestion des IO
Commander une Led
Faire clignoter une led
Code : // etape 1 configuration des registres :
// PIC16F727 Configuration Bit Settings
// 'C' source line config statements
// CONFIG1
#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19 // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))
// CONFIG2
#pragma config VCAPEN = DIS // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
#define sortie 0
#define entree 1
#define ON 0
#define OFF 1
#define LED_D16 PORTCbits.RC0
#define _XTAL_FREQ 16000000
void main (void)
{
// la valeur de la féquence de l'osc
// fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
OSCCONbits.IRCF1 = 1 ;
OSCCONbits.IRCF0 = 1 ;
// allumer la led D16 --> rc0
TRISCbits.TRISC0 = sortie ;
// Mettre la sortie RC à 0
// PORTCbits.RC0 = 0 ;
while (1)
{
// le programme en boucle
LED_D16 = ~LED_D16;
__delay_ms(250);
}
}
|
|
|
Configuration des registres du microcontrôleur PIC18F45K20 |
Posté par : admin - 05-18-2020, 11:40 AM - Forum : Microcontrôleurs
- Pas de réponse
|
 |
Salam o3alykom
Je vous souhaite le bienvenue dans mon forum, je vous mis en ligne le premier tutoriel sur la programmation embarquée des microcontrôleurs.
j'ai choisi le PIC18F45K20 pour débuter.
j’espère que ça sera utile et ça permettra d'aider toutes personnes intéressées par l'apprentissage de la programmation embarquée.
Ci-dessous la première video : TUTORIEL N° 1
Le sujet du cours concerne la configuration des registres internes du microcontrôleur , j'ai choisi de commencé par ce sujet vu que c'est une partie essentielle avant de débuter la programmation des different périphériques du microcontrôleur.
|
|
|
|